在秉火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 ...
随机推荐
- Java性能 -- Lock优化
Lock / synchronized Lock锁的基本操作是通过乐观锁实现的,由于Lock锁也会在阻塞时被挂起,依然属于悲观锁 synchronized Lock 实现方式 JVM层实现 Jav ...
- 函数截流---js
<div id="show">0</div> <button id="btn">click</button> & ...
- 邮Z速递物流,让用户密码在网络中遨游
" 最近分析快递行业的APP上瘾了,求解救." 邮政作为快递行业一个傻大黑的存在,一直很奇怪,我一直在纳闷,邮政和EMS到底是不是一家,在很多网点,它们是一体的存在,但很多东西,又 ...
- Android MediaRecorder录制播放音频
1.请求录制音频权限 <user-permission android:name="android.permission.RECORD_AUDIO"/> RECORD_ ...
- git 入门教程之 git bash 竟然不支持 tree 命令
开门见山 git bash 是 Windows 用户安装 git 时默认安装的命令行工具,不仅界面漂亮功能也不错,大多数情况下可以替代 Windows 原生的 cmd 命令行. 然而,git bash ...
- RPM 包
RPM 包 RPM 包是由 Red Hat 公司所开发的包管理系统 RPM 经过编译,无法看到源码,但是安装速度会快很多 RPM 包管理 RPM 包命名规则 包名 - 版本号 - 发布版本号 . 软件 ...
- leetcode494. 目标和
给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S.现在你有两个符号 + 和 -.对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面. 返回可以使最终数组和 ...
- VBS实现UTC时间和本地时间互转
本地时间转UTC时间 dim SWDT, datetime, utcTime Set SWDT = CreateObject("WbemScripting.SWbemDateTime&quo ...
- 解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果
解惑:如何使用html+css+js实现旋转相册,立方体相册等动画效果 一.前言 最初还是在抖音上看到可以使用简单地代码实现炫酷的网页效果的,但是想要找到可以运行的代码还是比较困难的,最近突然想起就在 ...
- Ubuntu中如何使得程序在后台运行
Ubuntu中如何使得程序在后台运行 一.前言 在Ubuntu中有的程序启动需要执行改程序./bin目录下的文件,并且启动之后这个shell就不能使用和关闭了,非常的麻烦,因此就有了相应的命令来解决这 ...