概述

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流程。

代码托管

3.1 创建仓库

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

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

构建&发布

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.1 发布软件包

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

下载发布包到本地

烧写

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.如何快速开展嵌入式开发项目?相关推荐

  1. 跑道防侵入,华为云ModelArts平台助力航空器识别AI模型开发

    上海麦图信息科技有限公司,借助华为云ModelArts一站式AI开发与管理平台,开发出跑道防侵入场景中的航空器识别AI模型. 近年来,"AI的应用和落地"逐渐成了具化的关键词,它和 ...

  2. 华为云IoT智慧物流案例05 | QT应用开发

    华为云IoT智慧物流案例05 | QT应用开发 第一章 新建QT项目验证交叉编译环境 选项设置一览 新建QT项目进行验证(hello_qt) 第二章 学习编写QT智慧物流应用(基于阿正前辈已编译成功的 ...

  3. 华为云ModelArts获得中国信通院首批AI开发平台全能力域领先级证书

    近日,由中国人工智能产业发展联盟(AIIA)指导.中国信息通信研究院云计算与大数据研究所主办的2021可信AI成果发布会在线上举行.会上,主办方公布了人工智能开发平台功能评测结果,在产品能力赛道,华为 ...

  4. RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍

    原文出处:https://mp.weixin.qq.com/s/ljYZwMj3JaPN29dTAXA3bQ 随着国内第一本RISC-V中文书籍<手把手教你设计CPU--RISC-V处理器篇&g ...

  5. 【华为云实战开发】12.如何在云端快速开展Swagger接口测试

    1 Swagger简介 1.1 概要 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 总体目标是使客户端和文件系统作为服务器以同样的速度来 ...

  6. 【华为云实战开发】13.如何在云端快速搭建python网站

    1 概述 1.1 文章目的 本文主要想为研发Python项目的企业或个人提供上云指导,通过本文中的示例项目 "AI物体检测",为开发者提供包括项目管理,代码托管,代码检查,编译构建 ...

  7. 【华为云实战开发】9.如何进行PHP项目的快速搭建并实现CICD?

    1 概述 1.1 文章目的 本文主要想为研发PHP项目的企业或个人提供上云指导,通过本文中的示例项目 "workerman-todpole",为开发者提供包括项目管理,代码托管,代 ...

  8. 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?

    1 概述 1.1 文章目的 本文通过一个实例介绍如何使用软件开发服务DevCloud完成一个C#Web项目的开发. 1.2 项目详情 1. 项目名称:超级冷笑话网站 2. 项目简介:一个Web网站,包 ...

  9. 【华为云实战开发】16.DevOps交付模式下的软件测试

    文:华为云DevCloud  兵东 众所周知,近10年IT领域有两个关键的风向转变,传统IT向云计算转变,传统瀑布和迭代开发模式向敏捷开发模式转变.这两个转变促成了DevOps产品交付模式的出现.互联 ...

最新文章

  1. 20201028 《计算感知》第4节课 笔记
  2. Feature Tools:可自动构造机器学习特征的Python库
  3. php instanceof 基类,PHP强制对象类型之instanceof操作符
  4. .net byte转java byte_Java 最小值之谜
  5. 未来智慧城市长啥样?华为云让我们到深圳看一看
  6. 细说PHP(精要版)
  7. dnastar拼接反向互补序列_什么叫“反向互补序列”????????
  8. 武汉大学计算机网络安全学院,消息︱武汉大学计算机学院(新)与国家网络安全学院正式组建...
  9. 智能推荐系统开发中的十大要素
  10. DNS污染攻击详细教程
  11. HALCON帮助文件丢失
  12. 微信小程序链接生成二维码weapp-qrcode
  13. Java循环控制语句
  14. 新冠免疫细胞培养、转染、核酸分析整合解决方案
  15. 解决AutoCAD软件打开CASS软件成图字体显示成问号的问题
  16. lyse-building otp applications
  17. [XDOJ] ISBN号码
  18. Node.js微服务 2 :基于Seneca和PM2构建Node.js微服务
  19. android 三星闪退,三星手机升级安卓10微信闪退怎么办?(附解决方法)
  20. js 在js字符串中添加空格

热门文章

  1. ios 获取固件版本_觉得iOS测试版本BUG太多?系统降级试一试?
  2. hive中一个好用的函数reflect
  3. DOS打印目录树到文件
  4. MyBatis自学(1):MyBatis概述
  5. Java 判断是否包含指定的子串 contains()
  6. 201521123032 《Java程序设计》第8周学习总结
  7. 【CSS3】 理解CSS3 transform中的Matrix(矩阵)
  8. Java中多实现接口的一个好处
  9. oopc——7.面向接口编程
  10. RTT线程管理篇——RTT启动流程