前言
嵌入式软件常用linux系统进行开发,LiteOS于linux平台上的移植相比win的移植会简单许多,本文基于Ubuntu平台对STM32F103的LiteOS移植教程进行详细讲解。
步骤
1.下载系统源码
前往官网链接:https://gitee.com/LiteOS/LiteOS
点击下图所示按钮下载LiteOS下载系统源代码,或者复制链接在ubuntu中用git拉取都是可以的
2.安装相关依赖
解压源代码,打开tools->menuconfig->README_CN.md可知编译需要下载和配置的依赖:
(1)安装python,推荐安装python3版本
sudo apt-get install python3.8
(2)安装pip,如果装的python3系列版本一般会自带不需要安装
(3)安装kconfiglib依赖
sudo pip3 install kconfiglib
3.配置arm交叉编译器
前往官网链接,下载2019版本之后的linux版本,否则会因为版本过旧而无法进行后续编译:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads#
我这里下载的是gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2。下载完成后,在ubuntu的/usr/local/下创建目录arm
sudo mkdir /usr/local/arm
将编译器文件拷贝到此目录进行解压
tar xvfj gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
4.更改相关文件内容
打开~/.bashrc文件
sudo vi ~/.bashrc
在最后添加如下两行配置:
export PATH=$PATH:/usr/local/arm/gcc-arm-none-eabi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-arm-none-eabi/lib
执行如下命令使其配置更改生效
source ~/.bashrc
5.更改相关文件
打开源码目录下tools->menuconfig下的Makefile.config文件,可知后续编译需要调用python相关命令,但我们此时不知道命令是python还是python3.x,我们需调用终端,输入python再按下两次tab键如下:
可知是python3或python3.x,我这里选择则将python将为python3
6. 配置.config文件
在源码目录下执行make menuconfig,用上下左右键和空格键控制,Targets下空格选中Family(STM32)的STM32和Target (STM32F103_FIRE_Arbitrary)的STM32F103_FIRE_Arbitrary,最后按S保存
默认是配置好的,如果没更改的话会提示一些错误,但是不会有问题
7. 编译生成可执行文件elf
在源码目录下执行make命令,开始编译
8. 将elf文件转化为hex文件
编译成功后,会在源码目录out->STM32F103_FIRE_Arbitrary下生成HuaweiLiteOS.elf和.bin文件,但是还没办法烧录到开发板,我们需要将elf文件转化为hex文件才能烧录。在配置编译器的基础上执行以下命令:
arm-none-eabi-objcopy -O ihex Huawei_LiteOS.elf Huawei_LiteOS.hex
可以看到目录下生成了.hex文件,拷贝到win下进行烧录,可以看到板子灯在闪烁,则证明移植成功。