This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Unable to run USB0 code from internal RAM?


I have to develop my own boot-loader, that will run from internal RAM.
In boot-loader application I have to implement firmware upgrade functionality as well.
for that I have to read application/firmware image from PC using USB and write it to flash.
Currently I am booting from UART0(getting binary from UART) using XMODEM interface.
My main intenetion is to get the application image from PC using USB and write it into FLASH.

I don't want to run this boot-loader code from DDR because in final product,
my boot-loader will get copied/booted from NAND flash by '(On chip)ROM boot code' into SRAM(Internal RAM).

So My current problem is I am unable to read data over USB from PC.

While debugging I found following observation

1.Code get stuck at following function

MMUInit((unsigned int*)pageTable);

this function is called in MMUConfigAndEnable() function.

2. When I disable the MMUConfigAndEnable() function.
I dont get any timer ISR used for USB.

3. When I run the same code from DDR everything works very well
But when I disable the MMUConfigAndEnable() function.
Same is observed as mentioned in points 1 and 2.

So I think MMUConfigAndEnable() function is not working properly in internal RAM(SRAM)

Hardware used - EVM-SK(rev 1.2C)

TI startWare version - AM335X_StarterWare_02_00_01_01

Please suggest me solution.

  • Hi,
    I Solved MMUConfigAndEnable() problem,now I am able to run code using MMU,now its working fine.but another problem is remains their,SRAM Code(Starterware bootloader)doesnt generate timer interrupt;I debugged code and I observed that it doesnt jumps to ISR.might be due to this usb enemeration process is not happening,So Please tell me how can I modify code so that I can jump to ISR routine.
    I checked code by changing stack size but its also not working.
    Please guide me how can I execute ISR inside SRAM.

    Regards,
    Vishvajeet