加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Keil4中建立基于V3.4.0固件库的STM32工程

发布时间:2020-12-15 06:22:08 所属栏目:百科 来源:网络整理
导读:原链接: http://blog.sina.com.cn/s/blog_5e80b0480100rt7p.html 几个月前刚接触STM32时,第一感觉就是固件库里的文件又多又深,还好发现固件库里自带有范例文件,但是它们全都是针对特定的评估板的,手头只有一块STM MCU 3 in 1 MiniKit。虽说作些修改就可
原链接: http://blog.sina.com.cn/s/blog_5e80b0480100rt7p.html

几个月前刚接触STM32时,第一感觉就是固件库里的文件又多又深,还好发现固件库里自带有范例文件,但是它们全都是针对特定的评估板的,手头只有一块STM MCU 3 in 1 MiniKit。虽说作些修改就可为我所用,可对于像我这样还没入门的菜鸟,知道要如何修改,并且编译通过,却是非常困难。
? ?? ?昨晚闲暇,在网上找了一些资料,自己也学着新建了一个工程。今天写下来,顺带温故一遍。

? ?? ? 首先介绍一下操作环境:
? ?? ? Keil版本: μVision 4.1.0
? ?? ? STM32固件库版本: V3.4.0

???? 第一步,建立工程文件夹,在其子文件夹内拷贝并整理好相应的文件。
? ?? ?? 1.1、建立工程文件夹,将它命名为"SysTick"。
? ?? ?? 1.2、在"SysTick"下分别建立"Lib"、"User"、"List"及"Object"这四个文件夹。
? ?? ?? 1.3、将固件库中"Libraries"文件夹下的"CMSIS"和"STM32F10x_StdPeriph_Driver"这两个文件夹拷贝至上一步建立的"Lib"文件夹下。
? ?? ?? 1.4、将固件库中"Project"-->"STM32F10x_StdPeriph_Examples"-->"SysTick"内的全部文件拷贝至第2步建立的"User"文件夹下。
? ?? ?? 至此,第一步已经完成。

? ?? ? 第二步,建立Keil工程。
? ?? ?? 2.1、"Project"-->"New? μVision Project...",将新建立的工程保存在步骤1.1时建立的"SysTick"文件夹下,并命名为"SysTick"。
? ?? ?? 2.2、在弹出的"Select Device for 'Target1'..."对话框中,选择相应的器件,ST MCU 3 in 1 MiniKit上的芯片是STM32F103C8,所以我选择STM32F103C8。确定完成后按"OK"。
? ?? ?? 2.3、在弹出的询问是否添加启动代码的对话框中,选"否"。因为我们使用固件库中的启动代码。
? ?? ?? 2.4、点击按钮,在Target1下建立四个Groups: "CMSIS"、"User"、"Lib"、"StartUp"。
? ?? ?? ?? 在"CMSIS"Grout下添加如下两个c文件:"SysTickLibCMSISCM3CoreSupportcore_cm3.c"以及"SysTickUsersystem_stm32f10x.c"。
? ?? ?? ?? 在"User"Group下添加如下两个c文件:"SysTickUsermain.c"和"SysTickUserstm32f10x_it.c"。
? ?? ?? ?? 在"Lib"Group下添加如下四个c文件:"SysTickLibSTM32F10x_StdPeriph_Driversrcmisc.c"、
"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_flash.c"、"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_gpio.c"
和"SysTickLibSTM32F10x_StdPeriph_Driversrcstm32f10x_rcc.c"。
? ?? ?? ?? 在 "StartUp"Group下添加"SysTickLibCMSISCM3DeviceSupportSTSTM32F10xstartuparmstartup_stm32f10x_md.s"。
? ?? ?? ?? 根据你所使用的不同容量的芯片,选择对应的启动代码文件。
? ?? ?? ?? 添加完所有的文件后,点击"OK"。
? ?? ?? 2.5、点击"Target Options..."按钮,作如下设置。
? ?? ?? ?? "Output"标签下",Select Folder for Objects..."选择步骤1.2时建立的"Object"文件夹作为保存路径。
? ?? ?? ?? "Listing"标签下,"Select Folder for Listings..."选择步骤1.2时建立的"List"文件夹作为保存路径。
? ?? ?? ?? "C/C++"标签下,"Define"后填写"USE_STDPERIPH_DRIVER,STM32F10X_MD";"Include Paths"内添加".LibCMSISCM3CoreSupport"、".LibCMSISCM3DeviceSupportSTSTM32F10x"、".LibSTM32F10x_StdPeriph_Driverinc"、".User"。添加完成后点击"OK"。
? ?? ?? ?? 完成所有设置后,点击"OK"。
? ?? ?到此为止,工程已建立完成。
????关键点提示:
? ?? ?1、步骤2.5中"C/C++"中定义的两个宏,"USE_STDPERIPH_DRIVER"表示使用固件库,"STM32F10X_MD"与你所使用的芯片相对应,步骤2.4中启动代码文件的选择也与此类似。
? ?? ?2、"stm32f10x_conf.h"这个文件,里面可以选择你所使用的外设,方法是——将使用的外设前的注释去掉即可。
? ?? ?3、步骤2.4,其目的是添加头文件的路径,虽然看起来很烦琐,但理解其目的后就会显得清楚多了。
? ?? ?
? ?? ? 这个地方讲得更清楚跟透彻: http://blog.ednchina.com/xukai871105/1981649/message.aspx
? ?? ? 这里的视频也不错: http://v.youku.com/v_show/id_XMjQyMDg1MDMy.html
补充:
原链接: http://bbs.21ic.com/icview-130021-1-1.html
MDK中出现 Error: Flash download failed-"Cortex-M3"的原因及解决办法

出现这处问题通常是MDK中的Flash的编程算法没有配置或没有配置正确,

在主菜单中打开Flash->Configure Falsh Tools配置窗口,切换到“Utilities"页。


按“Setting"按钮进入“Flash download setup"配置窗口


然后一路按“OK”按钮退出配置窗口


在“Flash download setup"配置窗口点击“Add”按钮进入“Add Flash Programming Algorlthm"窗口


在“Add Flash Programming Algorlthm"窗口,根据你实际使用的芯片选择,这里的豆皮STM32开发板用的是STM32F103VBT6,应先择"STM32F10X 128kB Flash",选定编程算法后,按“Add”按钮。

之后一路按"OK"按扭确认修改的配置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读