STMCU小助手
发布时间:2022-11-20 16:03
. D* X7 J! A* l 特点:4 A5 |( Q( `6 E3 J1 z2 X4 Z 参考正点原子教学视频,固件库模板步骤用红色字体表示,寄存器模板步骤用绿色字体表示,黑色字体是共同步骤。- {: [0 h1 n' w9 i% Y: D1 \ 1)新建一个空文件夹(名字自定)用来存放今后开发某项目的所有开发程序,在该文件夹中,新建一个USER空文件夹(推荐用USER名);* `8 w0 \0 C5 Y& v9 B* O 2)MDK软件中,单击Project→New μVision Project新建一个工程,输入工程文件名,选择好芯片后点击OK;" C; [: t# @/ j1 D " H3 t2 j# F7 G8 m& U8 ?
$ }/ Q& h' h9 m% ~4 @% b 3)在USER文件夹中,Listings和Objects两个文件夹用来存放编译过程产生的中间文件(为了跟MDK5.1之前版本兼容), 新建CORE(核心文件和启动文件),OBJ(编译过程文件和hex文件),STM32F10x_FWLib(库函数源码文件)三个空文件夹(与USER文件夹并列)/新建CORE(核心文件和启动文件)和OBJ(编译过程文件和hex文件)两个空文件夹(与USER文件夹并列); 1 n$ q- i$ M* s
9 ~6 x) ~( O* `4 R4 o* S" i. V# d+ @
4)将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver里的src(存放固件库的.c文件),inc(存放对应的.h文件)两个文件夹复制到STM32F10x_FWLib文件夹里;将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport里的core_cm3.c和core_cm3.h复制到CORE文件夹里;将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm里的startup_stm32f10x_hd.s[1]文件复制到CORE文件夹里,此时CORE文件夹里有三个文件;) p: a) u" w* `0 A" B 将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm里的startup_stm32f10x_hd.s文件复制到CORE文件夹里,此时CORE文件夹里只有一个文件;
7 M. y1 J) W3 f0 `( F 5)将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x里的stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h复制到USER文件夹里;将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template里的main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h复制到USER文件夹里,此时USER文件夹里多了七个文件;' |) s' b, [9 R1 \2 F
# ~0 m0 y' o0 n 6)在MDK软件中,右键Target1,单击Manage Project Items…,在Project Items界面、Groups一栏,删除Source Group 1,新建USER,CORE,FWLIB,单击OK(这里也可以重命名Target1)/在MDK软件中,右键Target1,单击Manage Project Items…,在Project Items界面、Groups一栏,删除Source Group 1,新建USER,CORE单击OK(这里也可以重命名Target1);, ?" {/ l) G. D
3 s( Y1 Q( E& b4 x U q7 b 7)在MDK软件中,回到之前的Manage Project Items界面,在Project Items界面,选中FWLIB,单击Add Files,选择STM32F10x_FWLib\src,选中里面所有的.c文件,单击Add(其实只需添加需要用的.c文件); 选中CORE,单击Add Files,将CORE文件夹里的core_cm3.c和startup_stm32f10x_hd.s添加进来/选中CORE,单击Add Files,将CORE文件夹里的startup_stm32f10x_hd.s[3]添加进来;2 U- d/ V/ _8 @4 v5 r 选中USER,单击Add Files,将USER文件夹里的main.c,stm32f10x_it.c和system_stm32f10x.c添加进来/在MDK软件中,新建一个test.c文件(即主函数main.c文件[2],名字可自定),保存在USER文件夹里,然后在Manage Project Items界面,Project Items选项,选中USER,将刚才新建的.c文件添加进来); 8)在MDK软件中,单击魔术棒,在Output选项里,勾选Create HEX File,单击Select Folder for Objects,选择OBJ文件夹(放弃将编译过程文件存放在Listings和Objects中);
8 n/ S* C) R+ l9 [
9)在C/C++选项里,单击Include Paths右边的…,添加三个头文件目录,在Define里输入STM32F10X_HD,USE_STDPERIPH_DRIVER/在C/C++选项里,在Define一栏里输入STM32F10X_HD;7 e3 K9 `, N/ W2 g2 K' P+ d% [
10) 此时,工程模板已建立完成。接下来,添加ALIENTEK提供的公用代码。将SYSTEM文件夹复制到工程文件中(与USER文件夹并列),在MDK软件中,右键Target1,单击Manage Project Items…,在Project Items界面、Groups一栏,新建SYSTEM,选中SYSTEM,单击Add Files,将SYSTEM文件夹里的sys.c,delay.c和usart.c添加进来,然后单击OK;( W; t* l1 B$ }: @9 u 11)单击魔术棒,在C/C++选项里,单击Include Paths右边的…,添加SYSTEM文件夹里的三个头文件,新建工程模板最终完成。- |" O# r5 O9 K6 p# ? 备注: [1] startup_stm32f10x_hd.s是一段和硬件相关的汇编代码,主要作用:1)堆栈(SP)的初始化;2)初始化程序计数器(PC);3)设置向量表异常事件的入口地址;4)调用Main函数。ST公司有三个文件,分别对应不同的STM32芯片:7 p- d) M: r6 @6 W$ w5 @ startup_stm32f10x_ld.s对应FLASH≤32K的STM32芯片;+ i) Z- R; o2 Q2 y1 P startup_stm32f10x_md.s对应64K≤FLASH≤128K的STM32芯片;3 h" e0 Y+ w7 w$ {8 V6 A4 I5 T( Y startup_stm32f10x_hd.s对应256K≤FLASH的STM32芯片。 [2]寄存器模板的主函数文件可以先这么写:``` 8 e- @6 V& ^0 e; s$ o* H
可直接编译后利用FlyMcu下载程序至STM32开发版中,进行调试。 [3]寄存器模板和库函数模板的startup_stm32f10x_hd.s区别在于,寄存器模板的需要注释三行代码: 8 B! A/ {( i) p) a; v
———————————————— 版权声明:天亮继续睡! J1 r( ]3 g0 K I* J! d |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版