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.

[DM8148] CPU hangs when jumping to RPRC image in u-boot

Hi,

The hardware I am using is DM8148 EVM with Vision application board. Both u-boot and RPRC image are flashed into NOR flash successfully.

The problem occurs when jumping to the entry point of application. The PC falls into an unknown address 0x2008C.

I am sure that the content of RPRC image is completed copied into DDR, because I already checked the content in DDR is the same as the image.

Currently, I really have no idea why the CPU hangs. Can someone provide any thoughts or tips, please?

Thanks and regards,

Kershaw

  • Hi Kershaw,

    Kershaw Chang said:
    The hardware I am using is DM8148 EVM with Vision application board.

    Can you please provide more details for this Vision application board? I have DM8148 EVM from Mistral which consist of main based board, expansion I/O board and LCD adapter board. 

    Kershaw Chang said:
    Both u-boot and RPRC image

    What is this RPRC image? What is the SDK that you are using? I am using EZSDK 5.05.02.00 with PSP 04.04.00.01, where I have u-boot and uImage (not RPRC) image.

    Regarding NOR flash booting, you can refer to:

    http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_Flashing_Tools_Guide#Building_NOR_Flash_Tool

    http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_Flashing_Tools_Guide#Burning_images_to_NOR_Flash_.28using_CCS.29

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#U-Boot_NOR_Support

    http://processors.wiki.ti.com/index.php/DM81xx_NOR_APPLICATION_NOTES

    2. NOR boot has only two stages of bootloader. ROM code serves as the Ist stage bootloader and the u-boot serves as the second stage boot loader. U-boot min is not required here as the NOR is XIP and hence the complete u-boot binary can be placed in the NOR flash.

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#Building_U-Boot

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_NOR_Driver_Guide

    BR
    Pavel

  • Hi Pavel,

    Thanks for your quick response.

    The based board I am using is Rev. D and the daughter board is "Video Vision Application Board Rev. C". I also get the EVM from Mistral.

    I think the daughter board I used is similar as yours, which has a NOR flash on that.

    For the RPRC image, please refer to the URL below. I am using avsdk_00_08_00_00 with u-boot-04.01.00.07.

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/p/161629/597931.aspx#597931

    I already let the u-boot successfully run in NOR flash. The problem happens when the u-boot tries to jump to the entry point of application.

    Please let know what else I have to provide.

    Best regards,

    Kershaw

  • Hi Kershaw,

    This is what we have in the DM814x device TRM, regarding the NOR boot support:

    chapter 4 ROM Code Memory and Peripheral Booting

    4.7.2 XIP Memory

    The ROM Code can boot directly from XIP devices. A typical XIP device is a NOR flash memory. Support for XIP devices is performed under the following assumptions:
    • Uses GPMC as the communication interface
    • Can connect up to 1 Gbit (128 Mbytes) memories
    • Uses both ×8 and ×16 data bus width
    • Follows asynchronous protocol
    • Supports address / data multiplexed mode and non-multiplexed mode
    • GPMC clock is 55 MHz
    Device is connected to CS0 mapped to address 800 0000h
    • Wait pin signal WAIT0 is monitored depending on the MBOOT configuration pins (XIP/XIPWAIT).


    Depending on the MBOOT option the GPMC is configured to use the WAIT signal connected on the WAIT0 pin or not. Wait pin polarity is set to stall accessing memory when the WAIT0 pin is low. The wait monitoring is intended to be used with memories which require long time for initialization after reset or need to pause while reading data. The boot procedure from XIP device can be described as such:
    1. Configure GPMC for XIP device access
    2. Set the image location to 800 0000h
    3. Verify if bootable image is present at the image location.
    4. If the image has been found, start it.
    5. If the image has not been found, return from XIP booting to the main booting loop.

    Are you aligned with the above requirements?

    Kershaw Chang said:
    I am using avsdk_00_08_00_00

    I work with EZSDK. For AV BIOS SDK support, you should better check in our BIOS forum:

    http://e2e.ti.com/support/embedded/bios/f/355.aspx

    BR
    Pavel