iMX7D internal ram memory map

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

iMX7D internal ram memory map

跳至解决方案
1,695 次查看
dry
Senior Contributor I

This is a user problem reading + understanding manual:  

ocrammap.jpg

The figure says 224 is free  (  = 128(EPDC) + 64(128 - 64res) + 32(PXP) ), and "see note".

In note:  "The entire OCRAM region can be used freely post boot. ... "


So can the entire OCRAM 288KB be used freely post boot, or only 224?   (I can't say why I can't understand the doc ... ).


And if the 64KB is still reserved, what is it reserved for  .. (is it secret :smileyhappy:) ?

标记 (3)
1 解答
1,471 次查看
Yuri
NXP Employee
NXP Employee

Hello,

 

 The entire OCRAM 288KB be used freely post boot.

 

Have a great day,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer

button. Thank you!

在原帖中查看解决方案

3 回复数
1,472 次查看
Yuri
NXP Employee
NXP Employee

Hello,

 

 The entire OCRAM 288KB be used freely post boot.

 

Have a great day,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer

button. Thank you!

1,289 次查看
ivan_nikolaenko
Contributor I

Hello Yuri!

Do I understand correctly, that I can't use adresses 0x00900000-0x0090ffff for storing my Cortex-M4 firmware because this range is reserved by Linux kernel and is used by it during boot process?

As I see from FreeRTOS linker scripts - they all use 0x00910000 as a start address. I tried to edit default linker script to use first 0x00900000 and then 0x00901000 adresses as a start address along with disabling corresponding ocram entries in the devicetree, but I see that my M4 firmware stops working right after kernel starts booting.

I use imx-5.4.47 kernel
My modifications:
imx7d.dtsi:

 

		ocram: sram@901000 {
			compatible = "mmio-sram";
			reg = <0x901000 0x1f000>;
			clocks = <&clks IMX7D_OCRAM_CLK>;
+           status = "disabled";
		};

 

my devicetree:

 

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		m4_reserved: m4@0x00901000 {
			no-map;
			reg = <0x00901000 0x1f000>;
		};
	};

 

 
Did I miss something?
Thanks in advance.

0 项奖励
回复
1,471 次查看
dry
Senior Contributor I

Thanks Yuri !

0 项奖励
回复