前言
- 最近想入手:RT-Thread Smart 操作系统,当前的Keil MDK5、RT-Thread Studio好像不能直接编译,所以先按照官方的指导,搭建一个gcc 的交叉编译环境出来
工程演示
- 这里搭建基于 ARM的
ART-Pi-smart
开发板的编译环境,像RISC-V的,只需要更改gcc交叉工具链
类型即可 - Windows下设置
gcc 交叉编译环境
,我之前的做法是直接设置系统的【环境变量】,也就是把gcc工具
的可执行的路径,添加到系统环境变量里面,这样保证系统重启后,设置的依旧生效
rt-smart
- 编译rt-smart,可以简单的分为编译内核、编译用户的应用程序两个部分,windows下默认使用
scons
编译,这个scons
可以使用RT-Thread 的ENV工具 - 直接编译rt-smart,会提示找不到工具链
下载工具链
- 通过查看工程根目录下的:
smart-env.bat
脚本,发现默认需要把gcc 的交叉工具
放在:\tools\gnu_gcc
目录下 - 或者需要改这个脚本,设置好路径,可以先这么设置
@set RTT_CC=gcc
@set RTT_EXEC_PATH=%cd%\tools\gnu_gcc\arm-linux-musleabi_for_i686-w64-mingw32\bin
@set RTT_CC_PREFIX=arm-linux-musleabi-
@set PATH=%RTT_EXEC_PATH%;%ENV_ROOT%\tools\gnu_gcc\arm_gcc\mingw\bin;%PATH%
- 可以使用脚本下载工具链,进入:
ART-Pi-smart\tools
目录,执行python 脚本:
python get_toolchain.py
,这个脚本会自动把gcc 交叉编译工具下载到指定的位置
设置环境变量
- 运行
smart-env.bat
脚本即可,使用:RT-Thread ENV工具,./smart-env.bat
编译
- 编译前,最好清理一下工程:ENV工具:
scons --clean
- 编译方法:ENV 工具:
scons
,后面可以加个PC CPU的线程数量,加快编译,如:scons -j6
编译产物
- 默认是elf文件,当然使用 gcc 的其他工具,可以生成 bin文件,当前rt-smart 通过载入 elf 文件,运行用户的应用程序
- 编译rt-smart 内核与用户的应用,都可以在ENV 工具下,直接使用
scons
编译
小结
- 初步了解rt-smart,可能会走一些弯路,然后再【峰回路转】,这样收获可能会更多
- 学习研究任何一个操作系统,如RT-Thread、zephyr、Linux,都需要不断的折腾编译、开发、调试环境,熟悉各个脚本,了解Windows下、Linux环境下的开发方法
- 后面继续研究如何使用VS Code 或 RT-Thread Studio,编译rt-smart,毕竟借助IDE开发嵌入式软件,会方便很多