【华为云实战开发】11.如何快速开展嵌入式开发项目?
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 查看效果
至此,恭喜您打通了DevCloud的各服务,完成了嵌入式云上开发环境的搭建。
华为云DevCloud,5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网
【华为云实战开发】11.如何快速开展嵌入式开发项目?相关推荐
- 跑道防侵入,华为云ModelArts平台助力航空器识别AI模型开发
上海麦图信息科技有限公司,借助华为云ModelArts一站式AI开发与管理平台,开发出跑道防侵入场景中的航空器识别AI模型. 近年来,"AI的应用和落地"逐渐成了具化的关键词,它和 ...
- 华为云IoT智慧物流案例05 | QT应用开发
华为云IoT智慧物流案例05 | QT应用开发 第一章 新建QT项目验证交叉编译环境 选项设置一览 新建QT项目进行验证(hello_qt) 第二章 学习编写QT智慧物流应用(基于阿正前辈已编译成功的 ...
- 华为云ModelArts获得中国信通院首批AI开发平台全能力域领先级证书
近日,由中国人工智能产业发展联盟(AIIA)指导.中国信息通信研究院云计算与大数据研究所主办的2021可信AI成果发布会在线上举行.会上,主办方公布了人工智能开发平台功能评测结果,在产品能力赛道,华为 ...
- RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍
原文出处:https://mp.weixin.qq.com/s/ljYZwMj3JaPN29dTAXA3bQ 随着国内第一本RISC-V中文书籍<手把手教你设计CPU--RISC-V处理器篇&g ...
- 【华为云实战开发】12.如何在云端快速开展Swagger接口测试
1 Swagger简介 1.1 概要 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 总体目标是使客户端和文件系统作为服务器以同样的速度来 ...
- 【华为云实战开发】13.如何在云端快速搭建python网站
1 概述 1.1 文章目的 本文主要想为研发Python项目的企业或个人提供上云指导,通过本文中的示例项目 "AI物体检测",为开发者提供包括项目管理,代码托管,代码检查,编译构建 ...
- 【华为云实战开发】9.如何进行PHP项目的快速搭建并实现CICD?
1 概述 1.1 文章目的 本文主要想为研发PHP项目的企业或个人提供上云指导,通过本文中的示例项目 "workerman-todpole",为开发者提供包括项目管理,代码托管,代 ...
- 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?
1 概述 1.1 文章目的 本文通过一个实例介绍如何使用软件开发服务DevCloud完成一个C#Web项目的开发. 1.2 项目详情 1. 项目名称:超级冷笑话网站 2. 项目简介:一个Web网站,包 ...
- 【华为云实战开发】16.DevOps交付模式下的软件测试
文:华为云DevCloud 兵东 众所周知,近10年IT领域有两个关键的风向转变,传统IT向云计算转变,传统瀑布和迭代开发模式向敏捷开发模式转变.这两个转变促成了DevOps产品交付模式的出现.互联 ...
最新文章
- 20201028 《计算感知》第4节课 笔记
- Feature Tools:可自动构造机器学习特征的Python库
- php instanceof 基类,PHP强制对象类型之instanceof操作符
- .net byte转java byte_Java 最小值之谜
- 未来智慧城市长啥样?华为云让我们到深圳看一看
- 细说PHP(精要版)
- dnastar拼接反向互补序列_什么叫“反向互补序列”????????
- 武汉大学计算机网络安全学院,消息︱武汉大学计算机学院(新)与国家网络安全学院正式组建...
- 智能推荐系统开发中的十大要素
- DNS污染攻击详细教程
- HALCON帮助文件丢失
- 微信小程序链接生成二维码weapp-qrcode
- Java循环控制语句
- 新冠免疫细胞培养、转染、核酸分析整合解决方案
- 解决AutoCAD软件打开CASS软件成图字体显示成问号的问题
- lyse-building otp applications
- [XDOJ] ISBN号码
- Node.js微服务 2 :基于Seneca和PM2构建Node.js微服务
- android 三星闪退,三星手机升级安卓10微信闪退怎么办?(附解决方法)
- js 在js字符串中添加空格