LiteOS on DevCloud
1 概述
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 项目管理
2.1 创建项目
新建项目的开发流程包含两种类型:scrum流程、看板流程。Scrum流程是标准的敏捷开发流程,工作项层级为传统的scrum划分方法Epic->Feature->Story->Task&Bug,本项目为把工作划分的层级更清晰,选择了scrum流程。
3 代码托管
3.1 创建仓库
新建代码仓库时,选择“模板新建”,在搜索框中输入已经被公开为示例模板的仓库名称,选择该模板。
输入新的仓库名称(可以和模板仓库同名),即可创建代码仓
4 构建&发布
4.1 构建工具
嵌入式构建的工具主要是交叉编译工具链,交叉编译可以通俗理解成跨平台编译,就是在一种平台上使用该工具链进行编译,生成能运行在体系结构完全不同的另一种平台上的软件。比如在X86 CPU上编译出能运行在ARM内核平台上的程序,即使两个平台用的都是Linux系统,但该程序在X86 CPU平台上是不能运行的。
在嵌入式开发之前,都要在性能良好的PC上建立适用于目标机的交叉编译工具链,可以网上下载或自己制作工具链,本文中使用DevCloud提供的适用于嵌入式构建的arm镜像环境。
由于嵌入式产品的多样性,DevCloud提供的构建环境不可能涵盖所有场景,如不同的需求,可以制作包含项目工具链的私有镜像环境。
4.2 推荐镜像类型
目前,针对Gnu-arm构建推荐了三种已有镜像,本文使用的是第三种:
4.3 创建构建任务
新建任务,输入任务名,选择源码仓库
选择公共模板中的GNU-ARM
选择镜像gnuarm-7-2018-q2-update,输入构建详细信息
5 发布
5.1 发布软件包
将构建生成的软件包上传到软件发布仓库
下载发布包到本地
6 烧写
6.1 烧写工具
嵌入式主流的烧写工具种类很多,比如atmel公司推出的仅支持本公司系列ARM的SAM-BA,NXP公司推出的仅支持本公司系列ARM的Flash-Magic,本项目使用的板子为ST推STM32F系列芯片,因此我们使用STM32专用烧写工具进行软件包验证。
下载并安装STM32 ST-LINK Utility v3.8.0.exe,该工具自带驱动,无需额外安装ST-Link驱动。
6.2 芯片烧写
PC连接单板,获取芯片信息:Target->Connect
进行烧写验证: Target->Program&Verify…
6.3 查看效果
至此,恭喜您打通了软件开发云的各服务,完成了嵌入式云上开发环境的搭建。
7 附录
【云视界Live】大咖手把手教你玩转知识点
【最佳实践】短视频、快节奏,教你如何端到端践行DevOps
【On DevCloud】以语言为维度讲解如何将项目迁移上云
- 点赞
- 收藏
- 关注作者
评论(0)