cortex-m - 如何将四个 Cortex M0 物理地址映射到单个数组以进行位碰撞?
问题描述
在我的 Cortex M0 设计中,我有一些旧硬件经过多次更新,并有 128 个 unit_enable 位,这些位分配给地址 0x40000000 + 4*[0, 9, 18, 20] 处的四个物理寄存器。在我的固件中,我想使用 unit_enable[128] 来寻址 R/W 的每个位,就好像它是一个数组一样。我浏览了一些 ARM 文档,但无济于事。我怎么做?
解决方案
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 设计人员设计的。
推荐阅读
- reactjs - React Hooks:在组件中声明函数包装器
- java - Maven/Java 从可选模块中获取常量
- swift - 无法将孩子添加到 GameScene,只能添加到 SKSpriteNode
- c# - 使用 CsvHelper 加载 CSV 时日期时间值不正确
- javascript - React JS 和外部脚本中的错误。故障安全与否?
- sql-server - C# 代码在使用“存在编译错误。是否仍要保存”消息保存后从脚本任务中消失
- corda - Corda 如何解决纠纷?
- ssas - 如何在 MDX 中获取特定日期范围的度量值?
- image - 图像控件中的 SAPUI5 图标
- regex - 凝聚一串时间块;显示日期范围