Why should I zero-set the SRAM 0x3400000?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Why should I zero-set the SRAM 0x3400000?

ソリューションへジャンプ
1,395件の閲覧回数
amei_liu
Contributor II

hardware: R45EVB

software: SW32R45_IPCF_4.3.0_D2203.exe

After I install SW32R45_ IPCF_ 4.3.0_ After D2203.exe,refer to the provided M7 routine source code, as follows:

amei_liu_0-1679451447577.png

My understanding is that:

0x34100000~0x341FFFFF: is used by A53(linux)

0x34200000~0x342FFFFF: is used by M7.

So, what is the SRAM with the address starting at 0x34000000 and a length equal to 0x100000 bytes used for? Why should I zero-set the SRAM?

 

タグ(1)
0 件の賞賛
返信
1 解決策
1,328件の閲覧回数
UrikRodriguez
NXP Employee
NXP Employee

Hi @amei_liu,

Yes, that is because that command initializes the memory SRAM from 0x34000000 to approx 0x347FFFFF (between that range you have the shared memory for your application). 

For example if you run:

mw.q 0x34100000 0x0 0x50000

the application should still been working

元の投稿で解決策を見る

5 返答(返信)
1,375件の閲覧回数
UrikRodriguez
NXP Employee
NXP Employee

Hello @amei_liu,

The IPCF example zero-set the SRAM from 0x34000000 to aprox 0x347FFFFF. You can see it in the command used: 

 mw.q 0x34000000 0x0 0x100000

This command is writing zeros over 0x100000 quadwords (64 bits).

 

Saludos, 

Urik 

0 件の賞賛
返信
1,364件の閲覧回数
amei_liu
Contributor II

Thank you very much for your reply。

I know this is to clear the SRAM. But what I want to know is what this memory(0x3400000) is used for?

0 件の賞賛
返信
1,355件の閲覧回数
UrikRodriguez
NXP Employee
NXP Employee

Hi,

For the IPCF example that address is not used, it is only the SRAM start address, and it is good practice to initialize it. 

0 件の賞賛
返信
1,342件の閲覧回数
amei_liu
Contributor II

If it's like you said, then even if I don't reset the memory, the program should execute correctly.

But unfortunately, if I do not execute this command (mw. q 0x34000000 0x0 0x100000), an error will be reported when I load the module. As follow:

无标题.png

 

0 件の賞賛
返信
1,329件の閲覧回数
UrikRodriguez
NXP Employee
NXP Employee

Hi @amei_liu,

Yes, that is because that command initializes the memory SRAM from 0x34000000 to approx 0x347FFFFF (between that range you have the shared memory for your application). 

For example if you run:

mw.q 0x34100000 0x0 0x50000

the application should still been working