国产实时操作系统rt-thread由于其功能强大,备受大家的喜爱,小沃现在给大家讲讲如何编译rt-thread在linux环境下,方面大家搭建云编译环境。
目前小沃使用的是ubuntu16.04操作系统,因为这个版本所使用的arm-linux-gcc版本与windows下的env最接近。rt-thread使用的是4.0.3,因为该版本相对稳定。
1.安装编译工具apt-get install gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi scons qemu-system-arm,其中qemu-system-arm为模拟器,菲必选。
2.进入rt-thread-4.0.3/bsp/stm32/stm32f103-onenet-nbiot路径
3.修改rtconfig.py
20行EXEC_PATH = r'C:\Users\XXYYZZ'改为EXEC_PATH = r'/usr/bin'
46行Device 字符串内增加' -std=c99'
62行下方添加POST_ACTION += OBJCPY + ' -O ihex $TARGET rtthread.hex\n'(让其可以生成hex文件,非必选)
4.安装menuconfig依赖apt-get install build-essential git libncurses-dev
5.使用scons --menuconfig进入配置页面,并按照自己的需求进行配置
6.安装运行pkgs --update需要的依赖,如果第5步没有选择第三方包,可以跳过
(1)apt-get install python-pip
(2)pip install requests
(3)source ~/.env/env.sh
7.运行pkgs --update,如果第5步没有选择第三方包,可以跳过
8.编译scons -j 2,如果有错误,可以修改board/linker_scripts/link.lds添加如下代码
/* section information for modules */
. = ALIGN(4);
__rtmsymtab_start = .;
KEEP(*(RTMSymTab))
__rtmsymtab_end = .;