昨天在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.comiteOS/LiteOS.git
  等待下载完成即可
  【第四步】Huawei LiteOS源码移植
  这一步要细心,跟着教程一步一步来,需要注意的是我们下载的源码可能和教程的不太一样,我们用的OS_CONFIG文件是在LiteOS\targets\STM32F103VET6_NB_GCC这个目录下面,其它跟着教程该就可以了。

在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南的更多相关文章

  1. zedboard开发板上移植opencv代码(立体匹配)

    前言 公司要做立体匹配相关的项目,已有matlab和c++版本,可是不能做到实时显示立体信息,想要硬件实现实时,无奈本渣也是个硬件的新手,先按照实验室lyq同学的思路在zedboard开发板的纯ARM ...

  2. ZTE AD3812 3G模块在linux 2.6.34 内核的开发板上的支持方法

    先说段废话,话说在linux 2.6.34 下,好多比较新的3G网卡及3G模块都没有很好的支持.如果想支持的这些3G网卡/3G模块呢,基本上有两种方式: 1.使用该3G模块的 linux 下的驱动,交 ...

  3. easycwmp在开发板上的配置

    原创作品,转载请注明出处 copyright:weishusheng   2015.3.18 email:642613208@qq.com 平台: Linux version 2.6.32-279.e ...

  4. FS210开发板上Qt4.7.0移植过程

    作者:冯老师,华清远见嵌入式学院讲师. 1. 搭建Qt开发环境平台 1.开发环境:ubuntu 12.04 2.交叉编译链:arm-cortex_a8-linux-gnueabi 3.开发板:FS21 ...

  5. 开发板上使用core文件调试

    转载:http://www.nginx.cn/1521.html 如果开发板的操作系统也是linux,core调试方法依然适用.如果开发板上不支持gdb,可将开发板的环境(依赖库).可执行文件和cor ...

  6. [转载]在iTOP-4412开发板上调试helloworld应用

    本文转自迅为论坛:http://www.topeetboard.com 1.安装ADB驱动 在开发板上调试 Android 应用,首先要安装 ADB 驱动. 通过“SDK Manager.exe”来安 ...

  7. DE1-SOC开发板上搭建NIOS II处理器运行UCOS II

    DE1-SOC开发板上搭建NIOS II处理器运行UCOS II   今天在DE1-SOC的开发板上搭建NIOS II软核运行了UCOS II,整个开发过程比较繁琐,稍微有一步做的不对,就会导致整个过 ...

  8. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  9. 运行在TQ2440开发板上以及X86平台上的linux内核编译

    一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...

随机推荐

  1. xml解析-jaxp修改结点

    jaxp修改结点 / 修改第一个p1下面的sex内容是nan * 1.创建解析器工厂 * 2.根据解析器工厂创建解析器 * 3.解析xml返回document * 4.得到sex item方法 * 5 ...

  2. [UIApplication sharedApplication].keyWindow.rootViewController

    一般来说 [UIApplication sharedApplication].keyWindow.rootViewController 会在 appDelegate 中初始化,并且整个应用运行过程中都 ...

  3. Android 网络加载通用Loading

    为了用户体验用好,App在网络请求时通常都会显示个进度显示圈圈,提示用户耐心等待,最脍炙人口的莫过于登录啦. 接下来我们就通过Dialog来实现,然后在BaseActivity,BaseFragmen ...

  4. 我写了个项目,帮你学习HTTP接口测试!

    端午节我写了一个项目,帮助你学习HTTP接口测试. GitHub地址: https://github.com/defnngj/learning-API-test 整个项目基于Flask和 Reques ...

  5. python 中文分词库 jieba库

    jieba库概述: jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库分为精确模式.全模式.搜索引擎模式 原理 1. ...

  6. C学习笔记(7)--- typedef,输入输出

    1.typedef: C 语言提供了 typedef 关键字,您可以使用它来为类型(type)取一个新的名字. 比如: typedef unsigned char BYTE; 然后你就可以把BYTE当 ...

  7. react中界面跳转 A界面跳B界面,返回A界面,A界面状态保持不变 redux的state方法

    在上一篇文章中说过了react中界面A跳到B,返回A,A界面状态保持不变,上篇中使用的是传统的localStorage方法,现在来使用第二种redux的state方法来实现这个功能 现在我刚接触red ...

  8. C++学习一 结构与结构体

    结构体属于C++与C区别之一. 代码例子如下(来自<C++程序设计>): #include <iostream> #include <string> using n ...

  9. SpringCloud学习笔记(三、SpringCloud Netflix Eureka)

    目录: 服务发现简介 SpringCloud Netflix Eureka应用 Eureka高可用 Eureka源码分析 >>> Eureka Client初始化(客户端定时获取服务 ...

  10. 开源项目 13 log4net

    原文:https://www.cnblogs.com/pudefu/p/9300697.html 官方的api: http://logging.apache.org/log4net/release/s ...