首页 > 解决方案 > 如何将四个 Cortex M0 物理地址映射到单个数组以进行位碰撞?

问题描述

在我的 Cortex M0 设计中,我有一些旧硬件经过多次更新,并有 128 个 unit_enable 位,这些位分配给地址 0x40000000 + 4*[0, 9, 18, 20] 处的四个物理寄存器。在我的固件中,我想使用 unit_enable[128] 来寻址 R/W 的每个位,就好像它是一个数组一样。我浏览了一些 ARM 文档,但无济于事。我怎么做?

标签: cortex-m

解决方案


ARM Cortex-M0 和 Cortex-M0+ 处理器没有位带功能。可以使用总线包装器将位带功能添加到 Cortex-M0 和 Cortex-M0+ 处理器。在这种情况下,总线包装器必须保持正确的内存顺序。

来源

Cortex-M 系统设计套件 (CMSDK) 包括一个模块示例,即 AHB 位带包装器 ( cmsdk_ahb_bitband.v ),它为 Cortex-M0 和 Cortex-M0+ 处理器提供位带功能。

然而,这个 SDK 是为使用 Cortex M 处理器的芯片设计人员和 FPGA 设计人员设计的。


推荐阅读