Clean start of M4 core on VF61

Hi @luka.tx

  • do you mean that WinCE on A5 uses OCRAM from 0x3F000000 to 0x3F003800? And so M4 core can use OCRAM from 0x3F003800 only?
  • I can’t find the option to disable the clock for extra parto of OCRAM. Are you sure there is such an option?

If you need, I can share the wro .bin files so that you can see by yourself.
Let me know

During boot process I use some of this ram. After WinCE is booted this is not used any more.

Maybe I mixed something with this clocks.

You can attach me the bin files here, but I can not promise we are going to look into this.

The two bin file can be downloaded from here.
I strongly appreciate your help. Thanks

Hi @vix,
Download links seem to be not valid. Please upload once again and share the link.

Hi @raja.tx
could you try downloading from the following link?

@vix
Got Two firmware files. It is loading by rpmsg library. But no clue whether the firmware is running or not. Help us to see the issue.

You can check in two ways:

  • either connecting through JTAG (do
    not load the application: only
    connect)
  • or using an oscilloscope connected to
    SPI1 pins (SPI1_PCS0, SPI1_SCK,
    SPI1_SIN, SPI1_SOUT - looback SIN and
    SOUT). If the firmware is running,
    you see that the Colibri sends
    continously packets through SPI. When
    it is in hardware fault the SPI
    communication is messed up

It took a couple of years but now we found the reason for this issue in this topic.

Toradex investigation confirmed what I found.

Rpmsg library on Win CE (I don’t know about Linux) uses memory between 0x3f060000 to 0x3f064000 as shared memory for inter-processor communication (A5 <–> M4).

For this reason the firmware on M4 side can’t use this memory region.

Here is how I configured the scatter file for M4 firmware:

RPMSG_SHARED 0x3F060000 EMPTY 0x4000  ; shared memory used for rpmsg communication
{ }
  
VRING0_BASE 0x3F070000 EMPTY 0x4000  ; shared memory used for rpmsg communication
{ }
    
VRING1_BASE 0x3F074000 EMPTY 0x4000  ; shared memory used for rpmsg communication
{ }

The documentation on Toradex webside will be updated.