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.

Failing to load the application code in AM335X series

Hi, I have  a boot loader program which boots from NOR Flash using GPMC Interface of AM335X SITARA series. But I am failing to run the application program for the same which also resides on the NOR FLash. My application code is a simple gpioLEDBlink.c program where pin 23 of GPIO1 glows alternately. I think I am failing to write the linker files properly for the application code.

I have found that on oscilloscope that my program enters the application code and exits suddenly after traversing first thirty two addresses of the NOR FLash i.e. it enters 0x08003D00 of GPMC address space and then exits after 0x08003D3F. What can be the reason for this?

Is it that during entry the boot loader is not getting something and it exits.. Is it that some setting has to be done in bootloader before going to application code. please inform.

I have attached the relevant linker command files for the boot loader and the C Files of the bootloader entry code as well as the application code. I have posted the question in other forums but I have not received a reply so hoping to get some help here...doubt.rar

  • Hi,

    Can you share the GPMC register settings?
    How do you configure the interface?

    Best Regards,
    Yordan
  • Hi Yordan,

    I do not separately configure GPMC interface in my application code assuming that since my boot loader and application code being in the address space "FFFF" of GPMC address bus, I rely on SYSBOOT Configuration done during power on.

    Do i need to reconfigure GPMC mandatory in my application code?
  • Hi,

    You need to have some sort of driver, that sets the GPMC correctly.
    When set for NOR Flash boot, rom code only performs basic gpmc initialization & pinmux so that the device can read the bootloader from the external memory & load it into the ddr.
    After that it is sw drivers responsibility to configure the IPs accordingly & perform read/writes through a given interface.

    Best Regards,
    Yordan