STM32固件库V3.4移值到Keil MDK v4.12 图文详解

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STM32固件库V3.4移值到Keil MDK v4.12 图文详解

1、本例所用到的MCU是STM32F103VET6,已经过测试,如果是其它MCU

的话,只需作小许修改即可

2、首先按下图所示建立相应用的文件夹,注意层次关系:

3、下图是工程文件夹里相应的文件:

接照上图所示,在相应的文件夹里放放相关的“.C”文件,在startup里放入相应的".s文件",对于Keil 其文件在“\Libraries\startup\arm”里面可找到。

4、接着就打开Keil MDK V4.12,新建一个工程并选择好器件:

点击“品”字形的图标,建好组:

5、下图是建好组后的图并在CoreSupport组里“Add Files”了一个文件:

6、下图是startup组里“Add Files”后的图:

7、下图是StdPeriph_Driver组里“Add Files”后的图,由于文件比较多一张

图并不能完全显示出来,我是将所有在“\Libraries\StdPeriph_Driver\src”所有的文件都添了进去,在实际应用时要按实际情况添加:

8、下图是STMF10x组里“Add Files”后的图:

9、下图是User组里“Add Files”后的图:

10、单击“OK”,终于添加文件完毕,之后就到设置了,单击右图所示的图标:

,按下图所示设置好,点"Output"标签页:

11、“Output”文件夹用以存放你所勾选项目产生的“Debug Information”、"Create

HEX File"和“Brower library”信息或文件。接着就是点"Listing"标签

页,设置方法和上图相同

12、点标签页“C/C++”,这页的设置很重要,首先加入这个宏:

13、接着,点击如图所示有黑色圈的按钮

接着按下图所示设置,也就是所用到固件库头文件的路径:

好了。编译一次吧,看是否有错?

14、这时在“Output”和“Listing”文件夹里就有了许多文件:

如果不要这些信息或为为发加快编译速度,可以去掉在第十步所示的“Debug Information”和“Brower library”前面的钩即可。

15、最后到了J-LINK仿真下载器相关项的设置。

下图主要是右半部分的设置:

紧接着就是点上图蓝色背景右边的"Settings"按钮,不要忘了接上STM32开发板的电源和J-LINK,还要装好J-LINK的驱动,按下图设置好:

先点击“Scan”按钮,接着就是"Auto Clk"按钮,哈,我板子的JTAG时钟能达到10MHZ!

16、接着上图所示点“Flash Download”标签页并按实际况设置好:

17、还有最后一步,看下图:

全部完成了,设置了那么久为的就是能看到下图:

18、给大家一点设置的参考吧:

需在工程项目C/C++里面Define 添加:USE_STDPERIPH_DRIVER,STM32F10X_HD

STM32F10X_LD---STM32小容量芯片

STM32F10X_MD---STM32中容量芯片

STM32F10X_MD---STM32中容量芯片

STM32F10X_CL---STM32互联网型芯片105/107等

USE_STDPERIPH_DRIVER---使用库里面的API函数

在工程里面添加相应芯片的启动文件:

STM32F10X_LD.S

STM32F10X_MD.S

STM32F10X_HD.S

STM32F10X_CL.S

在system_stm32f10x.c修改工作频率,默认为72MHz,在外部晶振为8MHz的情况下。

STM32 Keil-MDK工程模板V3.5 固件库

创建一个工程模板:

1. 解压STM32库文件然后拷贝

2. 目录结构:

Main

-> stm32f10x_it.c 此三个文件在同一个目录,用户编写。

-> stm32f10x_conf.h

-> main.c

_CMSIS

-> core_cm2.c 汇编接口

-> system_stm32f10x.c

_DeviceSupport

-> 所有的s文件启动代码

Select the corresponding startup file depending of the used device:

- startup_stm32f10x_ld_vl.s: for STM32 Low density Value line devices

- startup_stm32f10x_ld.s: for STM32 Low density devices

- startup_stm32f10x_md_vl.s: for STM32 Medium density Value line devices

- startup_stm32f10x_md.s: for STM32 Medium density devices

- startup_stm32f10x_hd.s: for STM32 High density devices

- startup_stm32f10x_xl.s: for STM32 XL density devices

- startup_stm32f10x_cl.s: for STM32 Connectivity line devices

_STM32F10x_StdPeriph_Driver

-> 所有的c文件V3.5.0的官方固件

-------------->

注意事项:

1. Main.c应该放在_CMSIS的前面。且必须有文件stm32f10x_conf.h ,否则就默认include了keil 的stm32f10x_conf.h文件

2. 注意inlcude path的顺序.

3. 在Preprocessor Symbols中定义USE_STDPERIPH_DRIVER[使用标准外设库驱动], 否则编译出现assert_param 未找到的错误:

相关文档
最新文档