程序小白的我从安装mdk5.14搭建平台到更新至V5.25搭建平台,并配置相关参数,发现了一些问题,并查看一些博友的文章最终得以解决,以供以后如有类似情况可以查看解决。 2 M& c4 S5 N( P7 D! {2 { 如图所示,建立相关文件夹。打开MDK,Project->New uVision Project 0 i+ y4 i5 K& N% P % w' C. u4 y/ W8 r: P7 r 此处注意的是需要选择相应的芯片,我们选择的是STM32F407ZGT6,一定要安装相应的pack安装包才可以建立工程文件。 接着,我们添加相应的启动代码(startup_stm32f40_41xxx.s)。 启动代码的主要作用如下: ( M m, [0 y6 X& E) h4 \ ' o2 ?3 e/ h8 R1 e% D' [2 i7 P 1.堆栈(SP)的初始化; , g/ D2 R7 p% H, z I$ _/ p 2.初始化程序计算器(PC); ' ~8 a. Z) |' \- {% X 3.设置向量表异常事件的入口地址; " ?# T$ w, d/ S6 l 4.调用main函数。 其中我们修改了启动文件的Reset_handler函数,该段代码主要加入了开启STM32F4硬件FPU的代码,以使能STM32F4的浮点运算单元。/ D$ c/ X u6 m- m2 `$ B5 y. w' m k7 m+ F) ~6 @3 _; J 其中的0xE000ED88为协处理器控制寄存器(CPACR)的地址,该寄存器的第20~23位用来控制是否支持浮点运算,此处全部设置为1,以支持浮点运算。 1 Q) G5 s5 c3 f6 u9 I7 Z5 N mdk的target Code Generation 选用Use FPU (V5.25 版本显示为 Single Precision) 。(mdk默认STM32F4外部晶振为12M,此处Xtal(Mhz)设置为8.0M), M; O- Z& t9 s" _+ h4 m 然后在Target目录树打开Manage Project Items进行目录创建和文件添加。. U; Y; P6 R+ o! S9 ~# I8 Q2 | 接着就是设置OBJ输出目录,将生成的hex文件放置在OBJ目录里。Options for Target->Output->Create Hex File->Select Folder For Objects->找到OBJ文件夹->OK8 W0 n7 ?0 e) _% E $ m8 @6 h( Z) B! a 头文件相关处理在Options for Target->C/C++选项中; z; ]8 n6 U0 y, P Define : STM32F40_41xxx Optimization : -O0 7 U+ @- u" w' r* { Inlcude Paths 添加相应的头文件路径 8 P$ Y( }* e: ?+ O Jlink相关驱动建议调用以往支持的Segger目录。 z9 K: _* L/ R, `+ i |
串口通信波特率异常的解决办法
《RT-Thread设备驱动开发指南》书籍学习记录
STM32F407/STM32F417通过以太网实现在应用中编程 (IAP)
STM32固件库分享,超全系列整理
分享STM32F407的学习资料 附学习笔记
STM32F4中文资料--基础篇
基于STM32F407和Cubemx的ADC采集+DMA传输实现简易示波器经验分享
基于STM32F407的DMA采样+FFT时域经验分享
基于STM32F407中的RNG获取随机数经验分享
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP