Why should I zero-set the SRAM 0x3400000?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Why should I zero-set the SRAM 0x3400000?

Jump to solution
1,183 Views
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?

 

Tags (1)
0 Kudos
Reply
1 Solution
1,116 Views
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

View solution in original post

5 Replies
1,163 Views
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 Kudos
Reply
1,152 Views
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 Kudos
Reply
1,143 Views
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 Kudos
Reply
1,130 Views
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 Kudos
Reply
1,117 Views
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