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

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

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

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

2.低功耗(uA级别)

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

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

5.支持多种芯片

6.开放API

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

环境准备

本文将使用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

2.代码托管

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

3.代码检查

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

4.编译构建

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

云端编译构建的好处很多,首先不必下载交叉编译链,如果在本地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位操作系统,项目开发中,需要将两种开发环境,在同一台物理机上实现。

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

$sudo yum install xulrunner.i686

$sudo yum install libXtst.i686

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

5.软件包归档

6.本地烧写

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

7.查看效果

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 交叉编译就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能...
    Halo1236阅读 4,112评论 0 1
  • 2014-05-26 21:21:38构建Linux 编译Linux BeagleBone Black 14年即将...
    外星间谍阅读 3,420评论 0 9
  • 我初中的时候有过一个朋友。 一个剪着很短的头发,穿一套简单的运动服,叫做丁滢的女孩。 她的成绩特别好,尤其是语文成...
    Cathy在德意志阅读 815评论 0 0
  • 2018.12.7 星期五 天气晴 转眼又到了周五了,今天很冷我把棉衣棉裤都给大宝穿上了。怕他冻着了。中...
    五年六班陈乐奇阅读 65评论 0 0
  •  循环神经网络RNN让神经网络有了记忆, 对于序列话的数据,循环神经网络能达到更好的效果. 更多可以查看官网 :*...
    Jancd阅读 995评论 0 0