在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南
昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢,心血来潮,想在自己现有的开发板上移植Huawei LiteOS操作系统,在操作之前想要考清楚一些基本知识。 首先,什么是Huawei LiteOS,百度搜索Huawei LiteOS,可以搜到很多关于Huawei LiteOS的信息,并且还有官网,进入官网:华为Huawei LiteOS官网。稍微做一说明,Huawei LiteOS是一款针对物联网领域的轻量级操作系统,也就是说这是一种可以安装到单片机上的操作系统软件,并且是开源项目,用户可以从GitHub上获取该项目的源码:Huawei LiteOS源码,
除此之外,该项目支持ARM Cortex-M0、M3、M4、M7等芯片架构。这也就说明了在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统是可行的,战舰V3开发板是用的STM32F103ZET6,芯片内核架构是ARM Cortex-M3。
我手头上现有的板子是秉火的挑战者开发板,芯片是STM32F429IGT6,内核架构是ARM Cortex-M4,按说明是可以正常移植的。那么现在开始进行移植,参考资料:Huawei LiteOS移植指南,因为这个指南写的非常的详细,本帖子不会一步一步再重新写一篇,而是做一个总结型的归纳以及一些关键误区的提醒。
【第一步】做好相关的软件、驱动准备
准备的软件有:
(1)STM32CubeMX ST官方推出的图形化编程软件 下载链接:STM32CubeMX下载
(2)Keil uVision5 德国Keil公司开发的编译软件 下载链接:Keil uVision5下载
(3)串口驱动CH340 嵌入式开发必备驱动,网上有很多
(4)程序下载器驱动ST-Link或者J-Link等
(5)Git 用于克隆GitHub上边的源码 下载链接:Git forWindows
【第二步】构建裸机工程
下载好STM32CubeMX软件并安装好相应的库,然后就可以开始搭建相应的裸机工程。STM32CubeMX运行依赖Java1.7及以上的环境,所以如果主机上未安装Java1.7及以上环境的需要安装相应的环境。查看主机Java是否安装及查看Java版本号的DOS指令为:
java 查看是否安装java环境
java -version 查看java版本
需要注意的是:STM32CubeMX随着版本的更新,界面都有所改变,但是核心的东西是大体不变的。
最后的配置如图所示:

配置完成后点击生成源代码按钮:
最后生成的裸机工程如图所示:
【第三步】获取Huawei LiteOS源码
源码地址:Huawei LiteOS源码
教程里面要用到一个叫做Git的工具,这个工具可以从GitHub上Clone源码,如果不知道都是直接按如下图所示的步骤直接下载了。
我做了对比,按教程上下载方式和我们小白下载的方式下载文件还确实有点不太一样,对比如下:
LiteOS(Git下载) LiteOS-master(小白萌新直接下载)

其实发现,光从文件名上来看,其实差别并不是很大,但是时间关系,我没有用LiteOS-master这份源码文件做测试。
这一步中需要注意的是Git工具的使用,刚注册GitHub的账户是无法使用SSH下载的,需要填写秘钥。
(1)先下载Git这个软件:Git for Windows,并安装。
(2)然后在任意目录,右键选择Git Bash Here,它会打开一个黑框框,
(3)输入指令:ssh-keygen -t rsa -b 4096 -C "GitHub用户注册邮箱" 回车,需要正确填写我们注册的GitHub用户的注册邮箱,然后就会自动生成一对秘钥,一对是指两个,一个是公钥,一个是私钥。公钥用于开通GitHub的SSH服务。
输入这个指令之后会有三步是需要我们来填写和确认,如图所示:
这两个密钥都存放在C盘的的User目录下的Administrator下的.ssh里面。先去如该目录,指令为:
cd ~/.ssh
然后查看公钥和私钥的指令分别为:
cat id_rsa 查看私钥
cat id_rsa.pub 查看公钥
复制公钥指令为:
clip < id_rsa.pub
然后就可以在GitHub中开通SSH服务了。
下载源码指令为:
git clone -b develop git@github.com
iteOS/LiteOS.git
等待下载完成即可
【第四步】Huawei LiteOS源码移植
这一步要细心,跟着教程一步一步来,需要注意的是我们下载的源码可能和教程的不太一样,我们用的OS_CONFIG文件是在LiteOS\targets\STM32F103VET6_NB_GCC这个目录下面,其它跟着教程该就可以了。
在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南的更多相关文章
- zedboard开发板上移植opencv代码(立体匹配)
前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...
- ZTE AD3812 3G模块在linux 2.6.34 内核的开发板上的支持方法
先说段废话,话说在linux 2.6.34 下,好多比较新的3G网卡及3G模块都没有很好的支持.如果想支持的这些3G网卡/3G模块呢,基本上有两种方式: 1.使用该3G模块的 linux 下的驱动,交 ...
- easycwmp在开发板上的配置
原创作品,转载请注明出处 copyright:weishusheng 2015.3.18 email:642613208@qq.com 平台: Linux version 2.6.32-279.e ...
- FS210开发板上Qt4.7.0移植过程
作者:冯老师,华清远见嵌入式学院讲师. 1. 搭建Qt开发环境平台 1.开发环境:ubuntu 12.04 2.交叉编译链:arm-cortex_a8-linux-gnueabi 3.开发板:FS21 ...
- 开发板上使用core文件调试
转载:http://www.nginx.cn/1521.html 如果开发板的操作系统也是linux,core调试方法依然适用.如果开发板上不支持gdb,可将开发板的环境(依赖库).可执行文件和cor ...
- [转载]在iTOP-4412开发板上调试helloworld应用
本文转自迅为论坛:http://www.topeetboard.com 1.安装ADB驱动 在开发板上调试 Android 应用,首先要安装 ADB 驱动. 通过“SDK Manager.exe”来安 ...
- DE1-SOC开发板上搭建NIOS II处理器运行UCOS II
DE1-SOC开发板上搭建NIOS II处理器运行UCOS II 今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...
- 运行在TQ2440开发板上以及X86平台上的linux内核编译
一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...
随机推荐
- Meterpreter初探
Meterpreter Meterpreter号称"黑客瑞士军刀",Meterpreter是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击载荷使用,攻击载荷在触发 ...
- Java --Lamda表达式
Lamda:属于函数式编程的概念: interface IMessage { public void print() ; } public class TestDemo { public static ...
- 区块链社交APP协议分析预告
2017年,比特币的火热,直接导致了代币市场的繁荣: 2018年,作为信用体系的未来解决方案,区块链引发了互联网原住民的淘金热. 作为风口上的引流神器,区块链技术与社交网络结合起来,产生了一系列区块链 ...
- tableView左划自定义带图片按钮
本方法实现的原理是将自定义按钮加在tableViewCell.contentView的屏幕外的frame上,打个比方,如果是5系的话,那么你自定义按钮的frame的起点就在(320+,0)(320+表 ...
- IDEA下新建Vue项目
1.首先需要安装nodeJS,并配置全局环境变量. 2.在IDEA中新建一个空的project 3.在setting中配置JavaScript的语言版本为6 在file types的html中添加.* ...
- 【Gradle】Gradle入门
Gradle入门 配置Gradle环境 安装之前确保已经安装配置好Java环境,要求JDK6以上,并且在环境变量里配置了JAVA_HOME,查看Java版本可以在终端输入如下命令: java -ver ...
- [Go] gocron源码阅读-判断是否使用root用户执行
判断是linux系统,并且uid为0,allowRoot是通过命令行传参传进来的,通过flag包解析出来的,可以使用go run node.go -h看到这些参数 && !allowR ...
- linux工作队列 - workqueue总览【转】
转自:https://blog.csdn.net/cc289123557/article/details/52551176 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载 ...
- mysql里面alter的用法
1:删除列 ALTER TABLE [表名字] DROP [列名称] 2:增加列 ALTER TABLE [表名字] ADD [列名称] INT NOT NULL COMMENT '注释说明' 3: ...
- PyQt5-TableWidget 表格视图
基于PyQt5 postgreSQL实现简单的数据插入.数据表格查询. 运行前需要安装psycopg2 模块,配置好postgerSQL. 先看效果图: 第1列为日期时间.第2列为自增1的编号.第3到 ...