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 这个目录下。

相关文章
|
5月前
|
存储 芯片
南京观海微电子---经典继电器驱动电路方案:单片机IO端口、三极管、达林顿管及嵌套连接
本文详解继电器工作原理及单片机驱动电路设计,涵盖四种经典驱动方案:IO口直驱、三极管驱动(NPN/PNP)、达林顿管驱动及继电器套娃方案,结合实际应用与面试常见问题,深入剖析电路设计要点与注意事项。
南京观海微电子---经典继电器驱动电路方案:单片机IO端口、三极管、达林顿管及嵌套连接
|
7月前
|
安全 数据可视化 开发者
有什么值得推荐的网站源码分享下载?
本文指出开发者找优质安全网站源码耗时,介绍了多种获取渠道:有 GitHub 等综合开源社区,虽资源多但新手筛选难;有垂直领域平台,其中 PageAdmin CMS 系统因源码完整、易上手、扩展性强受青睐;还有贴合国内需求的国内社区。同时提醒注意版权与安全检测,助力开发者高效搭建项目。
948 9
|
SQL 关系型数据库 网络安全
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
5265 19
|
5月前
|
JSON API PHP
免费天气预报API接口详解
天气预报1-7天API接口,由中国气象局官方数据支持,提供全国范围内的精准天气预报。支持查询温度、天气状况、风力风向、湿度、气压等多维度信息,具备时段预报与天气预警功能。通过RESTful API调用,返回JSON格式数据,适用于出行、农业、智能家居等多种应用场景。
2772 4
|
监控 Serverless Docker
函数计算操作报错合集之遇到报错:Python Jedi client: couldn't create connection to server.是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
1171 0
|
存储 算法 安全
分布式系统架构1:共识算法Paxos
本文介绍了分布式系统中实现数据一致性的重要算法——Paxos及其改进版Multi Paxos。Paxos算法由Leslie Lamport提出,旨在解决分布式环境下的共识问题,通过提案节点、决策节点和记录节点的协作,确保数据在多台机器间的一致性和可用性。Multi Paxos通过引入主节点选举机制,优化了基本Paxos的效率,减少了网络通信次数,提高了系统的性能和可靠性。文中还简要讨论了数据复制的安全性和一致性保障措施。
962 1
|
存储 传感器 人工智能
AliOS Things 系统架构介绍(一)
AliOS Things 系统架构介绍(一)
810 0
|
存储 搜索推荐 算法
【排序】软考笔记:简要回顾下常见的几种排序算法
【排序】软考笔记:简要回顾下常见的几种排序算法
545 0
【排序】软考笔记:简要回顾下常见的几种排序算法
|
人工智能 算法
图搜算算法分类
图搜索算法是计算机科学中用于遍历或搜索图结构(由节点和边组成的数学结构)的技术,常应用于路径规划、网络分析、人工智能等领域。下面是对几种常见图搜索算法的简要说明:
829 1
|
人工智能 算法 C++
C++在游戏开发中的应用与挑战
C++在游戏开发中扮演关键角色,常用于引擎开发、游戏逻辑与算法实现,以及跨平台和网络游戏开发。尽管面临学习曲线陡峭、内存管理复杂、跨平台兼容性及与其他技术集成的挑战,但通过学习和掌握现代C++特性,开发者能创造高效优质的游戏。