Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
开发环境
学习笔记
【12月】RT-Thread学习笔记 --(1)RT-Thread开发环境搭建
发布于 2020-12-03 09:12:40 浏览:1821
订阅该版
[tocm] 对于学习嵌入式实时操作系统,首先第一步要进行的是搭建好对应的开发环境,只有对应的环境搭建好了,才能进行下一步的开发工作。 RT-Thread为了方便广大开发者进行入门或者深入使用,其官网提供了十分丰富的参考文档,官网的文档中心链接:[https://www.rt-thread.org/document/site/](https://www.rt-thread.org/document/site/) ![0.png](/uploads/20201203/506cb14554e895e87902102509351640.png) RT-Thread的文档中心提供了入门学习,进阶学习,应用开发这三个层次的文档,开发者可以根据自己的实际情况进行选择。然而,对于一些没有基础的入门级开发者,面对如此复杂繁多的文档,难免会不知道如何下手,不知道先看哪一篇文档比较好。 在上完Sean老师的课程后,我进行了一些关于搭建开发环境的总结,主要是关于ENV配置工具和BSP包的使用。 ![1.png](/uploads/20201203/654ff3161d141bab9338a7bedeceb7a9.png) 在开发环境搭建之前,要先下载好ENV配置工具和RT-Thread相关源码,ENV配置工具的下载链接,如下:[https://www.rt-thread.org/page/download.html](https://www.rt-thread.org/page/download.html) ![2.png](/uploads/20201203/0f7f33ab7d4b8720cf32c94de1ef271f.png) 注意:在安装ENV工具之前,需要确保电脑已经正确安装了Git管理工具并配置到系统的环境变量当中,Git管理工具可以从以下链接进行下载: [https://git-scm.com/downloads](https://git-scm.com/downloads),具体安装方式可自行上网查询。 ENV工具的安装路径不能包含中文和空格,应该使用全英文路径。 RT-Thread的相关源码,下载链接:[https://gitee.com/rtthread/rt-thread?_from=gitee_search](https://gitee.com/rtthread/rt-thread?_from=gitee_search) 下载完成后,解压出来的文件夹如下图所示。 ![3.png](/uploads/20201203/40991fce925c9cbd26931fda76ab68bd.png) # **关于ENV工具的使用** ENV是RT-Thread提供的一个辅助开发工具,使用ENV可以很方便地构建出RT-Thread的工程项目。ENV提供了IAR、MDK、GCC工程的构建,集成了menuconfig配置裁剪工具,软件包管理功能,等等。 其中,menuconfig管理工具,沿用的是Linux kernel的Kconfig机制,当RT-Thread内核需要增加或减少某个功能时,可以使用menuconfig方便地进行配置,而不用从源码端一步步进行移植,提供了开发者的开发效率。 关于ENV工具的使用方法,可以参考RT-Thread的官方文档里面关于ENV的章节,有详细的介绍。[https://www.rt-thread.org/document/site/programming-manual/env/env/#](https://www.rt-thread.org/document/site/programming-manual/env/env/#) ![4.png](/uploads/20201203/c01a6a28c6793c3b93b1cbc7f0c43d4c.png) # **关于BSP包的使用** RT-Thread针对不同的芯片平台,提供了一些已经构建好的BSP(Board Support Package)板级支持包,开发者可以直接使用这些BSP包进行扩展开发,目前RT-Thread提供的BSP包如下图所示。 ![5.png](/uploads/20201203/8e2016f3ed145a1c72d8df27acefc572.png) 由于介子开发板使用的主控芯片是AT32F407,所以,开发板是可以基于at32这个BSP包进行开发的。进入bsp/at32/at32f407-start目录,可以看到BSP包的主要构成包括:工程模板,通过scons构建的工程,rtconfig.py构建脚本,等等,如下图所示。 ![6.png](/uploads/20201203/1c9988a055dfb7bbc0bb234493d35721.png) 在安装和配置好ENV工具后,在at32f407-start目录里面,右键打开ENV工具命令行终端,如下图所示。 ![7.png](/uploads/20201203/0234b32cdc338ee605d6ce34804470a9.png) RT-Thread是使用scons命令来进行工程构建的,如果是使用IAR或MDK来进行工程开发,可以使用以下命令构建对应的工程。构建IAR工程:scons --target=iar。构建MDK工程:scons --target=mdk5或scons --target=mdk4 menuconfig是一种图形化配置工具,,开发者可以使用menuconfig工具对RT-Thread内核进行配置和裁剪,关于menuconfig的快捷键介绍,如下图所示。 ![8.png](/uploads/20201203/e091466499a1252d2a04588c4e7f5b86.png) 注意,每次使用menuconfig对BSP进行配置后,都需要使用scons命令对相应的工程进行重新生成,以便配置能生效。 细心的开发者会发现,对于at32f407开发板,其BSP包里面的工程,需要依赖整个RT-Thread源码才能被正确编译,然而整个RT-Thread源码里面又包含了其他跟AT32不相关的BSP包,这样会导致整个工程很庞大和臃肿。 为了让BSP包生成跟AT32芯片相关的工程项目,移除其他不相关的芯片BSP包,可以使用以下命令:scons --dist,命令执行后,会在BSP包目录里面生成dist目录,这个目录里面包含了整个AT32的工程,可以把这个工程复制到任何目录下使用,如下图所示。 ![9.png](/uploads/20201203/17dad47aab2179491d5fe6f639d815ef.png) 要使用一个BSP包进行开发,一般会经过以下步骤: 1.使用menuconfig命令,对RT-Thread的内核和组件进行配置。 2.配置完成后,根据自己的编译器情况,使用scons --target=xxx生成对应的工程。 3.打开对应的工程,即可进行代码编写开发。 4.可以使用scons --dist命令,移除不相关的芯片,把工程单独抽离出来。 通俗地总结一下,ENV是一个工具包,这个工具包里面集成了一些命令,我们只需要在ENV的命令行窗口输入指定的命令就可以进行对应的操作。 menuconfig是工具包里面其中一个命令,这个命令可以调用一个图形化配置界面,可以让开发者方便地对RT-Thread内核进行配置和修改。 scons也是工具包里面其中个一个命令,这个命令是用来构建我们常用的IAR或MDK工程的,使用scons命令,就可以很方便地生成IAR或MDK工程,这样就不用手动地往工程里面添加源文件和头文件。 感谢阅读! ![qrcode40.png](/uploads/20201203/44c54532c5d27ecb8d818f1e7e1b22cc.png)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
embediot
这家伙很懒,什么也没写!
文章
11
回答
0
被采纳
0
关注TA
发私信
相关文章
1
请问兆易创新公司的GD32F130能用RT-Thread Studio开发吗?
2
请问有用过的eclips开发吗?
3
任务菜单指的是什么?
4
RT studio可以自己搭建开发环境吗?
5
rt-thread studio 删除工程失败
6
linux下pkgs --update显示无pkgs命令
推荐文章
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组件
热门标签
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
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部