概述

1.1 文章目的

本文主要想为研发嵌入式项目的企业或个人提供上云指导,通过本文中的示例项目 “智能显示器”,为开发者提供包括项目管理,代码托管,编译构建,部署等操作指导,覆盖软件开发全生命周期。

1.2 项目详情

项目简介:智能显示器是一个基于华为物联网操作系统LiteOS的嵌入式产品,单板使用的是STM32f429评估板,基于Cortex M4核芯片。本项目主要完成了LCD显示的应用开发,后续可以增加温控等开发。一般来说,基于LiteOS进行的业务开发主要有两种情况:第一种,需要修改LiteOS来适配芯片硬件参数,将LiteOS在一款新的芯片上运行起来。 第二种, 使用已适配好硬件芯片的LiteOS代码,能够直接在单板上运行,后续主要开发新的模块业务,以及增加新的单板外设。目前,已开源的LiteOS内核源码已适配好STM32F4芯片,因此本文不需要处理硬件参数问题。

项目周期:3周(敏捷迭代开发)

构建环境:centos gnuarm-7-2018-q2-update

部署环境:STM32F4291-DISCO单板

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

部署方式:STM32 ST-LINK Utility v3.8.0.exe

华为云服务:软件开发服务 DevCloud  

1.3 前提条件

注册华为云账号:华为云官网注册华为云账号,此账号适用于所有华为云产品。

安装单板烧写工具:下载并安装STM32 ST-LINK Utility v3.8.0.exe(自带驱动安装)。

项目管理

2.1 创建项目

新建项目的开发流程包含两种类型:scrum流程、看板流程。Scrum流程是标准的敏捷开发流程,工作项层级为传统的scrum划分方法Epic->Feature->Story->Task&Bug,本项目为把工作划分的层级更清晰,选择了scrum流程。

图片1.png

 

代码托管

3.1 创建仓库

新建代码仓库时,选择“模板新建”,在搜索框中输入已经被公开为示例模板的仓库名称,选择该模板。

 图片2.png

输入新的仓库名称(可以和模板仓库同名),即可创建代码仓

图片3.png

构建&发布

4.1 构建工具

嵌入式构建的工具主要是交叉编译工具链,交叉编译可以通俗理解成跨平台编译,就是在一种平台上使用该工具链进行编译,生成能运行在体系结构完全不同的另一种平台上的软件。比如在X86 CPU上编译出能运行在ARM内核平台上的程序,即使两个平台用的都是Linux系统,但该程序在X86 CPU平台上是不能运行的。

在嵌入式开发之前,都要在性能良好的PC上建立适用于目标机的交叉编译工具链,可以网上下载或自己制作工具链,本文中使用DevCloud提供的适用于嵌入式构建的arm镜像环境。

由于嵌入式产品的多样性,DevCloud提供的构建环境不可能涵盖所有场景,如不同的需求,可以制作包含项目工具链的私有镜像环境。

4.2 推荐镜像类型

目前,针对Gnu-arm构建推荐了三种已有镜像,本文使用的是第三种:

 

3.1.png

图片4.png

4.3 创建构建任务

新建任务,输入任务名,选择源码仓库

图片5.png

选择公共模板中的GNU-ARM

图片6.png

选择镜像gnuarm-7-2018-q2-update,输入构建详细信息

图片7.png

发布

5.1 发布软件包

将构建生成的软件包上传到软件发布仓库

图片8.png

下载发布包到本地

图片9.png

烧写

6.1 烧写工具

嵌入式主流的烧写工具种类很多,比如atmel公司推出的仅支持本公司系列ARM的SAM-BA,NXP公司推出的仅支持本公司系列ARM的Flash-Magic,本项目使用的板子为ST推STM32F系列芯片,因此我们使用STM32专用烧写工具进行软件包验证。

下载并安装STM32 ST-LINK Utility v3.8.0.exe,该工具自带驱动,无需额外安装ST-Link驱动。

图片10.png

6.2 芯片烧写

PC连接单板,获取芯片信息:Target->Connect

图片11.png

进行烧写验证: Target->Program&Verify…

图片12.png

 

6.3 查看效果

 图片13.png

至此,恭喜您打通了DevCloud的各服务,完成了嵌入式云上开发环境的搭建。

 

华为云DevCloud,5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐