Arm Cortex-M 软件开发全解析
1. 安全软件编译与硬件特性
安全软件的编译需要使用额外的编译器选项,它可以是项目设置选项或命令行选项的形式。若缺少此选项,一些在 Arm C 语言扩展(ACLE)中定义的软件功能将无法使用。
在 Armv8 - M 中,部分硬件特性仅在安全世界可用。对于 TrustZone,存在不同的实时操作系统(RTOS)设计安排,因此对于同一 RTOS,可能有多个变体,在项目中必须使用正确的版本。
以下是一些硬件相关的特性说明:
- MPU(内存保护单元) :某些 RTOS 功能可能需要 MPU 的支持。如果应用程序需要高度的可靠性,MPU 可以通过实现应用任务之间的内存空间隔离来提供帮助。
- SysTick(系统滴答定时器) :在 Cortex - M23 处理器中,SysTick 是可选的;而在 Cortex - M33 处理器中,它始终可用。不过,对于大多数微控制器设备,通常可以期望 SysTick 是可用的。
- FPU(浮点单元) :如果存在 FPU,可能需要特定的项目选项来启用它,以实现更快的浮点数据处理。
- ETM(嵌入式跟踪宏单元) :如果存在 ETM,可以实时捕获指令跟踪。软件开发人员需要使用支持并行跟踪端口接口的调试探针/适配器来实现这一点。但要注意,大多数低成本开发适配器(包括一些基于开源 CMSIS - DAP 的开发板上的适配器)不支持并行跟踪端口接口。
通常,设备数据手册应涵盖所有所需的信息。
<
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



