新手入门--stm32将其他项目功能添加到已有项目

环境: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)检查。

posted @ 2017-02-09 12:03  LoveYaner  阅读(1131)  评论(0编辑  收藏  举报