你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32F103C8的keil环境配置和STlink烧录经验分享

[复制链接]
攻城狮Melo 发布时间:2023-3-21 21:25
下载st官方固件库
搜索并下载固件库

2b947363f5c741cd89ffb5caad3b3f16.png

使用固件库创建工程模版(以后不用每次配置了)
新建一个“工程模版”文件夹,里边新建三个文件夹

工程模板
|----Project        自己编写的代码把下载的库中的\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的

main.c
stm32f10x_conf.h
stm32f10x_it.c
stm32f10x_it.h
复制进来
|----Libraries      下载的库文件中的同名文件拷贝过来的
|----Output        存放编译完成后的机器码之类的


新建工程
然后打开keil5程序,Project -> New uvision Project...

目录选择为刚才新建的project目录,点保存会出现一个选择芯片的页面,选择所要用的芯片。
我所需芯片在STMicroelectronics -> STM32F1 Series -> STM32F103 -> STM32F103C 下
找到点击,然后OK。

没有的话,先不新建工程,先在keil主面板上点击打开pack installer

b2b43ed37ce242e798787d00c84ebac4.png

左侧 Device选项卡下搜索STM32F103,在出现的列表中选中STM32F103C8(根据自己的板子选)

右侧packs选项卡中,列出了Device Specific中有两个Keil::....点击安装这两个包。装好后退出来重新新建工程就可以看到STMicroelectronics下自己的板子的包了。


工程配置
添加工程组和组文件

cc0299c0f54b44338857628da4608405.png

在Groups中创建分组:
User            自己开发的程序代码
Deiver         管理STM32外设的驱动
CM3            管理CMSIS内核驱动
Startup       管理MDK开发环境下与芯片相对应的启动代码

在Files中加入文件
USER:project中的main.c\stm32f10x_it.c
Driver:Libraries\STM32F10x_StdPeriph_Driver\src下的所有.c文件
CM3ibraries\CMSIS\CM3\CoreSupport 下的core_cm3.c
Startup:Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(这个目录下的一堆.s文件对应的是不同容量的芯片,stm32f103c8对应的是md后缀的)


target选项配置

478cf894d9d74d0e943dcd4d954855b4.png

1.Target选项卡中ARM Compiler选择版本5的编译器

2.Output选项卡将Create HEX File选上,output路径选择为刚才创建的output文件夹d

3.C/C++(4C6)选项卡,在preprocessor Symbols的define中写两个宏定义:

USE_STDPERIPH_DRIVER,STM32F10X_MD(中间是逗号),第一个宏定义是说使用固件库进行开发,第二个说的是芯片容量,分为LD,MD,HD,对于stm32f103c8来说是MD。

然后在include Path处,点击后面的三个点,把Libraries文件夹中的路径配上,分别为

Libraries\CMSIS\CM3\CoreSupport

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

Libraries\STM32F10x_StdPeriph_Driver\inc

Libraries\STM32F10x_StdPeriph_Driver\src

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

05596f1ec42b489eb82573a903b465ce.png


4. debug选项卡右上角的debugger选择为ST-Link Debugger

接线正确的话,插上stlink后点settings会在SW Device中出现stlink设备

20210108212908398.png

20210108213152680.png

测试
打开main.c文件只留空循环

d2da0988a3324454954b267323127602.png

运行程序

9d48307d9e2a41d2bcdb5b1b63bebd93.png

0error且生成了target就是正确的,否则排除error


使用STlink烧录程序
stm32boot0置1

boot0是1的时候可以调试,0的时候程序运行

对应引脚连接
stm32-STlink

3.3v-3.3v

swio-gnd

swclk-swdio

gnd-swclk
————————————————
版权声明:qqq2018
如有侵权请联系删除



收藏 评论0 发布时间:2023-3-21 21:25

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版