AliOS Things 目录结构|学习笔记

简介: 快速学习 AliOS Things 目录结构。

开发者学堂课程【HaaS 物联网应用开发课程AliOS Things 目录结构】学习笔记,与课程紧密联系,让用户快速学习知识。

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


AliOS Things 目录结构

 

内容介绍

一、根目录

二、Application - 应用

三、Components - 组件

四、Components

五、Core - 内核及基础组件

六、Platform-平台相关

 

一、根目录

AliOS Things 里面的一级目录以及重要二级目录的集合,AliOS Things 里面存放的是应用程序相关的示例代码,build里面存放的是构建系统相关的工具以及脚本,components 里面放的是操作系统的各种功能组件,其中dm  是存放设备管理相关的组件,linkkit 是阿里云 IOT 连接套件(配套源码),AliOS Things 操作系统就是通过 linkkit 这个组件连接到阿里云物联网平台的,network 包含了 IP 网络协议栈等相关组件,security 里面存放了各类安全组件,core 是 AliOS 内核以及一些基础组件的集合,include 是组件对外的头文件,platform 里面存放着 BSP 相关的代码,其中包含了芯片架构适配、板级支持、MCU、SoC 芯片级别的支持,projects 则是为不同开发环境提供的工程相关文件。

image.png


二、Application-应用

Application 这个目录总共有三级。

1、app_adapter 是 APP 的应用框架,如果要新建应用可以参考这个 APP 里面的写法。

2、Example 这是一些示例代码,AliOS Things 官方提供的示例代码,edu_demo 是 HaaS EDU 工程级案例代码相关的目录,HaaS EDU 相关的案例和代码都放在这个目录下面,amp_app 是轻应用的示例代码,flower_demo 是养花的案例,helloworld_demo 是经典的helloworld案例,http_demo 和 http2_demo 是 http 和 http2 的组件使用案例,linkkit_demo 是 linkkit 连接云平台的案例,lora_demo 是 lora 组件的案例,modbus_demo、mqtt_demo、oled_display_demo 以及 rfid_demo 分别对应的是 modbus 组件使用案例、mqtt 组件使用案例、oled 显示案例以及 RFID 读卡器 demo。

3、Miniapp 是小程序的示例。

image.png


三、Components-组件

Components 目录下面的组件非常多。

amp 是轻应用的框架。bus 里面存放的是各种总线类型的协议组件,比如 CANOPEN 总线组件、USB 组件都是在Bus 这个目录下面。dm 是设备管理相关的组件,它里面有 ota 在线升级功能、uagent 在线诊断代理功能、log 日志管理功能以及und 网络文件系统功能。fs 是各种文件系统的组件,这里面包含了非常多的文件系统。gui 是各种图形用户界面组件。Language 里面存放的是多语言支持,比如 JavaScript 语言、microPython 语言等。

Linkkit 则是连接阿里云平台 SDK。 Network 是网络管理组件,像 coap 、http , httpdns 是防 DNS 劫持功能的组件,libsrtp 是 Security Real-Time Transport 协议,lwip 是听得比较多的轻量级 tcp/ip 协议栈,netmgr 是网络管理组件,包括 rtp 、sal ,sntp 是简单网络时间协议 ,用于网络对时。Peripherals 是存放各种外设组件的驱动,i2c_muxer 是 i2c 扩展器外设驱动,lcd 是 LCD 显示相关组件,rtc 是 RTC 组件驱动,sensor 里面包含了各种各样的传感驱动,这里面有非常非常多的 sensor,如果你想外接一个传感器,可以想来这里找一下你想要外接的那个传感器的驱动。

 image.png


四、Components

Security 里面存放的是阿里云安全组件集合以及 mbedtls 加解密组件。Service 里面主要存放了三个,神经网络组件、传感器框架以及位置服务中间件。 utility 下面存放了各种公共组件,像 SDL2:Simple DirectMedia Layer 组件、AT 指令组件、json 解释器以及日志级问题分析工具组件,yloop 是事件驱动模型组件,zlib 是压缩工具组件。Wireless 下面存放的主要是 Bluetooth:BT/BLE/mesh 协议栈以及 LoRa 协议栈。

image.png


五、Core-内核及基础组件

Cplusplus 是 cpp 的支持。Debug 是调试功能。Init 是内核初始化相关的功能。

Kv 是 key-value 存储组件。Libc 是 C 库 。mbins 是多 BIN 相关的支持,因为 AliOS Things 是支持多 BIN 的,有一些功能是在 mbins 这个目录下面的。

Mk 是用户态应用程序相关的组件。nftl 是 Nand Flash Translation Layer 的缩写,它是文件系统中会用到的一个组件。osal 是系统操作层的一些 API。pwrmgmt 是电源管理模块。Rbtree 是红黑树的库。Rhino 是  AliOS Things 内核的实现层。Vfs 则是虚拟文件系统的实现。

image.png

六、Platform-平台相关

Platform 是平台相关目录,里面最重要的有三个目录。

1、Arch 里面存放的是芯片架构相关的实现代码,因为 arch 支持很多体系结构,像 ARM 体系结构、C-SKY 系列IP核、MIPS 体系结构、RISC-V 体系结构都是在 arch 这个目录下面的。

2、Board 里面存放着各种各样的 board,比如,haas100、haas101、haasedk1 这些版级的驱动都是在 board 这个目录下面。

3、Mcu 则是跟芯片相关的,像 haas1000 就是在 mcu 这个目录下。

相关文章
|
传感器 消息中间件 物联网
AliOS Things 系统架构介绍(二)
AliOS Things 系统架构介绍(二)
843 1
|
2月前
|
安全 数据可视化 开发者
有什么值得推荐的网站源码分享下载?
本文指出开发者找优质安全网站源码耗时,介绍了多种获取渠道:有 GitHub 等综合开源社区,虽资源多但新手筛选难;有垂直领域平台,其中 PageAdmin CMS 系统因源码完整、易上手、扩展性强受青睐;还有贴合国内需求的国内社区。同时提醒注意版权与安全检测,助力开发者高效搭建项目。
500 9
|
存储 传感器 人工智能
AliOS Things 系统架构介绍(一)
AliOS Things 系统架构介绍(一)
717 0
|
存储 编解码 Ubuntu
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
|
存储 搜索推荐 算法
【排序】软考笔记:简要回顾下常见的几种排序算法
【排序】软考笔记:简要回顾下常见的几种排序算法
406 0
【排序】软考笔记:简要回顾下常见的几种排序算法
|
监控 Java Docker
Spring Boot与Traefik的集成
Spring Boot与Traefik的集成
|
自然语言处理 搜索推荐 安全
网站推广的八种基本方法
网站推广的八种基本方法
|
程序员
带你读《电路基础》之一:基本概念
本书内容采用简明易懂的风格,介绍了六步解决问题的方法,并在实践中的问题和实践问题,结合了超过468个新的或改变家庭作业问题。涵盖了全面的线性电路分析的方法,并保留了“设计一个问题”的功能,这有助于学生发展他们的设计技能,有学生发展的问题,以及解决方案。
|
存储 人工智能 运维
AliOS Things 技术分享(一)|学习笔记
开始学习 AliOS Things 技术分享(一)
893 0
AliOS Things 技术分享(一)|学习笔记
|
开发框架 安全 AliOS-Things
AliOS-Things 构建系统的介绍|学习笔记
快速学习 AliOS-Things 构建系统的介绍。
609 0
AliOS-Things 构建系统的介绍|学习笔记