到手一块新的开发板,是不是总想赶紧跑上一段代码试试?但是板子芯片没有适配驱动的情况时有发生,本文将带领大家一起全流程操作基于STM32芯片的OneOS驱动适配工作,希望在各位小伙伴遇到此类问题时能有所帮助~
本文使用的软件版本为:OneOS-v2.3.0
适配的芯片型号为:STM32L073_RZT6芯片
一、工程建立
Step1 生成工程模板
首先,在git工程中的project目录下,打开OneOS-Cube工具,通过执行project命令进入芯片型号选择界面,根据项目需要适配的芯片来生成默认的工程模板。


Step2 配置MCU工作频率
适配驱动之前需要确认用户需求,工作频率一般越低整体功耗就越低。具体配置参数在CubeMX中根据修改相关分频系数来改变MCU工作频率。
基础功能配置需要工程创建初期就确定下来,否则修改后会影响各个模块功能,导致全部需要重新验证。

Step3 编译优化等级
针对Flash资源紧张,在Keil中选择AC6编译器,优化级别选择-Oz可以提供尽可能小的代码量,减少Flash占用资源。
使用-Oz最高优化等级存在风险,没法预期优化后程序运行是否存在问题,需要把功能全覆盖验证才能确定。
编译优化需要在项目创建初期确定,否则影响后续功能验证。
修改template.uvprojx文件中的编译器为AC6默认版本和对应的优化级别。

选择优化级别-Oz,减少资源占用。

Step4 配置BootLoader
在生成的芯片模板工程目录下,通过OneOS-Cube执行menuconfig命令来配置BootLoader。

首先根据需求是否需要加载BootLoader,配置使能与否。

本文详述了基于STM32L073_RZT6芯片的OneOS驱动适配流程,包括工程建立、驱动适配、功能裁剪等步骤。在工程建立阶段,涉及MCU工作频率配置、BootLoader设置等。驱动适配部分,讲解了Serial、GPIO、Watchdog和Flash的配置与应用。功能裁剪则依据map文件分析资源占用,以优化存储空间。通过本文,读者可以掌握STM32驱动适配的完整过程。
最低0.47元/天 解锁文章
565

被折叠的 条评论
为什么被折叠?



