LiteOS on DevCloud

网友投稿 540 2022-05-30

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

LiteOS on 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】大咖手把手教你玩转知识点

企业敏捷转型之初试Scrum

企业架构转型之初试“微服务”

【最佳实践】短视频、快节奏,教你如何端到端践行DevOps

如何开发一款简单好用的在线接口文档管理工具

【On DevCloud】以语言为维度讲解如何将项目迁移上云

Android on 华为云DevCloud

软件开发平台 DevCloud LiteOS 软件开发云

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Node.js基本使用2
下一篇:一日一技:在 Puppeteer 中如何拦截并修改网站的 JavaScript 代码
相关文章