硬汉嵌入式论坛

 找回密码
 立即注册
查看: 792|回复: 5
收起左侧

[其它] 一个大数组能同时跨越内部RAM和外部RAM么

[复制链接]

21

主题

125

回帖

188

积分

初级会员

积分
188
发表于 2022-1-15 18:14:58 | 显示全部楼层 |阅读模式
一个大数组的分配能同时跨越内部RAM和外部RAM么,会不会有问题?
回复

使用道具 举报

1

主题

109

回帖

112

积分

初级会员

固件開發工程師

积分
112
QQ
发表于 2022-1-15 21:14:58 | 显示全部楼层
如果内部RAM和外部RAM的映射地址连续,是可以的。
回复

使用道具 举报

3

主题

70

回帖

79

积分

初级会员

积分
79
发表于 2022-1-15 21:40:27 | 显示全部楼层
通常外扩SRAM/SDRAM容量远大于内部SRAM,这种情况下数组都要跨越二者,应该从数据结构上考虑拆分。
回复

使用道具 举报

0

主题

215

回帖

215

积分

高级会员

积分
215
发表于 2022-1-16 11:57:19 | 显示全部楼层
这个,要看使用的是哪种语言开发。
回复

使用道具 举报

0

主题

215

回帖

215

积分

高级会员

积分
215
发表于 2022-1-16 12:06:22 | 显示全部楼层
这个,要看使用的是哪种语言开发。
在MCU上用C/C++语言开发,那么答案是几乎不可以。除非内部RAM和外部RAM的物理地址正好可以连续(一个的结束地址紧接着另一个的开始地址),
或者是存在支持逻辑地址到物理地址的转换的器件。
在具备MPU的器件上,可以用MPU来实现类似虚拟内存的机制,通过复杂的手段去实现,理论上也是可以的(没有实践过)。

对于支持MMU等可以进行地址转换的MPU来说,使用页表等进行逻辑地址到物理RAM地址的转换,那么就允许物理地址
不连续,通过MMU把不连续的物理RAM组织成连续的逻辑RAM地址。
回复

使用道具 举报

21

主题

125

回帖

188

积分

初级会员

积分
188
 楼主| 发表于 2022-1-17 16:16:55 | 显示全部楼层
地址是连续的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-6 06:16 , Processed in 0.280421 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表