打印
[STM32L0]

在KEIL下搭建基于 STM32 和 rt-thread 的开发环境

[复制链接]
3488|53
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。

MDK(Keil)的安装和配置(**)就略过了。能进行开发移植系统的程序员如果还不会最基础的开发环境搭建,那……去闭关修炼吧。

芯片选择:ST(意法半导体)-STM32F103ZE
原因:

开发必备。大多单片机爱好者,学习过程基本是:菜鸟52->逐步深入stm32->深度中毒ARM。
ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。
ST开发容易。固件库和资料都很全,网上大把教程和学习板(大学期间的零花钱都被那几家X宝店赚了。。。)。而且固件库具有通用性,熟悉了一个产品线的开发之后,比较容易能够切换到其它的产品线。
刚好手上有核心板,仿真器随便捡一个都能适应,呵呵

使用特权

评论回复
沙发
wang6623|  楼主 | 2022-7-31 20:27 | 只看该作者
现在讲解一下项目开发过程
上RT_Thread官网,下载源码包,github主线有1.2.x、2.0.x和最新版本。浏览了各家说法后,我决定先去移植1.2.x版本,理由嘛,这货内容相对比较少,适合细细研究(主要是源码能大致看完和框架能更好的理解)。而且我的项目芯片的flash和RAM都比较小,剪裁一个稳定且小系统对我很重要。迟点再研究2.0.x也不迟,虽说框架不一样。

使用特权

评论回复
板凳
wang6623|  楼主 | 2022-7-31 20:28 | 只看该作者
框架图

使用特权

评论回复
地板
wang6623|  楼主 | 2022-7-31 20:29 | 只看该作者
1.2.x源码-工程文件

使用特权

评论回复
5
wang6623|  楼主 | 2022-7-31 22:16 | 只看该作者
bsp是放置各种芯片移植开发的配置文件。比如现在要开发STM32F103ZE芯片->对应目录是stm32f10x->目录里面包含应用层、驱动层和各开发环境的工程项目文件,初学者可以就此打开,并且研究其在移植开发中具体需要哪一些必需文件。(移植需要文件)

使用特权

评论回复
6
wang6623|  楼主 | 2022-7-31 22:16 | 只看该作者
components是放置各种组件的。所谓组件,就是一些配套的,做好的应用,方便你使用。(我理解的意思)。里面的finsh组件很不错,一定要去涉及。(看需求移植,开发过程中最好配上finish)

使用特权

评论回复
7
wang6623|  楼主 | 2022-7-31 22:17 | 只看该作者
documentation是,哦。

examples是一些关于rt_thread应用时一些API、编程、使用样例程序。还没细细研究过,仅供参考。

使用特权

评论回复
8
wang6623|  楼主 | 2022-7-31 22:18 | 只看该作者
include是包含了RT-Thread内核头文件,移植的时候需要包含路径。(移植需要文件)

使用特权

评论回复
9
wang6623|  楼主 | 2022-7-31 22:28 | 只看该作者
libcpu是存放各种内核文件,在移植中必需找到与自己芯片对应的内核文件。比如现在要开发STM32F103ZE芯片->对应arm目录下->cortex-m3内核。(移植需要文件)

使用特权

评论回复
10
wang6623|  楼主 | 2022-7-31 22:31 | 只看该作者
src是RT-Thread内核源文件。(移植需要文件)

使用特权

评论回复
11
wang6623|  楼主 | 2022-7-31 22:33 | 只看该作者
tools是支持各种集成开发环境的python文件,如常见的iar.py/keil.py/sconsui.py/vs2012.py(不会用)

使用特权

评论回复
12
wang6623|  楼主 | 2022-7-31 22:36 | 只看该作者

使用特权

评论回复
13
wang6623|  楼主 | 2022-7-31 22:38 | 只看该作者
App是放和应用有关的程序文件。

使用特权

评论回复
14
wang6623|  楼主 | 2022-7-31 22:41 | 只看该作者
Board是放置和电路板设置有关的程序文件,比如,串口的管脚定义。这个目录里面文件的意义,是把固件库 & rt-thread 与 应用有关的程序文件隔离开来。个人认为,这一层的作用是很重要的,要好好规划。

使用特权

评论回复
15
wang6623|  楼主 | 2022-7-31 22:43 | 只看该作者
Driver 目录。里面放置 rt-thread 提供的各种片上外设的驱动程序,需要从 rt-thread 的 bsp 子目录里面对应的芯片驱动中拷贝过来。之所以需要拷贝而非简单的引用,是因为这一层的驱动程序可能需要根据应用的需要做定制。

使用特权

评论回复
16
wang6623|  楼主 | 2022-7-31 22:44 | 只看该作者
Fireware 目录。里面放置 ST 固件库所需的文件,比如 stm32f10x_conf.h。

使用特权

评论回复
17
wang6623|  楼主 | 2022-7-31 22:44 | 只看该作者
RT-Thread 目录。里面放置 rt-thread 所需的配置文件,比如 rtconfig.h,组件,cpu内核,源代码文件等

使用特权

评论回复
18
wang6623|  楼主 | 2022-7-31 22:45 | 只看该作者
Listings\Output是keil编译输出文件

使用特权

评论回复
19
yiyigirl2014| | 2022-8-6 08:32 | 只看该作者
如果把资料整合一下会更好

使用特权

评论回复
20
wanduzi| | 2022-8-10 16:30 | 只看该作者
厉害,楼主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

390

帖子

0

粉丝