正点原子STM32F429阿波罗板,固件库工程搭建

1. 在工作根目录下创建两个文件夹,lib和project,在lib中创建子文件夹core

2. 在keil中建立新工程,并保存在project文件夹中

3. 在工作根目录下创建main.c

4. 从[STM社区](https://www.stmcu.org.cn/)下载标准外设固件库

5. 接下来正式进入固件库工程搭建

6.

在上面的目录下找到cortex-M4内核及与其相关的设备文件,拷贝存储到..libcore

7.

在上面的目录下找到stm32f4xx微控制器专用头文件,以及system_stm32f4xx微控制器专用系统文件

再在上面的目录下根据所用编译器以及所用芯片型号,找到对应的启动文件(需要修改,汇编写的,系统分支剪裁的意思),不想自己动手搞清楚改动哪里或者觉得麻烦,此处的启动文件可以从正点原子的资料里去抠)

如图,我用的编译器是MDK,所以选择arm,再根据芯片型号选择相应的启动文件。

将上述找到的三个文件拷贝存储到工作根目录下。

8.

将上面的目录下的

拷贝存储至lib下

9.

再从项目例子中剽窃一个固件库配置文件

复制存储至工作根目录,此时工作根目录应该是下面这样,忽略文件夹固件库移植.assets(~~~///(^v^)\~~~)那是我markdown文档的图片保存文件夹。

10. 接下来就是打开工程,在MDK里进行相关的配置和build了。相关pack的按照导入就不赘述了,在组中添加需要编译的源文件

并完成编译前的宏定义添加处理,特别注意中间的分隔符是**英文逗号**。解释:第一部分USE_STDPERIPH_DRIVER是在stm32f4xx.h中有相关线索。第二部分STM32F429_439xx是在stm32f3xx_conf.h中有相关线索。这里起到的是内容剪裁分支的作用。

以及相关头文件的路径添加

11.

最后需要进行如上图所示的配置,将右侧上方的四个复选框取消,原因是stm32f429不支持fsmc。

以上是我的关于stm32f429正点原子阿波罗板的固件库移植的反思,以前觉得嵌入式只是写代码,实现应用逻辑,现在发现其中学习的奥秘。之前的关于F1的移植都是看的正点原子的资料,虽然详细但是自己只是跟着做只是为了完成模板库的搭建,完全没有自己的思考,换了其他嵌入式设备或许还是一头雾水。需要从内核,从芯片制造商等方面进行思考。

另外,上述方法能不能build成功,0error,0warning还需要同学们自己实践,因为这个是后来写的,尽量还原了移植搭建的全过程,具体的细节或许有出入。

经验分享 程序员 微信小程序 职场和发展