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

【经验分享】STM32入门系列-创建寄存器模板

[复制链接]
STMCU小助手 发布时间:2022-7-2 13:00
    介绍如何使用 KEIL5 软件创建寄存器模板, 方便之后使用寄存器方式来操作STM32开发板上的LED,让大家创建属于自己的寄存器工程模板。

; a8 x6 b8 z1 F3 w- _& `
获取工程模板的基础文件
    首先我们在电脑任意位置创建一个文件夹,命名为“寄存器模板创建”,然后在其下面新建 2 个文件夹,如下:
微信图片_20220701135945.png
8 R. o# d" R3 p' A! a
    Obj 文件夹: 用于存放编译产生的 c/汇编/链接的列表清单、 调试信息、hex文件、预览信息、封装库等文件。
    User 文件夹: 用于存放用户编写的 main.c、 STM32F1 启动文件、stm32f10x.h头文件。
    我们需要将寄存器工程模板所需的基础文件 main.c、STM32F1 启动文件及stm32f10x.h 头文件放入到 User 文件夹内。在工程实例的User文件夹内可以找到这三个文件。复制后 User 文件夹内文件如下:

! j8 u) b' D+ t
微信图片_20220701135939.png

/ X3 v3 w7 \- H3 ?' Z& X
创建寄存器工程
    打开 KEIL5 软件,新建一个工程,工程名根据喜好命名,但是要注意使用英文,如果使用中文名可能会出现一些奇怪的错误,这里我们命名为 Template,直接保存在 “寄存器模板创建”文件夹下。具体步骤如下:

1 l% N: G; B5 l. Y3 e7 J. D
微信图片_20220701135935.jpg

0 m% B% _- o1 J3 m$ f8 r) G
    根据你开发板使用的 CPU 具体的型号来选择,如果这里没有出现你想要的CPU型号,或者一个型号都没有,那么肯定是你在安装 KEIL5 软件的时候没有添加芯片包,KEIL5 不像 KEIL4 那样自带了很多 MCU 的型号,KEIL5 需要自己添加,可以参考我们视频 KEIL5 软件的安装。
    选择完 CPU 点击 OK 后会弹出在线添加固件库文件的界面,我们在使用寄器操作 STM32 的时候不需要此步,所以直接关闭即可。

) N: i  O5 d# \- o, }1 |% o* ^
给工程添加文件
    在新建的工程中添加文件,双击Group 文件夹就会出现添加文件的路径,然后选择文件即可。添加文件完成后工程组如下:
微信图片_20220701135933.png

& I7 g! u6 d2 T
配置魔术棒选项卡
    这一步的配置工作非常重要,很多人自己编写程序编译后发现找不到 HEX文件,还有的人做后面 printf 实验时打印不出信息,这些问题都是在这个地方没有配置好导致的。
    (1)Target 中选中微库“Use MicroLib”,主要是为了后面 printf 重定向输出使用。其他的设置保持默认即可,配置如下:
微信图片_20220701135929.jpg
8 R9 c8 j8 T/ c& q- _2 t' H- l
    (2)Output 选项卡中把输出文件夹定位到我们工程目录下的 Obj 文件夹,如果想在编译的过程中生成 hex 文件,那么那 Create HEX File 选项勾上。配置如下:

: \; r. a4 ^$ ]- b
微信图片_20220701135927.jpg

3 p# h" |* H6 g( L; e! O
    (3)Listing 选项卡中把输出文件夹也定位到我们工程目录下的 Obj 文件夹。其他设置默认,配置如下:
2 {% B! S) n. S0 D% G) s1 w7 _
微信图片_20220701135920.jpg
4 R' e5 z. Y! H- z# R
    (4)ARM 仿真器配置。只有当你的仿真器安装好驱动并且连接了电脑和板子,那么就可以开始配置。具体的配置如下(首先,我们已经将 ARM 仿真器连接开发板):

, Z* x# z" n1 v8 W/ N, E
微信图片_20220701135917.jpg
3 B5 U; o' g) H) j5 U
    根据自己仿真器的型号进行选择,之后点击“Settings”,如果你的型号没有选择错误的话,自动会识别你的 ARM 仿真器 ID 了,然后即可设置SW 或者JTAG 模式以及复位的方式,大家可以选择性使用 SW 或者 JTAG 模式。如果使用SW 模式的话,必须勾选前面的 SWJ 复选框。

; C0 H/ O6 u6 H: M7 T; C8 Z  T
微信图片_20220701135914.png
+ q5 [$ d0 a/ R" _# i
    (5)芯片型号选择。同样在上一步的那个 Debug 选项卡内进行设置,点击Settings,选择 Flash Download 选项卡,在框 3中的 Reset and Run 选项中,如果勾上的话,当程序下载进去后自动复位运行,如果不勾上,程序下载进去后需按下开发板上复位键才能运行。通常我们选择勾上。具体配置如下:

1 ]: i2 G( E( h! D; W% f2 q: m
微信图片_20220701135909.png
& r* F0 F- [8 @. x: x+ i; |& O
    最后点击 OK 按钮即可。然后双击工程组中的 main.c 文件,输入代码:
#include "stm32f10x.h"
void SystemInit(){
, J" }7 x* Z  Z# O8 V
}
int main()
{
    while(1){

: @6 L  P- u- x! k+ `) `
    }
}
    把stm32f10x.h文件内容清空之后编译,结果0错误0警告,表明我们创建的寄存器模板完全正确。到这一步我们的寄存器模板才算真正创建好。在前面配置魔术棒时,已经配置好了仿真器, 将ARM仿真器与开发板上的10针接口连接好后,点击标号“Load”即可将程序下载到开发板内。

1 R; n/ l9 [# Q7 N
赞 收藏 评论0 发布时间:2022-7-2 13:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版