在嵌入式设备上使用内存

时间:2017-02-24 11:47:43

标签: memory memory-management embedded embedded-linux non-volatile

运行Linux的嵌入式设备。通常,MTD设备文件子系统用于与闪存进行交互。

我对这些设备上的内存管理有一些疑问。设备存储器映射规范不可用。 我们在嵌入式设备上访问内存的方法很少,其中就是直接调用内存地址,例如,在调试时直接将一些值写入内存地址,或者使用命令读取物理地址:

show <hex address> <number of words to display>

此命令是否可以访问NVRAM NOR闪存或设备的RAM内存? 是否可以反转这个过程,即找到“生活”特定设置的内存地址?假设我们知道一个特定的值,并且我们知道值存储在某处就是内存。是否有可能找到地址?

1 个答案:

答案 0 :(得分:0)

  

此命令是否可以访问NVRAM NOR闪存或   设备的RAM存储器?

是的,该命令适用于两种类型的内存,通常是OS内存映射中列出的任何其他内存(即PCI设备内存)。

  

是否可以反转此过程,即查找内存地址   “生活”在哪里?假设我们知道一个特定的值   而且我们知道值存储在内存中。是永远吗?   有可能找到地址吗?

是的,如果您可以控制编译,可以使用objdumpnm等工具来分解二进制文件。如果您只有已部署的系统,则需要查看逆向工程。