MCU快速入门指南
范围
本章节概述了 RDK-S100 mcu 系统,用于帮助读者快速了解并掌握,以便进行mcu1相关开发
基础信息
- MCU编译工具链为GCC工具链,版本为gcc-arm-none-eabi-10.3-2021.10
- MCU核为ARM R52+,可以用ARM R52 technical reference manual文档作为参考:官网链接
- MCU运行的操作系统均为FreeRTOS,版本为FreeRTOS Kernel V10.0.1
- MCU主要分为两部分:MCU0和MCU1。MCU0主要负责启动Acore、MCU1以及电源管理等功能,目前不开源;MCU1主要负责跑业务等功能,开源,客户可根据自己需求进行修改
MCU框架
MCU0是板子启动的开始,也是重中之重。因为MCU0负责启动Acore、MCU1以及电源管理等功能。Acore所运行的linux操作系统是客户开发功能的重要载体,而MCU1运行的FreeRTOS操作系统为客户的实时任务进行保驾护航。 MCU1通过linux的remoteproc框架实现,在Acore的sysfs通过向MCU0发送通知,从而控制MCU1的启动和关闭。同时在RDK-S100的休眠模式下,也是通知Acore通知MCU0从而操作MCU1,实现低功耗休眠功能。
开发环境
交叉编译是指在主机上开发和构建软件,然后把构建的软件部署到开发板上运行。主机一般拥有比开发板更高的性能和更多的内存,可以高效完成代码的构建,可以安装更多的开发工具。