历史上的今天
返回首页

历史上的今天

今天是:2025年01月13日(星期一)

正在发生

2020年01月13日 | 在KEIL下搭建基于 STM32 和 rt-thread 的开发环境

2020-01-13 来源:eefocus

RT_thread开发人员是用MDK(Keil)进行开发管理的,当然也提供了IAR等开发环境的配置。针对初学者都提供了相关的教程和案例,不过项目开发,还是得讲究一下如何有效搭建开发环境和配置。


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


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

原因:


开发必备。大多单片机爱好者,学习过程基本是:菜鸟52->逐步深入stm32->深度中毒ARM。


ST芯片应用广泛。ST的性价比(点赞)和高性能在各领域都发挥着重要作用(好用吖)。

ST开发容易。固件库和资料都很全,网上大把教程和学习板(大学期间的零花钱都被那几家X宝店赚了。。。)。而且固件库具有通用性,熟悉了一个产品线的开发之后,比较容易能够切换到其它的产品线。


刚好手上有核心板,仿真器随便捡一个都能适应,呵呵


现在讲解一下项目开发过程

上RT_Thread官网,下载源码包,github主线有1.2.x、2.0.x和最新版本。浏览了各家说法后,我决定先去移植1.2.x版本,理由嘛,这货内容相对比较少,适合细细研究(主要是源码能大致看完和框架能更好的理解)。而且我的项目芯片的flash和RAM都比较小,剪裁一个稳定且小系统对我很重要。迟点再研究2.0.x也不迟,虽说框架不一样。


框架图 

RT_thread框架图

1.2.x源码-工程文件 

1.2.x源码-工程文件

bsp是放置各种芯片移植开发的配置文件。比如现在要开发STM32F103ZE芯片->对应目录是stm32f10x->目录里面包含应用层、驱动层和各开发环境的工程项目文件,初学者可以就此打开,并且研究其在移植开发中具体需要哪一些必需文件。(移植需要文件)


components是放置各种组件的。所谓组件,就是一些配套的,做好的应用,方便你使用。(我理解的意思)。里面的finsh组件很不错,一定要去涉及。(看需求移植,开发过程中最好配上finish)


documentation是,哦。


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


include是包含了RT-Thread内核头文件,移植的时候需要包含路径。(移植需要文件)


libcpu是存放各种内核文件,在移植中必需找到与自己芯片对应的内核文件。比如现在要开发STM32F103ZE芯片->对应arm目录下->cortex-m3内核。(移植需要文件)


src是RT-Thread内核源文件。(移植需要文件)


tools是支持各种集成开发环境的python文件,如常见的iar.py/keil.py/sconsui.py/vs2012.py(不会用)


自建开发工程目录 

Keil工程文件

App是放和应用有关的程序文件。


Board是放置和电路板设置有关的程序文件,比如,串口的管脚定义。这个目录里面文件的意义,是把固件库 & rt-thread 与 应用有关的程序文件隔离开来。个人认为,这一层的作用是很重要的,要好好规划。


Driver 目录。里面放置 rt-thread 提供的各种片上外设的驱动程序,需要从 rt-thread 的 bsp 子目录里面对应的芯片驱动中拷贝过来。之所以需要拷贝而非简单的引用,是因为这一层的驱动程序可能需要根据应用的需要做定制。


Fireware 目录。里面放置 ST 固件库所需的文件,比如 stm32f10x_conf.h。


RT-Thread 目录。里面放置 rt-thread 所需的配置文件,比如 rtconfig.h,组件,cpu内核,源代码文件等


ListingsOutput是keil编译输出文件

推荐阅读

史海拾趣

EPIC公司的发展小趣事

近年来,随着元宇宙概念的兴起,Epic Games也开始在这一领域进行布局。公司首席执行官Tim Sweeney对元宇宙的发展潜力持乐观态度,并认为这将是未来游戏和社交领域的重要发展方向。为了实现这一愿景,Epic Games不仅在技术上进行了大量投入和研发,还与多个合作伙伴共同推动元宇宙生态的建设和发展。这些举措使得Epic Games在元宇宙领域取得了显著的进展,并有望在未来成为该领域的领军企业之一。

上海双岭电子(Double-peak)公司的发展小趣事

在保持核心技术优势的同时,双岭电子也积极探索跨界合作的可能性。通过与国内外知名企业和研发机构的合作,公司成功将场效应半导体器件应用于传感器、仪器仪表和自动化控制等领域。这种跨界合作不仅拓宽了公司的市场渠道,也提升了产品的附加值。同时,双岭电子还积极参与各类行业展会和交流活动,与业界同行建立了良好的合作关系。

EPIGAP公司的发展小趣事

EPIGAP公司非常重视创新文化的建设。公司鼓励员工提出新的想法和创意,并为员工提供充分的支持和资源。此外,EPIGAP还积极引进和培养人才,建立了一支高素质、专业化的研发团队。这支团队在公司的发展历程中发挥了至关重要的作用,不断推动公司产品的升级换代和技术创新。

Chenmoun Enterprise Ltd公司的发展小趣事

随着公司业务的不断扩张,Chenmoun Enterprise Ltd开始实施全球化战略布局。公司在全球范围内设立了研发中心和生产基地,充分利用各地的资源优势和人才优势,提升产品的竞争力。同时,公司积极开拓国际市场,与多家国际知名企业建立了紧密的合作关系,实现了业务的快速增长。

CUI Devices公司的发展小趣事

作为CUI Devices的重要组成部分,其电机品牌在近年来取得了显著的进步。公司的产品线涵盖了电位器、旋转编码器、步进电机、步进伺服电机和伺服电机等多个领域。通过不断的技术创新和市场拓展,CUI Devices的电机产品已经在全球范围内赢得了广泛的声誉和市场份额。

amcc [applied micro circuits corp]公司的发展小趣事

在COVID-19全球大流行期间,CUI Devices展现出了高度的社会责任感。公司决定向那些致力于设计和制造抗击疫情关键医疗设备的OEM、制造商、志愿者和组织提供免费的产品样本。这些样本涵盖了呼吸器、呼吸机、血液分析仪、测试设备、患者监护仪、成像系统和家庭医用器材等多个领域。此外,公司还与全球的制造设施和分销合作伙伴紧密合作,以确保其多样化的产品组合能够随时满足市场需求。

问答坊 | AI 解惑

显示控制器论文大全

搜集了很多基于FPGA/CPLD的显示控制器论文还有液晶显示控制器芯片设计方面的论文 如附件两张图所示…

查看全部问答>

求助: arm-linux-gcc下的字节对齐问题

2套不同的协议。 对内协议使用默认的 4字节对齐, 网络通讯协议使用单字节对齐。 希望对 2种协议定义的结构体使用不同的字节对齐方式。 查了一下百度,试了几种网上提供的方法好像都无效。 1. typedef struct {         un ...…

查看全部问答>

求vxworks的ospf源码 ?

求vxworks的ospf源码,哪位大侠有?请给一份,先谢了! jorsen_gong@hotmai.com …

查看全部问答>

急救 !!!!!!!!!!!!万里求救!传感器 单片机LED显示设计电路图

通过485 通信到485接口接收数据然后用(单片机)LED显示     气体浓度在0-0.5%是绿灯亮   0.5%-1%黄灯亮 蜂鸣器响且响的频率慢       >=1%红灯亮 蜂鸣器响且响的频率快     用AT89c2051做出 ...…

查看全部问答>

大家新年好啦~~~~~~~~

                                 大家新年好啦~~~~~~~~ …

查看全部问答>

Keil C51怎么调用波兰语?

求助:   客人需要在液晶屏上显示波兰语,液晶屏自带波兰语字库。是大段的提示性文字,无法做成图片。用Keil C51,输入波兰语显示的都是问号,烧好芯片后,液晶屏也都显示的问号。求助高手!!!…

查看全部问答>

为什么我在C2000培训中考了很多次试,查看答卷和查看成绩里边都是空的,而且只有首...

为什么我在C2000培训中考了很多次试,查看答卷和查看成绩里边都是空的,而且只有首次考试成绩…

查看全部问答>

关于易电源的评价

易电源的特点: 灵活高效       减小解决方案的尺寸       市场上最低的控制器物料清单解决方案       暴露焊盘 TSSOP-14 封装       负载电流:高达 1 ...…

查看全部问答>

【新手】问MWC飞控能用PL2303或者CH340调试焼写程序吗

本帖最后由 paulhyde 于 2014-9-15 03:34 编辑 问MWC飞控能用PL2303或者CH340调试焼写程序吗?本人买了套件,但是没注意需要买FTDI烧录器。同样是usb转串口,不知道能不能替换使用?求解释?    …

查看全部问答>

求各位大神帮忙写个程序,感激不尽

我想用51单片机实现pwm控制led灯  主要功能是 1按下1键逐渐变亮   到达最亮保持最亮的亮度 2按下2键逐渐变暗   到达最暗保持最暗的亮度 3按下3按键亮度停止在按下按键的那个亮度 4显示时间  时间可以 ...…

查看全部问答>