本应用笔记介绍了 arm cortex-m3 处理器的主要特性,并描述了为其开发软件的不同方面。它还涵盖了现有 arm 项目到 cortex-m3 平台的迁移。
cortex-m3
arm cortex-m3 是一种高性能、低成本和低功耗的 32 位 risc 处理器。cortex-m3 处理器只执行 thumb-2 指令。它不支持 arm 指令集。cortex-m3 处理器基于 arm 架构 v7-m,拥有高效的哈佛 3 级流水线内核。它还具有硬件划分和低延迟中断服务程序 (isr) 进入和退出。
除了 cpu 内核外,cortex-m3 处理器还包括许多其他组件。其中包括嵌套向量中断控制器 (nvic)、可选的内存保护单元 (mpu)、定时器、调试访问端口 (dap) 和可选的嵌入式跟踪宏单元 (etm)。cortex-m3 也有一个固定的内存映射。
嵌套向量中断控制器 (nvic)
根据芯片制造商使用的实现方式,nvic 可以支持多达 240 个外部中断,具有多达 256 个不同的优先级,可以动态重新确定优先级。它同时支持电平和脉冲中断源。处理器状态在中断进入时由硬件自动保存,并在中断退出时恢复。nvic 还支持中断的尾链。
在 cortex-m3 中使用 nvic 意味着 cortex-m3 的向量表与以前的 arm 内核非常不同。cortex-m3 向量表包含异常处理程序和 isr 的地址,而不是像大多数其他 arm 内核那样包含指令。初始堆栈指针和复位处理程序的地址必须分别位于 0x0 和 0x4。这些值然后在复位时加载到适当的 cpu 寄存器中。
内存保护单元 (mpu)
mpu 是 cortex-m3 的可选组件。如果包含在内,它会通过强制执行特权和访问规则来支持保护内存区域。它最多支持八个不同的区域,每个区域可以再分成八个相同大小的子区域。
调试访问端口 (dap)
dap 使用 ahb-ap 接口与处理器和其他外设进行通信。调试端口有两种不同的支持实现,串行线 jtag 调试端口 (swj-dp) 和串行线调试端口 (sw-dp)。您的 cortex-m3 实现可能包含其中之一,具体取决于您的芯片制造商使用的实现。
内存映射
与大多数以前的 arm 内核不同,基于 cortex-m3 的设备的内存映射的整体布局是固定的。这允许在基于 cortex-m3 的不同系统之间轻松移植软件。地址空间被分成许多不同的部分。这在下面的图 2 中显示。
viss透明屏,在商业广告中,广告展示效果有什么不同?
鸿蒙内核源码之线程环境下的任务切换
从硬件和软件入手的UPS抗干扰技术
并联有源电力滤波器交流侧滤波电感的优化设计
功率MOSFET零电压软开关ZVS的基础认识
ARM Cortex-M3 处理器的主要特性分析
三部门印发国家车联网产业标准体系建设指南
京东的智能配送机器人正式上路,这是全球首次全场景常态化配送运营!
混合带宽为什么这么重要
大电流磁棒电感封装尺寸升级的可行性探讨
小米8青春版:顶级拍照硬件,不负青春韶华
步入式高低温试验箱:模拟极端环境的关键设备
联想真正的苦日子还没到 花旗称零部件涨价将伤害后续盈利
苹果为何不给iPhone 12标配充电器?
行业 | 日韩冲突升级,存储器产能紧缺?库存成关键
西门子常用PLC指令表
地质灾害安全监测预警解决方案
三星芯片工艺突破14nm 何时量产仍未确定
激光防盗系统制作 超简单
虚拟运营商的携号转网既是机遇也是挑战