环境:keil4+stm32项目

已有项目名project

要添加功能项目名project2

实例场景:在project中添加project2中SD卡读写功能(带fatfs文件系统),也可以理解为将project2中已实现的带fatfs的SD卡读写模块移植到新项目project中。

步骤:

1、启动文件:在project2中的启动文件为startup_stm32f10x_hd.s(固件库版本V3.0.0),在project中启动文件为startup_stm32f10x_md.s(固件库版本V3.5.0)。基于要移植的功能在project2中是可运行的,将project的启动文件修改为startup_stm32f10x_hd.s(对应固件库V3.5.0即可)。
2、全局宏定义:在project2中按顺序依次打开Project-->Options for Target(alt+F7)-->C/C++,在此选项卡中Preprocessor Symbols里边Define会定义一些全局宏,本次移植有USE_STDPERIPH_DRIVER, STM32F10X_HD。将这些全局宏添加至project中。附图如下。


3、处理中断:在project2中开启了SDIO_IRQn中断,且将中断函数SDIO_IRQHandler定义在stm32f10x_it.c。在移植是需将其复制到project项目的stm32f10x_it.c文件中。此次不易发现,新手需要留意!
4、功能的逐步复制:
1)配置中断,3中已说明;
2)添加初始化函数,对应的宏、变量等一同添加;
3)编译并烧写,看project是否正常运行;是,进行下一步4);否,回到2)检查;
4)添加功能新函数,如读取SD卡数据;
5)编译并烧写,看project是否正常运行以及是否可以读数据;是,完成移植;否,回到4)检查。

转载于:https://www.cnblogs.com/LideAiYaner-1wn/p/6381496.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐