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.

LP-AM243: Damaged seconary bootloader.

Part Number: LP-AM243
Other Parts Discussed in Thread: UNIFLASH

Hello,

I have been using LP AM243 for a while. I have performed the Soc initialization with python UART script method
and loading program, writing to flash etc. I have been experimenting with flash_IO and jtag uniflash and I think I have
overwritten the SBL. Now connecting the LP and loading program from CCS cause this error:

MAIN_Cortex_R5_0_0: Trouble Writing Memory Block at 0x0 on Page 0 of Length 0x40: (Error -1065 @ 0x40) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.6.0.00172)
MAIN_Cortex_R5_0_0: File Loader: Verification failed: Target failed to write 0x00000000
MAIN_Cortex_R5_0_0: GEL: File: C:\Users\z0047ssh\workspace_v11\ospi_flash_io_am243x-lp_r5fss0-0_nortos_ti-arm-clang\Debug\ospi_flash_io_am243x-lp_r5fss0-0_nortos_ti-arm-clang.out: Load failed.

When connecting different LP everything is fine, so this is not pc setup Issue. Is there any way to "factory reset" the whole controller?
Trying to use the UART python script doesnt work.
Or is it possible this is different Issue?

Thank you for your time and best of luck,

Dominik

  • Hi Dominik,

    First with the current SBL (faulty) in OSPI flash and boot mode set to "OSPI boot", can you show me the UART output when you power one the AM243x LP?

    If you want to go back to factory default, the most straight forward way is to use the UART python script with boot mode set to "UART boot".

    If the UART python script does work with boot mode set to UART boot, then the last resort is to use boot mode set "No Boot", then use the load_dmsc.js, and finally use the JTAG uniflash to re-flash the OSPI flash.

    Best regards,

    Ming

  • Hello Ming,

    This is the screenshot of the UART in OSPI BOOT mode:

    There is no output in the serial console. In UART it is printing 'C' character as expected.

    The python script running:
    "python uart_uniflash.py -p COM3 --cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg" produces errors.

    And when running the jtag_uniflash it gets stuck when trying to check for mannufacturer and device ID.
    Do you think the device is dead?


    Best regards,

    Dominik

  • Hi Dominik,

    Did you closed the UART terminal before you run "python uart_uniflash.py -p COM3 --cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg"?

    Best regards,

    Ming

  • Hello Ming,

    yes I have closed the terminal. The python script loaded the image of the flash writer, 
    but after it was loaded. 0 bytes was sent over and the script froze.

    Best regards,

    Dominik

  • Hi Dominik,

    The last resort is to use boot mode set "No Boot", then use the load_dmsc.js in Scripting Console (AM243x MCU+ SDK: EVM Setup (ti.com)), and finally use the JTAG uniflash to re-flash the OSPI flash.

    Best regards,

    Ming

  • Hello,

    I have tried the default JTAG uniflash and the device seems to not survive initialization.
    When running this setup on another LP there is no issue. So I can assume that the device is 
    dead and close this thread?

    Thank you for your time Ming and have a nice day.

    Dominik

  • Hi Dominik,

    If you cannot even cannot get the load_dmsc.js run with boot mode set to "NO Boot", then my guess is the LP is broken.

    If that is the case, please close this thread.

    Thanks!

    Ming