Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
内核学习营
《内核学习营》+水一方+项目中创建标准的 RT-Thread工程
发布于 2018-09-06 16:02:07 浏览:2515
订阅该版
* 本帖最后由 吉帅虎 于 2018-9-12 09:41 编辑 * 加入学习营已经快一个月了,由于工作原因耽误了一周多的时间,今天把进度补上。 我发现很多学习者都是在原来的BSP包中修改调试自己想功能,这样做的好处当然是快捷方便,可以只学习自己要学习的那一部分内容,比如某一外设的具体应用,但是到具体项目的应用中还需要把工程剥离出来,以便存档或者给不同的工程师修改。 今天重新拾起RT-Thread的学习,首先学习了创建标准RT-Thread工程,并使用env进行配置。其实官方文档中有专门的介绍。只是文档比较多,一开始学习的时候不知道看哪一篇。 官方文档链接如下:[https://www.rt-thread.org/docume ... p-standard-project/](https://www.rt-thread.org/document/site/rtthread-application-note/setup/standard-project/an0017-rtthread-setup-standard-project/) 在这里我把新建文档中的一些问题和需要注意的着重说一下。 第一步,准备三大件:源码,env环境,编译器。 源码的下载推荐使用github,这个在官方文档里也有专门的说明[https://www.rt-thread.org/docume ... -setup-source-code/](https://www.rt-thread.org/document/site/rtthread-application-note/setup/source-code/an0016-rtthread-setup-source-code/)。如图所示 ![git-hub.png](/uploads/201809/06/151804wnyt5xfknllxefbr.png) env环境的配置在前面的学习中也讲过,官方文档也有,我就不再多说了。 编译器就更不用说了,keil或者IAR,我一直用keil 5,keil的安装也没啥说的,很基础的软件。 第二步。选择自己单片机对应的bsp,我用的是STM32F107VCT6,所以选择STM32F107 ![TIM图片20180906152711.png](/uploads/201809/06/152805h7ge6n7yyb7y9wju.png) 在这个文件下运行env,使用scons --dist命令。即可生成一个dist的文件夹,文件夹下存放的就是包含RT-Thread代码的工程文件,可以把这个文件夹(还有一个工程文件的压缩包)复制到任意的地方或者其他电脑,都可以正常使用(只能和正常的keil工程一样使用,如果其他电脑没有按照env环境,则不能使用env配置功能)。见下图 ![TIM图片20180906153208.png](/uploads/201809/06/153227yik3kk2q9h6z9h26.png)![TIM图片20180906153408.png](/uploads/201809/06/153442mdcq6xduzy555dd1.png) 下一步就是比较容易出问题的地方了。如果这个时候打开这个功能编译的话就会出现几十个错误,都是找不到一些文件,但是这些文件的路径都没有问题。见下图 ![TIM图片20180906153624.png](/uploads/201809/06/153659vx63vwjyzqopmhea.png) 这个问题纠结了我好长时间,后来有一块学习的同学给我指出来了,需要在新生产的工程文件夹下重新使用env配置一下工程就行了。据说这个问题在某个文档里提到过,但是我没有注意到,反正我决定这个算是一个bug,最起码算是不人性化的设计,也许有其他方面的考虑吧。不管怎么样,这里需要重新使用env配置一下。 但是我发现了另外一个问题。重新配置完成之后编译的功能仍然有两个错误 ![TIM图片20180906155512.png](/uploads/201809/06/155559pmhz6wey6m363mmv.png) 这个问题倒是很好解决,有两个函数是重复定义的,而且是与用户相关的函数,这个比较好处理,想在那个文件里用就保留那个文件里的。不用的删除就行。 经过这几个步骤,一个标准的RT-Thread工程就创建完成了,使用标准的RT-Thread工程的好处还是比较多的,首先是维护方便,那一部分的代码更新了更好对应的文件夹或者文件就行,再一个就是统一性比较好,同一个项目不同的工程师之间,甚至是与此项目无关的工程师,只要大家用的都是标准工程。在功能、组件的移植,添加上都是比较方便快捷的,而且大家的标准一样,更容易读懂对方的代码。相比在官方bsp里调试自己的代码。生成独立的工程更有利于对RT-Thread的理解,进一步的理解那些文件的有用的,那些是没有用的,那些是必须的,那些是可选的。而且这也是最终使用RT-Thread做项目的必经之路。 一点儿经验,其实主要是对官方文档的总结。希望对后来者有一些帮助!
查看更多
3
个回答
默认排序
按发布时间排序
yqiu
2018-09-06
这家伙很懒,什么也没写!
总结的很好,而且也指出了问题,点赞。
flyboy
2018-09-06
Do my self();
[i=s] 本帖最后由 flyboy 于 2018-9-6 16:41 编辑 [/i] 那个 dist 命令生成的工程编译报错的问题,是因为 源代码 没有更新,你去 github 上下载一个最新版3.1.0 版本的源代码吧,最好还是学会使用[http://www.baidu.com/link?url=CKM-dqAdC66fAjDUfzBry4cU1RoHeQhDHGHjTuMNFuVJwt1A6u6AkZEub9dXrUTB](Tortoise[i]Git[/i]) 更新源代码
吉帅虎
2018-09-06
这家伙很懒,什么也没写!
>那个 dist 命令生成的工程编译报错的问题,是因为 源代码 没有更新,你去 github 上下载一个最新版3.1.0 版 ... --- 谢谢
撰写答案
登录
注册新账号
关注者
0
被浏览
2.5k
关于作者
吉帅虎
这家伙很懒,什么也没写!
提问
12
回答
12
被采纳
0
关注TA
发私信
相关问题
1
【内核学习】rtthread内核移植记录-STM32F103ZET6-HAL库
2
《内核学习营》+水一方+自用STM32F103VC 板RT-Thread内核移植分享
3
内核学习营+坦然+探索者stm32f407板子RT-thread循环点亮led灯
4
<内核学习营>+坦然+探索者stm32f407板子RT-thread串口字符点灯
5
<内核学习营>+坦然+探索者stm32f407板子RT-thread的pwm点灯实验
6
<内核学习营>+坦然+探索者stm32f407板子RT-thread串口实验
7
<内核学习营>+坦然+野火stm32f103板子RT-thread读写SD卡实验
8
<内核学习营>+坦然+探索者stm32f407板子RT-thread的RTC闹钟实验
9
【内核学习营】+王秀峰+led_rgb
10
【内核学习营】+青春+简单使用GPIO驱动LED灯闪烁
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
a1012112796
13
个答案
1
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
6
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部