文档章节

华为如何打造物联网开发新平台—DevCloud和LiteOS的完美结合

 透明的鱼
发布于 2017/12/27 11:48
字数 908
阅读 51
收藏 1

华为云软件开发云(DevCloud)是集华为30年研发实践、前沿研发理念、先进研发工具,打造的一站式云端Devops平台,支持互联网开发、移动应用开发、微服务开发等主流研发场景,也同样支持物联网相关嵌入式开发场景。目前,在Devcloud代码托管平台,已经开放了LiteOS示例代码,开发团队或开发者可以申请Devcloud账号,下载该代码,在此基础上增量开发。

图片1.png

LiteOS是华为开源出来的轻量级实时操作系统,由Huawei LiteOS kernel、互联互通中间件、开放API以及安全组成,特性如下:

1.超小内核,基础内核可剪裁至不到10KB

2.低功耗(uA级别)

3.支持多种传输协议,wifi,BT,4G,NB-IOT等

4.从芯片,内核、传输保障E2E安全

5.支持多种芯片

6.开放API

我们可以在LiteOS的基础上进行物联网应用开发,像智能穿戴,车联网等。

图片2.png

环境准备

本文将使用Devcloud平台开发一个LCD显示功能,需要预先准备硬件设备和软件设备:

ØSTM32F4291-DISCO单板 STM32开发板(芯片型号STM32F429ZIT6)

Ø开发板供电(使用Mini USB连接线)

ØSTM32 ST-LINK Utility软件 自带ST-Link驱动,用于加载,烧写代码。

https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.license%3d1513163277956.html

1.项目管理

在Devcloud工作服务下,以思维导图的形式将开发任务细化成story

图片3.png

2.代码托管

如果想将LiteOS在一款新的芯片上运行起来,需要根据芯片硬件参数,修改LiteOS kenerl等等相关文件,Devcloud的示例代码中内核源码已适配好STM32F411芯片,本文将以STM32F429ZI芯片为例,介绍基Cortex M4核芯片的开发过程,本文将在STM32F429ZI单板LCD屏幕上显示文字。

图片4.png

3.代码检查

通过静态代码检查规则,发现代码中是否有内存溢出,全复杂度过高,代码重复率高的问题,该代码发现重复率太高,将部分重复代码抽象成公共接口或函数供各个地方调用,提高代码后期可维护性。

图片5.png

图片6.png

4.编译构建

使用cmake进行一键构建,云端直接打包成bin包。

图片7.png

 

云端编译构建的好处很多,首先不必下载交叉编译链,如果在本地centos上完成此工程构建,需要增加如下步骤:

i.下载交叉编译工具链

https://launchpad.net/gcc-arm-embedded/+download

ii.安装

a)安装路径

cd opt

b)解压

tar jxvf gcc-arm-none-eabi-5_4-2016q3.tar.bz2 -C /opt

c)修改环境变量

vim /etc/profile

添加export PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH

d)使新的环境变量生效

source /etc/profile

reboot(选择)

e)检查路径添加是否成功

echo $PATH

iii.开发环境适配

项目中,嵌入式平台采用32位操作系统,应用服务程序采用64位操作系统,项目开发中,需要将两种开发环境,在同一台物理机上实现。

图片8.png

嵌入式开发环境构建时,安装交叉编译环境,需要32位开发库。

$sudo yum install xulrunner.i686

$sudo yum install libXtst.i686

云上编译就省去了上述麻烦,只需创建一个cmake任务就可以了。

 

5.软件包归档

图片9.png

6.本地烧写

将云端的软件包下载到本地,连接STM开发板,使用ST-LINK工具加载烧写

图片10.png

7.查看效果

图片11.png

© 著作权归作者所有

粉丝 0
博文 96
码字总数 153598
作品 0
私信 提问
物联网操作系统华为超轻量LiteOS解读

物联网终端设备开发遇到瓶颈 物联网经过这些年的发展,在终端设备开发中显现出诸多问题。 1、终端设备需要低成本、低功耗。由于多为小型便携产品,因而电池寿命和硬件成本就成了关键问题,降...

linuxCool
2018/09/29
117
0
解码超轻量的华为LiteOS:为什么IoT需要专门的OS?

IoT设备真的需要OS吗?这是个问题。 物联网(IoT)作为拥有千亿级设备连接量的庞大市场,已经远超PC和移动手机市场体量。国内巨头在物联网平台已然较量了多个回合,而在此过程中,操作系统也...

王金旺
2018/09/01
0
0
华为物联网操作系统 - LiteOS

Huawei LiteOS 是华为面向IoT领域,构建的"统一物联网操作系统和中间件软件平台",以轻量级(内核小于10k)、低功耗(1节5号电池最多可以工作5年),快速启动,互联互通,安全等关键能力,为...

匿名
2016/11/15
40.4K
9
InfoQ:开放物联网大会启动筹备,免费报名参与

以智能硬件为代表的物联网势不可挡,也引领着新一波的创业浪潮。物联网的市场规模和价值潜力巨大,包含设备、传感器、计算资源等多个层面,同时也将全面覆盖消费市场、B2B市场和政府公共行业...

lateron
2014/12/02
3.8K
13
华为云技术专场 | 云原生时代IoT架构设计与DevOps实践

当今是云原生与物联网的时代,产业进入高速发展阶段,对技术架构、操作系统以及交付模式都提出更高的要求。本专题将探讨最新的物联网技术发展趋势,介绍华为物联网平台解决方案以及成熟案例分...

OSC_hSQJAs
06/25
67
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部