Using onchip RAM in iMX28

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

Using onchip RAM in iMX28

1,207 Views
Michael_McTerna
Contributor I

Hi,

 

Does anyone know of have an example of placing Linux kernel code in the onchip RAM on i.MX28?

 

I can see a mapping for the area is setup in mm-mx28.c, but I don't think there's anything done to support linking/loading code to that area.

 

Particularly I'd like to put fec.c:swap_buffer() into the onchip RAM and see if my networking can get a bit faster (I look to be CPU limited at about 65MBit/s).

 

Kind Regards,

Mike

Tags (1)
0 Kudos
Reply
2 Replies

1,025 Views
Michael_McTerna
Contributor I

Thanks for this pointer.  I was hoping it could be setup so I can just attribute functions and data so that they are loaded into the OCRAM at startup and used without function pointers, but I see there looks to be no support for that.

For the moment I can use your suggestion though - Many Thanks!

0 Kudos
Reply

1,025 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

You can reference to BSP file "linux/arch/arm/mach-mx28/pm.c", function do_standby().

There is reference code to put some function into iRAM.

iram_virtual_addr = iram_alloc(MAX_POWEROFF_CODE_SIZE, &iram_phy_addr);

memcpy(iram_virtual_addr, mx28_cpu_standby, mx28_standby_alloc_sz);

 mx28_cpu_standby_ptr = iram_virtual_addr;

 mx28_cpu_standby_ptr();

iram_free(iram_phy_addr, MAX_POWEROFF_CODE_SIZE);

0 Kudos
Reply