在我们的嵌入式平台上,一些设备具有 16 位数据总线(例如 FPGA)。但是,我们需要将它们读取为 32 位值(例如 32 位浮点)。
我的理解是,当 32 位数据加载指令 (LDR) 访问 16 位内存时,ARM 处理器将执行 2 次 16 位取指以组装一个 32 位数量。
它是否正确?
例如,我希望 ARM 处理器uint32_t
通过 16 位数据总线从设备加载一个值,而不必进行 2 次uint16_t
读取,然后将这些uint16_t
值组合到一个uint32_t
变量中。
我们是否需要明确地获取 2 个 16 位数量,然后组装为 32 位数量?
哪些 ARM 文档包含此说明?
ARM 是否有任何特定的 ARM 配置设置可以从 16 位数据总线进行 2 次提取以形成 32 位数量(在寄存器中)?
仅供参考:我们使用的是 ARM Cortex A8 和 IAR EW IDE/编译器。
平台运行的是“系统”模式而不是“拇指”模式。