AliOS-Things 构建系统的介绍|学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 AliOS-Things 构建系统的介绍。

开发者学堂课程【HaaS 物联网应用开发课程AliOS-Things 构建系统的介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/801/detail/13825


AliOS-Things 构建系统的介绍

 

内容介绍:

一、Aos cube 介绍

二、Aos create 介绍

三、Aos make 介绍

 

一、Aos cube 介绍

1.Aos-cube 是 AliOS-Things 基于命令行的开发管理工具,其需要功能及指令:

工程配置与编译     aos create/aos make

固体下载调试       aos upload

应用开发框架       aos create

组件安装管理       aos install

设备管理           aos devices

代码审查           aos check

OTA 工具功能等     aos ota

这里主要介绍工程配置与翻译和应用开发框架这两个工具。

 

二、Aos create

1.Aos create 工程

可以根据用户指定的 app 和 board 信息创建一个新的工程,并生成此工程的默认配置,自动生成的配置文件存放在 .config 文件中

aos create project-b <BOARD >-t<SOURCE _APP>- d <TARGET_APP_PATH><TARGET_APP_NAME>

-b: 指定目标版名称,有效 board 列表可参考完整源码中的 platform/board 目录

root@8b09079bccla:/workspace#1s-laAli0s-Things/platform/board/lawk’ (print $9)’

haasedukl

haas100

haas101

这次创建的工程以 haaseduk1为模版。

-t:指定目标 App 所示用模板,可选;若不指定 ,则默认使用 new project_ template 作为模板

认模板位置:

Ali0S-Things/build/scripts/templates/new_project_template

总之在 app example下的所有的工程都可以选择。

-d指定目标 App目录及目标 App 名称,可选;若不指定,则使用当前目录

<TARGET APP NAME> 为必填项

也就是说,必须为新创建的工程取一个名字。

2.Aos create 案例

假设我们要在 aos_test 目录下面创建一个基于 haaseduk1 的默认模板的 APP 并命名为 test_app ,则使用指令和创建过程如下:

使用指令:aos create project-b haaseduk1 -d aos_test test_app

d 在 aos_project 目录下面命名新的工程名字为 test_app

创建过程:

创建 APP 源代码过程

Creating/workspace/aos_test/test_app/.defconfig...

(1)创建 APP 配置并保存在

/workspace/aos_test/test_app/.config 文件中

#configuration written to/workspace/aos_test/test_app/.config

(2)创建目标 APP 动作完成

(Info)Project Initialized at:/workspace/aos_test/test_app

//project 在 workspace 下面 aos_test 和 test_app 创建完成。

在 test_app 下面执行 ls 查看工程的目录结构,工程里面的源文件只有应用源文件及 board 目录,编译过程中需要用到应用以来的其它组件,其它组件的源代码的位置可以通过如下指令来查看组件所在目录,这个环境变量便是在前面“HaaS 集成开发环境搭建”章节中搭建开发环境的时候加入的。

root@8b09079bcc1a:/workspace/aos_test/haasedu_2nd_example# printenv AOS_SOK_PATH

/workspace/AliOS-Things

在编译新生成的工程的时候,会使用到 workspace/Alios-Things 这个目录下面的组件。

3.Aos create 创建组件

可以根据用户指定的组件类型和名称信息创建一个新的组件

Aos create component -t<component_type><compenent_name>

-<component-type>:组件类型,有效组件类型列表如下:

Bus        #本地通讯协议

Dm        #设备管理

Fs         #文件系统

Generals    #通用类

Gui        #人机交互界面

Language   #脚本引擎

Network    #IP 网络协议栈

Peripheral   #外设驱动

Security     #安全

Service      #应用组件

Utility       #工具类

Wireless     #无线类

<component-type>的意思是想把把组件放到哪个目录下面。上面提到说 component 下面有很多目录。

<compenent_name>//是必选的,即新创建组件的名称。

在这个地方,假如选用 bus 这个新的组件,就会位于 bus 这个目录下面。

 

三.Aos make

1.Aos make 编译过程

#对 haaseduk1_2nd_example 工程进行编译的关键日志

root@8b09079bccla:/workspace/aos_test/haaseduk1_2nd_example# aos make

//假如之前创建了一个 haaseduk1_2nd_example 的工程,然后需要对它进行编译,需要进入这个工程的下面,执行 aos make 即可。

(1)显示 aos-cube 的版本号

Aos-cube version:0.5.11

(2)确认编译 haaseduk1 的工具是否存在

Check if required tools for haaseduk1 exist

//如果编译工程不存在,会进行下载,下载完成之后,会去解析组件列表。

(3)解析组件列表

Parsing all components

(4)编译配置项

Build Configuration:

App :haaseduk1_2nd_example

Board:haaseduk1

image.png

//三列信息:第一列为组件名称,第二列为组件占用的 ROM,第三列为组件占用的 RAM

(5)haas1000 芯片专有步骤,打包生成可烧录到硬件版中的 image

Gen signature and release image...

(6)整个编译,链接及打包过程完成

Build complete; haaseduk1_2nd_example@haaseduk1

2.Aos make 编译选项

MBINS=[app|kernel]:分别生成 App,Kernel 镜像,详情请参见多 bin 特性。

BUILD_ TYPE=[debug l release l release_log]:控制构建类型:

-debug:编译时不优化(-00)并启用日志

-release:编译时优化(-0s), 不启用日志

-release_log:默认值,编译时优化,并启用日志

IDE=[keil l iar]:生成指定工程并执行编译,仅支持 Windows 环境,详情请参见自动生成 Keil MDK 工程,自动生成 IAR 工程

COMPILER=[armcc l iar l rvct]:使用指定编译器执行编译,仅支持 Windows 环境

VERBOSE=1:编译时输出详细命令

更多命令行参数请查看 aos make help

3.编译过程演示

演示创建新工程,编译代码全过程,对编译过程日志进行说明:

(1)首先在 workspace,experimrnt 下面创建一个 create_project 的目录,这个目录下无任何东西,用刚刚的 aos create project 指令来创建一个新的工程,使用-b haaseduk1的版本,-d aos_test 目标的目录, test_app 是目标工程的一个名字。这步无指定所使用 example 的名字,所以它会用默认的模板来创建。生成工程默认配置选项,会提示这个工程已创建完成。

[Info] Project Initialized at: /workspace/experiment/create_project/aos_test/test_app

root@c7f 3a2d46acb:/workspace/experiment/create_project#

(2) 在里面新创建了一个 aos_project 的目标目录,然后进到 aos_test 目录,看见刚刚创建的工程的名字 test_app 。进到 test_app,看到其内容,下面只有比较简单的文件。

要查看 printenv AOS_SDK_PATH 对应的目录。也就是说,在实际编译时,除了会使用当前工程所在的目录的一些文件之外,还会使用到 Alios-Things。

image.png

执行 aos make,aos-cube 版本为0.5.11,它会检查编译工具是否存在,然后会创建 config,再编译 APP 所依赖的组件,编译完成之后,会进行打包动作。

打包之前,它会打印各个组件的 MEMORY MAP,编译演示过程即完成了。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
传感器 消息中间件 物联网
AliOS Things 系统架构介绍(二)
AliOS Things 系统架构介绍(二)
382 1
|
安全 网络协议 物联网
AliOS Things开发前准备 |《AliOS Things快速开发指南》
在运行AliOS Things系统之前,您需要做好一系列准备工作,包括搭建环境、安装驱动设备、下载AliOS Things系统源码、安装开发工具AliOS Studio等。本文详细介绍如何完成这些准备工作。
AliOS Things开发前准备 |《AliOS Things快速开发指南》
|
存储 传感器 人工智能
AliOS Things 系统架构介绍(一)
AliOS Things 系统架构介绍(一)
363 0
|
存储 网络协议 物联网
AliOS Things组件功能介绍(一)
AliOS Things组件功能介绍(一)
292 0
|
传感器 数据采集 安全
AliOS Things组件功能介绍(二)
AliOS Things组件功能介绍(二)
230 0
|
安全 物联网 API
AliOS Things组件功能介绍(三)
AliOS Things组件功能介绍(三)
222 0
|
物联网 Linux
【AliOS Things学习笔记】为你的AliOS Things应用增加自定义cli命令
怎么才能在RTOS系统中,通过 串口shell控制LED的开关。
3680 0
|
监控 物联网 Linux
端侧系统 AliOS Things 介绍|学习笔记
快速学习端侧系统 AliOS Things 介绍
162 0
|
物联网 API 开发工具
如何用SystemView分析AliOS Things
SystemView 是一个用于分析嵌入式系统性能的工具。SystemView可以分析系统中有哪些中断、任务执行了,以及它们的先后关系。 可以完整的深入观察一个应用程序运行时的行为,它揭示了在任务运行中发生了什么,哪个中断触发了任务切换,中断和任务调用了哪个底层系统的API函数。
如何用SystemView分析AliOS Things
|
监控 安全 网络协议
AliOS Things 3.3新功能介绍
AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源,当前最新的版本是 AliOS Things 3.3。
AliOS Things 3.3新功能介绍