STM32 CubeMX产生的程序架构
2024-01-08 15:32:29
使用STM32CubeMX产生启动相关代码,配置各种外设。在后续程序开发过程中,有可能使用STM32CubeMX逐步产生使用的代码,为了将其产生的代码和我们程序隔离,一种可行的程序架构如下:
在此架构中,STM32CubeMX产生的相关代码作为整个架构的HWD层,和我们的程序分开放到不同的目录,易于区分。
HWD层依赖HAL层,功能模块和业务逻辑也依赖HAL层。
HWD层依赖HAL层,在STM32CubeMX产生的代码USER处添加HAL层内的函数的依赖。
这样,当后续使用STM32CubeMX再次产生代码时,原USER处添加的代码不会发生变化。
HWD依赖HAL层,这种依赖在实现时使用HWD include HAL层内对应头文件。
为了在没有HWD层时,程序编译/链接/仿真不出问题,在HAL层内,使用弱函数(内部可以先为空,保证编译/链接正确),需要时在HWD层内实现同名函数功能。
RTOS层在层级上位于HAL层上,具体是否调用HAL层接口,依赖具体实现。
文件目录结构参考如下:
STM32CubeMX_Project为CubeMX产生的代码,在USER处加入了依赖代码。
Source为除HWD外的程序。
Output为编译出的目标文件。
文章来源:https://blog.csdn.net/zisehuoxia/article/details/135396635
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!