我的个人博客
更多内容,请跳转我的个人博客
包结构
首先,你得拿到软件开发包(这个怎么拿,就自己解决了哦),开发包结构如下图:
因为我们都是做mcu开发,基本不会做dsp开发,所以直接来看mcu的包结构,如下图所示:
通过8个部分组成:
- config:包括生成和编译用于编译二进制项目的配置文件
- doc:包括与软件开发工具包相关文档,大家刚开始可以多看看这些文件,绝对受益匪浅
- driver:包括通用驱动程序文件,如主板驱动程序,外设和CMIS-CORE接口驱动程序
- kernel:包括用于异常处理和错误日志记录的底层RTOS和系统服务
- Middleware:包括用于HAL和OS平台架构的软件功能,例如网络和高级功能
- perbuilt:包含二进制文件,库,头文件,makefiles和其他预构建文件
- project:包含wi-fi,http,HAL等的预配置实例和演示项目
- tools:包括使用SDK编译,下载和调试项目的工具
平台架构
我们有了第一章的学习,加上上面的分析,再来看这张图,会变得更加简单:
通过三个部分组成:
- BSP
- 硬件驱动:为平台提供外设驱动,ADC,I2S,I2C,SPI,RTC,GPIO,UART,FLASH,Security Engine,TRNG,GDMA,PWN,WDT和IRDA TX/RX
- 硬件抽象层(HAL):提供驱动程序应用程序编程接口(API),封装操作系统(OS),中间件功能和应用程序的外围设备驱动程序的低级功能
- 组件:比如你想改LED的底层代码,可以到这里来改,后面使用到呼吸灯会需要到这里修改。
- FreeRTOS:带有中间件组件和应用程序开源软件的操作系统,这个我们目前不需要去操作,知道基本的即可,比如任务的创建即可。
- Syslog:开发和调试实现系统日志记录
- Middleware 这里介绍几个重点的,比如我们上节介绍的UI shell,这可以在这里看到,相关的API都可以在这里看到,如果大家用到和中间件相关的,可以先看看对应的文件,应该能获得一些启发。
- Bluetooth EDR/Bluetooth Low Energy:为数据传输和管理控制提供堆栈和协议层访问配置文件,如GAP,SPP,GATT,SM
- Bluetooth service:蓝牙公共服务的实现
- Audio:音频中间件的实现
- Audio manager:是音频管理器控制实现,包括所有主要的音频行为管理和对数字信号处理器的大部分控制
- FOTA:提供更新固件的机制
- Battery management:提供充电电流控制和电池的精确信息
- File system:提供API来控制文件系统中的数据存储和检索
- UI shell:它是帮助应用程序开发人员设计和实现应用程序的用户界面框架
- Other features:非易失性数据管理(NVDM),Race命令,LAMA解码和其他依赖于HAL和FreeRTOS的功能,还支持AT命令接口(ATCI)作为高级功能
- Application
- 就是使用上面的中间件预配置项目,我们也是在这个预配置的项目上开发。
- 洛达提供了很多预配置的项目,我到后面会介绍,这里了解一下即可
结语
到这里包结构我们了解的差不多,之前了解了事件的处理流程,今天了解了包结构,大家对洛达平台也有了一个初步的了解。