嵌入式BSP开发工作列表(2020.09-2022.10)

目录

简述

I2C Slave驱动

引入国产新Cortex-M4 MCU和新版本实时操作系统

Cortex-A7 MPU相关

Linux内核从4.19.90升级至5.10

独立IC驱动

NFC读卡器IC驱动实现

外部器件控制

生产线测试程序

搭建算法验证环境


简述

        负责5块单板的BSP开发,3个重要特性(安全启动、USB Device、NFC)的开发,其他23个特性的开发。

I2C Slave驱动

  • 一国产Cortex-M4 MCU I2C Slave驱动开发,承载虚拟EEPROM和虚拟外扩GPIO的功能。(2020.12)

引入国产新Cortex-M4 MCU和新版本实时操作系统

  • 新MCU的I2C Master驱动、定时器驱动、片内Flash驱动开发。(2020.11)
  • 新实时操作系统的CPU使用率功能优化、RAM使用率封装。(2021.01)
    修改实时操作系统,把CPU使用率的时间来源从Cortex-M4 SysTick定时器切换为MCU通用定时器,线程耗时统计不受Tick负载影响,CPU使用率数据更精确。
  • 基于mbedTLS RSA和MCU片内Flash OTP区域实现M4 MCU安全启动流程。(2021.02)
  • USB Device驱动抽离通用的状态机实现,快速适配不同品牌MCU的差异。对同一USB设计IP核效果极佳。(2021.09)

Cortex-A7 MPU相关

  • 新Cortex-A7单板U-Boot、Linux设备树配置。
  • MPU内置ADC采样耗时分析。(2021.12)
  • U-Boot更换开机显示的彩色Logo图。

Linux内核从4.19.90升级至5.10

  • 利用Linux内核启动参数修改内核安全配置与高精度定时器配置。
  • 利用perf工具分析不同版本Linux内核open()耗时差异。
  • 运用Linux中断和锁的知识,识别MPU串口自研内核驱动的中断误用互斥锁的缺陷并纠正。
  • 自研新增netlink类型。新增Flash擦除次数统计内核驱动,对用户空间程序提供socket绑定服务和上报Flash擦除动作,对Flash内核驱动提供上报擦除动作的内核符号。
  • 修改SPI NAND Flash内核驱动,新增擦除上报操作。
  • 设备树抽离公共部分,新增单板减少配置工作量。
  • 编译环境升级编译器、标头和库,修改工程构建脚本以使用新版本编译环境,修改BSP升级脚本以支持升级新版本Linux内核。

独立IC驱动

  • 重构SPI NOR Flash驱动关于Flash容量和擦除扇区大小的识别机制,使得实时操作系统的自研文件系统适配新的NOR Flash。(用于Cortex-M4 MCU。)
  • 修改DSI转LVDS视频信号转换IC驱动,提升器件稳定性,缩小开机驱动耗时。(用于Cortex-A7 MPU。)(2021.11)
  • 识别特定供应商的以太网交换机IC标记协议,以适配至原有的生成树协议中。
  • 运用以太网交换IC PHY、SFP、SGMII的知识,识别原有驱动中关于SFP光模块Link Up/Down的判断依据错误,与UTP转SGMII的千兆PHY芯片的硬件缺陷。(用于Cortex-A7 MPU)
  • 适配新分辨率的单色点阵液晶屏,调整U-Boot的开机点阵Logo显示。
  • 修改U-Boot和Linux的百兆以太网PHY芯片驱动,新增设备树节点属性,以单板设备树配置适应PCB电路差异,灵活指定PHY芯片的LED0/1的Link/Act显示功能。

NFC读卡器IC驱动实现

  • 选用的读卡器IC为NFC前端类,需要实现完整的NFC堆栈,包括I2C从器件的读写、IC复位控制、IC寄存器的操作、IC FIFO的读写等功能。
  • 实现的驱动支持ISO/IEC 14443 Type A协议,支持卡片探测polling的控制、读取卡号等功能。对上层软件提供初始化、卡片探测开关等API。上层软件可传入回调函数。以执行回调函数并附带参数的方式把NFC卡片信息通知上层。
  • 实现代码结构分层,操作系统相关的实现抽象为OSAL层。当前实现在Linux上正常工作,预留Cortex-M4 MCU驱动复用代码的能力。

外部器件控制

  • 基于场效应管和电流方向控制继电器,实现驱动磁保持接触器动作的脉冲电流的控制逻辑。

生产线测试程序

  • Cortex-M4 MCU完善对接测试主机的CAN总线通讯协议,新增传输电子标签等功能。裁剪测试程序依赖项,减少程序体积,使得程序能存放在64KB SRAM中并运行,测试完毕断电则程序消失。(2020.12)
  • 实现从产线测试主机接收Cortex-A7 MPU安全启动相关的公钥哈希并校验其正确性、公钥哈希写入MPU OTP对应区域、并使能MPU安全启动的功能。(2021.04)
  • 分压法电压测量电路、差分放大法微小电压测量电路的“一点校准”、“两点校准”的实现。(2021.07)

搭建算法验证环境

  • 在x86-64平台编译运行验证自研算法的正确性,配合Address sanitizer的技术,检查自研算法是否存在内存溢出、内存泄漏等缺陷。
  • 使用target为x86-64的gcc、binutils作为工具链,附加Address sanitizer动态库。编译时gcc使能内存越界检测选项。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值