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

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

华为软件开发云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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。