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

版权声明:本文为yanyanlily原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yanyanlily/p/8125027.html