上一篇文章《蓝牙单芯片DA14580的硬件架构和低功耗》阐述了DA14580的硬件架构和低功耗的工作原理。本文文章阐述该平台的软件体系,并着重分析消息事件的处理机制。
一、DA14580SOC硬件组成和软件体系组成
DA14580芯片硬件架构包括三个部分:
1)使用ARM公司的cortex M0作为CPUprocessor处理器。
2)使用RivieraWaves公司的IP核作为BLEcore和基带、射频部分。
3)集成时钟管理CMU、电源管理PMU、memory控制存储和其他外围模块控制器,如GPIO、UART、I2C、SPI和timer等等。
相应地,DA14580平台SDK的软件组成也包括以下组成部分:
1)ARMcortex M0平台相关的库文件,如启动、CMSIS(the cortex Microcontroller software interface standard)支持的寄存器访问、中断异常访问接口等。
2)RW公司的BLE驱动、射频驱动,此外RW BLE还集成了系统的内核部分,其提供消息处理、定时器和任务调度等核心功能。所以DA14580平台SDK的开发是基于RW公司研发的内核,而不是DIALOG公司研发的。此部分大部分的代码都是固化在ROM里面。
3)SOC集成的其他模块的驱动,由DIALOG公司提供,如UART驱动等,此外其调用RW内核的相关接口来完成消息循环和低功耗功能。
4)应用程序,调用以上三个部分的接口来完成自定义功能。
<