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

STM32工程模板建立之 KEIL 开发平台设置(一)

[复制链接]
STMCU小助手 发布时间:2022-11-26 14:00

根据前面的 KEIL 开发平台知识,根据自己的习惯,建立一个专门属于自己的工程模板。那么为什么要建立模板呢?

( I; z6 j! X8 m9 u0 x

1、 你希望每次开发项目的时候都从头开始建立工程吗?


' [! ]; g4 [0 \$ A

2、 你希望每次将常用的函数都重新编写吗?(比如串口发送函数、printf 函数重定向,字符转化函数、I2C 驱动程序……)。

, g% T& m, e8 a7 t  I( s# D

3、 你希望你的工程 Options 选项每次建立时都要重新设置吗?(C99 模式,生成 bin 文件、下载设置……)


2 ~1 L5 _1 p, P  }- F* I+ O

如果以上答案为否,那么说明其实你也是一个不愿意做重复劳动的人,那么建立工程模板就是非常明智的选择。

$ G% e5 C6 a! S9 M9 Z

该模板主要有以下功能:


5 b$ ?/ L  ]3 B

1、 将你认为有必要的平台功能添加到工程选项中,开发项目时打开工程即可开始主函数的编写。


6 h& z$ x; b! y+ }) {! b

2、 常用的驱动函数都包含在这里。

! I8 r; p& H; Z0 Z# u# h* {9 [% o" ]

3、 所有测试成功的函数都将在这里进行更新,这是你独一无二的函数集中库。

5 {% H8 B2 \$ g9 ?

4、 不同硬件环境下的不同模板(STM32F4、STM32F1),相同硬件环境不同功能(FLASH 下载,RAM 下载、仿真功能、Debug 调试版本、Release 最终版本)


. |2 j7 A. z% I

下面开始一步步建立适合你自己的模板(将以我自己的习惯作为介绍)。


8 c3 N! K4 o0 ^, {3 b
01
—
开发平台设置
) n: N6 `+ H8 e2 a

为了更好的使用 KEIL 开发平台,有必要首先介绍一下平台的设置,该设置和工程无关,即当你将工程文件整个剪切到别的电脑上时,该设置只在你的电脑的 keil 有效,而不会影响别人电脑中的设置。这些操作还是有必要了解一下的,可以让你更方便的使用你的开发平台。

2 r: C/ @- m% N) ?

这个设置界面就是 Configuration:9 [- }- X; d1 V! h! e/ l. {+ Z* S


2 N0 f, Z  O) @3 K, O/ Q

微信图片_20221125142058.jpg

2 h) L% c5 `: |+ F

Editor 选项:


. [" c1 z( L2 a% [- `8 B( Q

我认为比较重要的就是 Encoding 了,这个是设置中文格式的,一般默认情况下使用的是 UTF-8,这个格式在 keil 平台的显示效果还是比较好的,但是在删除中文字符时,需要删除两次才能删除一个中文字符,显然是一件很麻烦的事情,而且很多时候换平台的时候或者移植别人的代码时,经常出现乱码的情况。所以我的建议是使用 GB3212 编码格式。

3 M" j0 t0 V. T( X: k

然后是 Virtual Space 这个功能可以开启,这样的话随处可以开始进行代码的编写或注释了(不明白的操作一下就知道了)。对齐方式(Auto Indent)采用 Smart。

- t' U/ X" y6 Z& C3 {) ^5 T# E

然后是这几个选项:

( i$ _6 F, x# L' o

微信图片_20221125142054.png


, I0 U' V9 z$ Y% A6 x$ I3 _1 f; K3 C( s

Automatic reload of external modified files 选项不勾选,这样当工程打开的文件在外部编辑器改变时,就可以提示是否需要重新加载或者不加载了。

& N$ d" S0 l% A1 `# s

后面三个依次是进入调试前保存工程设置、进入调试时保存文件(其实每次编译时都会自动保存文件的,文件右上角的*存在表示修改了,没有就说明已保存)、每过五分钟自动保存。


  |0 W% W7 s/ q) w! n5 b* s

微信图片_20221125142051.png


% M9 L( H- n' Y* V

然后 C/C++ 源文件使用语法颜色,这样一些关键字就会根据设置的颜色突显出来了。Table 大小默认选择 2,如果说你看别人的代码发现格式很乱,那么你可以试试更改这个数字。还有需要显示行数,这样你通过断言输出(assert_failed())就能够准确定位错误代码的位置了。

4 c% b# I1 H. T0 \( _$ s

微信图片_20221125142046.png 微信图片_20221125142353.png


+ J# X5 g7 [2 \: W

Colors & Fonts


2 {# Z  Z" _3 E* u( n1 F8 D

这个选项卡建议使用默认即可,刚开始写代码的时候也觉得有趣,就把一些常用的宏定义设置成自己想要的颜色(比如将 uint、uchar 当成关键字一样显示不同的颜色,后来慢慢的发现太麻烦了,还是保持原生态比较好)。


/ c! j0 J) ^! I8 k

User Keyword:


& b) s1 R9 ?$ V4 Z

设置属于自己的关键字,那么你设置的关键字就会如 void、int、char 等一样特殊显示了。建议还是不要设置。毕竟换一台电脑开发的话你会很不习惯的。

+ w  H  d7 O% N$ ^) ?7 e; N3 C  R

Shortcut Keys


* `% `, g# w! s: N9 S

这个选项可以看到 keil 软件的所有快捷键,当然你也可以自己设置自定义的快捷键。

9 W9 H6 d+ f5 }- X

Text Completion

, G1 H6 b, U& p8 N: \" O, ?

这个选项卡还是很有用处的,最最重要的就是开启代码自动补全的功能了,这样你写部分名称就可以自动补全全部的。当使用结构体时也可以自动列出你需要的成员变量进行选择。这里的 3 表示你写完 3 个字符后开始匹配工程中所有可能的名字。当然你也可以设置成其它数。


- i' S8 z; E4 W5 S0 j8 C

然后是动态语法检查,也就是边写代码边检查语法是否有问题,而不必如以前一样编译完了才知道有没有问题的,这样可以大大加快开发速度,毕竟如果你的工程很庞大,编译一次需要几十秒,还是很烦人的。

  O0 ?5 b- L6 B3 F/ V

动态检查结果通过以下路径打开

! o2 C0 `/ A  F. W" h" \

微信图片_20221125142042.jpg


* y( _, C$ b. ^" m% @& O

最后是 C/C++ 的模板,你可以将一些常用的的格式在这里写上,这样可以节省不少时间。注意#define | 中的丨,这个是用来定位光标的,当你插入代码之后,光标自动定位到这里。


' [; x/ U) e; |. h2 B; y1 r

微信图片_20221125142039.jpg


5 R( [8 [  e/ ?$ W  {  Z

微信图片_20221125142036.png

# A9 H+ @1 z) i/ n4 G8 z) w  W

转载自:鱼鹰

2 a$ S$ g" e7 Y+ `; a9 U% n
赞 收藏 评论0 发布时间:2022-11-26 14:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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