前言

嵌入式软件常用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下进行烧录,可以看到板子灯在闪烁,则证明移植成功。

STM32F103移植LiteOS保姆级教程(基于Ubuntu平台)相关推荐

  1. STM32F103移植LiteOS保姆级教程(基于Huawei-LiteOS-studio)

    前言 开始按照官方教程进行安装和配置发现会有一些问题,经过不断尝试终于可以在huawei-liteos-studio下编译移植成功.以下为STM32F103ZE移植LiteOS详细的完整教程. 步骤 ...

  2. 【操作系统】保姆级教程(VMware)Ubuntu+qemu+xv6安装调试

    虽然说入cs也不过一年,但学的还是有点慢了有点慌赶快恶补,os半年前计组和linux还没接触过过真的直接劝退,现在该赶快补回来.虚拟机不会像半年前一头雾水,昨晚配了下环境还行.(时哪个大冤种为了给An ...

  3. 新手入门保姆级教程,Linux平台和手机端SDK,基于Opencv、MNN、NCNN

    端侧部署开源项目:https://github.com/hzpzlz/EasyDeploy 一 MNN编译动态库 环境要求 cmake(建议使用3.10或以上版本) protobuf(使用3.0或以上 ...

  4. STM32F103移植LiteOS之跑马灯实验

    相关文章: STM32F103移植LiteOS保姆级教程(基于Huawei-LiteOS-studio) STM32F103移植LiteOS保姆级教程(基于Ubuntu平台) 在编译通过且能成功烧录的 ...

  5. win11 安装Ubuntu加可视化桌面(最新保姆级教程)

    win11.win10 安装Ubuntu加可视化桌面(最新保姆级教程) 前言 保姆级安装流程 第一节·安装前准备 第二节·安装ubuntu本体 第三节·可视化安装 前言 win11.win10 安装U ...

  6. 保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

    保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建 写在前面 配置VSCode的编译环境 配置VSCode的gdb调试环境 配置 ...

  7. 保姆级教程!基于声网 Web SDK实现音视频通话及屏幕共享

    前言 大家好,我是 @小曾同学,小伙伴们也可以叫我小曾- 如果你想实现一对一音视频通话和屏幕共享功能,不妨来看看这篇文章,保姆级教程,不需要从零实现,直接集成声网 SDK 即可轻松上手. 本文也分享了 ...

  8. 【保姆级教程】基于WordPress在阿里云服务器上搭建个人博客网站

    写之前先回答几个问题: 1,网上类似的教程非常多,为什么写这篇教程? 答:博客网站我搭建过好几次,但是每次搭建都需要再去网上搜教程:然而网上的教程坑很多,甚至有些是错误的,不能完美解决自己的问题,有时 ...

  9. 天才少年稚晖君 | 【保姆级教程】个人深度学习工作站配置指南

    天才少年稚晖君 | [保姆级教程]个人深度学习工作站配置指南 来源:https://zhuanlan.zhihu.com/p/336429888 0. 前言 工作原因一直想配置一台自己的深度学习工作站 ...

最新文章

  1. 数据研发岗位需要技能
  2. Memcached 缓存基础知识点1并64位系统 1.4.4版本安装
  3. python基础内容_python基础-python介绍
  4. python实战项目前后端分离flask_Flask Vue 构建前后端分离的应用
  5. 【狂神说】Redis笔记
  6. Asp.net中的时区
  7. 心里话:技术人需要及时明白的道理
  8. python 输入华氏温度f_如何用 python编写华氏摄氏度的相互转换?
  9. 资产放中间,模型策略放两边
  10. 如何写数学建模竞赛论文
  11. Qt小游戏开发:俄罗斯方块
  12. SCU2016-04 F题 (大模拟)
  13. 关于javase的面向对象部分的知识点的梳理,欢迎各位指正和补充
  14. cad怎么将图层后置_Auto CAD2014图层后置快捷键是什么啊?
  15. Linux下可回收删除
  16. 移动硬盘无法识别是怎么回事?还能数据恢复吗?
  17. html中的 语言设置
  18. Python期末考试总复习资料
  19. Nodejs发送https Post请求时出现socket hang up错误的解决办法汇总
  20. 金大侠眼光果然犀利:《笑傲江湖》只值一块钱 (转)

热门文章

  1. 运行时更换天空盒材质的贴图
  2. 量化投资 第27章 K线图 27.3.1
  3. image sharpening
  4. 关于小报童的源起:人们更愿意追随一个活生生的人,而非一个公司。
  5. Iverilog 源码分析 -- VCD的实现机制
  6. 用PHP编写,猜数字游戏,表单页面输入一个数字,随机产生1-10的整数,用户在表单填入数字,猜大小提示“猜大了、猜对了、猜小了”,如果猜对了重新产生随机数,进行下一轮。
  7. oracle写SQL快捷键,Oracle数据库PL/SQL快捷键设置详解
  8. 苹果CMS图片加载缓慢怎么解决?
  9. 查看python版本-教你如何检查 Python 版本
  10. 23种设计模式(中英文对照)