
程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。 如图所示,建立相关文件夹。打开MDK,Project->New uVision Project ![]() + P' X( I2 o; v! ^ ![]() & a: j* w. Q2 R! J& e: R 此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。 接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。0 e7 Y' C; h" O2 P ; Q" Z. [3 E$ I2 }6 u* p 启动代码的主要作用如下: - d$ t ^% `4 @2 C! R6 m8 [* V 6 f$ d3 {$ U' v) l; K" L 1.堆栈(SP)的初始化;9 F, ]$ Q/ k+ Q- Z' e 2.初始化程序计算器(PC); 3.设置向量表异常事件的入口地址; - C8 F' b6 L1 O8 ] 4.调用main函数。! m; J' w: _$ w/ [3 z6 a3 A; N 其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。3 g! @1 e# a( ^ R 6 W0 }4 a# Z& q# _ 其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。 ! A" ]; x; e B/ l mdk的target Code Generation 选用Use FPU (V5.25 版本显示为 Single Precision) 。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M) 3 ~% L0 F- }) m; ]0 G9 A 然后在Target目录树打开Manage Project Items进行目录创建和文件添加。, e0 K: l9 ^& Q% C7 | 接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK2 T! ^3 f ^2 a& S6 e \ 头文件相关处理在Options for Target->C/C++选项中 4 w7 N. W, d& l+ q0 D' b: f Define : STM32F40_41xxx Optimization : -O0 9 S' Y+ F$ e2 b Inlcude Paths 添加相应的头文件路径 0 r. X. M. U* X* H Jlink相关驱动建议调用以往支持的Segger目录。; m; x. l3 J6 I C |
Nucleo-F429ZI开发板体验LWIP功能
TouchGFX应用移植自定义屏幕
STM32固件库分享,超全系列整理
【经验分享】新建基于STM32F40x 固件库的MDK5 工程
年终中奖---F429板卡网络应用
【NUCLEO STM32F429ZI开发板】之点灯大师
OpenBLT移植到STM32F405开发板
串口通信波特率异常的解决办法
《RT-Thread设备驱动开发指南》书籍学习记录
STM32F407/STM32F417通过以太网实现在应用中编程 (IAP)