将STM32移植从Keil MDK到STM32Cube IDE的步骤
将正点原子STM32H743的HAL库本版的程序源码移植到STM32Cube
该程序源码是在keil上的,程序文件如下:
一、在STM32Cube上新建STM32工程
1.1 新建工程
新建的工程文件夹如下:
2.2 拷贝文件夹
将源文件中有用的这两个文件夹复制到刚才新建的工程文件夹内:
user文件夹内的内容就是我们自己写的程序,将里面的文件统一复制替换到src文件夹下,然后删除user文件夹和多余的inc文件夹
此时工程目录如下:
二、移植工作
2.1 修改工程属性
在IDE内鼠标右键点击工程 -> 属性 -> C/C++ General -> Paths and Symbols
添加时选择workspace,使用的就会是相对路径:
includes添加完后如下:
在#Symbols宏定义预编译处加上USE_HAL_DRIVER和STM32H743xx,添加完后如下:
在Source Location处添加Driver文件夹,添加后如下:
点击应用并关闭,开始编译改错。
2.2 编译改错
第一次编译后会发现缺少cmsis_gcc.h等一系列的错误,因为源程序是在Keil下编译的,所以有很多文件和当前自己使用的IDE不兼容。
我的做法是自己再另外新建一个带驱动文件的STM32CUBE工程(记得选对自己使用的芯片型号),然后借用里面的文件:
新建的工程如下,自带Drivers文件夹:
直接将新建的Drivers文件夹下的CMSIS和STM32H7xx_HAL_Driver这两个文件夹复制替换到原先工程内的这两个文件夹; 以及inc文件夹内的stm32h7xx_it.h、stm32h7xx_hal_conf.h这两个h文件替换掉原来Src文件夹内的两个h文件
把串口的文件夹去掉后,编译成功
作者:ruoshuisanqian.