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

STM32初学笔记(二)新建项目

[复制链接]
nenoyaji 发布时间:2020-12-18 11:16
STM32初学笔记(二)新建项目


后期所有项目的建立均基于keil5开发环境进行创建。

新建一个项目大概有三种方法:
(1)使用keil5的RTE(Run-Time Environment)配置环境(默认标准库);
(2)使用STM32CubeMx图形界面配置,生成的代码是基于HAL库和LL库的,然后使用keil5开发;
(3)从官网自行下载固件库,搭建工程。有兴趣的朋友可以分别尝试一下。

本篇文章使用第三种方法,主要内容如下:

1、下载固件库
2、建立项目工程文件夹
3、新建项目

1、下载固件库
登录ST官网下载固件库,选择工具与软件->嵌入式软件->STM32微控制器软件->STM32标准外设软件库,选择对应系列的固件库进行下载。
4.1.png

4.2.png
4.3.png


解压后包含以下文件:
4.4.png
2、建立项目工程文件夹
新建项目文件夹,里面再建3个文件夹,CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数),USER(存放用户自己的函数),如图。

4.5.png

将Libraries\CMSIS\CM3\CoreSupport中的文件复制到CMSIS中,再将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的文件全部复制到CMSIS中。最终CMSIS中的文件如下图。
4,6.png

将Libraries\STM32F10x_StdPeriph_Driver中的 inc和 src 两个文件夹复制进FWLIB文件夹。
4.6.png

将Project\STM32F10x_StdPeriph_Template中的这几个文件复制进USER。
4.7.png


3、新建项目

菜单中选择Project->New uVision Project弹出文件夹选择窗口,选择前面建立的项目文件夹,输入项目名称,选择保存。弹出单片机型号选择窗口,选择需要的型号,选择OK,弹出RTM配置窗口,这里选择Cancel。

单击项目管理按钮(Manage Project Items)弹出项目管理对话框。


4.8.png

4.9.png

配置完后的文件结构如下图。

4.10.png

FWLIB存放的是外设驱动的库文件,可以根据用到的外设进行添加,全部添加会造成编译速度慢,占用内存大,这里只添加了gpio和rcc的库文件。
对不同型号的STM32,需要选择不同的启动文件。ST提供了3个启动文件,适用于不同容量的STM32芯片。他们是:startup_stm32f10x_ld.s、startup_stm32f10x_md.s、startup_stm32f10x_hd.s。其中,ld.s适用于小容量产品;md.s适用于中等容量产品;hd适用于大容量产品。这里的容量是指FLASH的大小.判断方法如下:小容量:FLASH≤32K;中容量:64K≤FLASH≤128K;大容量:256K≤FLASH。
删除main.c文件中的内容,只留下一个空的主函数即可,然后添加自己的内容。

单击选项按钮弹出配置界面,在Target选项卡中,配置晶振频率,然后切换到C/C++(AC6)选项卡中的Define输入框内输入STM32F10X_HD,USE_STDPERIPH_DRIVER,并在IncludesPath中添加头文件的路径。
4.11.png
4.12.png


添加STM32F10X_HD和USE_STDPERIPH_DRIVER这两个宏是为了能够使用库文件。原因如下。

在stm32f10x.h中有以下语句:

4.13.png



可以看出,只有定义了STM32F10X_HD这个宏,才可以顺利编译,定义将会用到的与外设有关的宏。
4.14.png

只有定义了USE_STDPERIPH_DRIVER宏,才可以将stm32f10x_conf.h头文件包含进来,而这个头文件,将我们要用到的..\STM32F10x_FWLib\inc目录下的23个头文件都包含了进来!否则,我们无法使用..\STM32F10x_FWLib\src中的固件库。

至此,项目框架就搭建完成了,并完成了基本的配置。
由于不同的芯片型号和不同版本的开发环境,可能仍需修改一些其他的配置,先编译一下,若出现错误可以根据错误提示在浏览器中搜索解决方案,不同的人可能通过不同的方法解决编译错误,暂时不需要深究原因。



文章出处:樊学谦  机械智者


收藏 评论2 发布时间:2020-12-18 11:16

举报

2个回答
radio2radio 回答时间:2020-12-18 12:29:34
新建项目,谁还使用标准库? 标准库已经不再更新了,特别是新的芯片没有标准库可以用。
Angel_YY_ST 回答时间:2020-12-18 13:44:24
提示: 作者被禁止或删除 内容自动屏蔽

所属标签

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