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
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!
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);