AM2434: Flashing Error on Custom AM243 Board Platform

Part Number: AM2434
Other Parts Discussed in Thread: LP-XDS110, LP-AM243, , UNIFLASH, CCSTUDIO

Hi,

I made a custom PCB based on LP-AM243 platform. i purchased LP-XDS110 as usb debugger.

My PCB is using AM2434 and i made a pin header for connecting with LP-XDS110

image.png

I have some issue with flashing the PCB

Here my steps:

  1. Flash SoC initialization binary. I set the bootmode to uart and running uart_uniflash script
    PS C:\ti\mcu_plus_sdk_am243x_12_00_00_27\tools\boot> python uart_uniflash.py -p COM7 --cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 2 command(s) !!!
    
    Executing command 1 of 2 ...
    Found flash writer ... sending sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage
    
    Sent flashwriter sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage of size 308909 bytes in 28.37s.
    
    Executing command 2 of 2 ...
    Command arguments : --file=sbl_prebuilt/am243x-lp/sbl_null.release.hs_fs.tiimage --operation=flash --flash-offset=0x0
    Sent sbl_prebuilt/am243x-lp/sbl_null.release.hs_fs.tiimage of size 282165 bytes in 26.53s.
    [STATUS] SUCCESS !!!
    
    All commands from config file are executed !!!
    PS C:\ti\mcu_plus_sdk_am243x_12_00_00_27\tools\boot>
  2.  I power off the PCB and switch to OSPI boot mode, power ON again and check terminal. image.png
  3. I am using CCStudio Uniflash to flash my firmware. image.png
  4. Power off, switch to OSPI boot mode and check uart terminal. 37757e2b-91bb-4070-bcef-47b99071f28c.png

 

I recall that when i am used LP-AM243 and perform step 1 the output was like this

image-20260423-020635.png

Could you help me to debug this issue?

  • Hi Bayu,

    Can you please let me know the Flash being used on the custom PCB? is it the same as the default Flash Part (S25HL512T)?

    Also please note, if a QSPI Flash part is being used, then the QSPI Bootmode has to be used and for an OSPI Flash part, the OSPI Bootmode has to be used.

    I think I have figured out the issue which is being faced: the PHY Tuning Data is not being flashed. Hence, when the SBL OSPI tries to initialize the Flash driver, it fails to enable PHY since it cannot find the PHY Tuning Data in the Flash.

    Can you please follow the steps  flash the images including the PHY Tuning Data offset? These steps can be directly performed in the terminal and no GUI is needed.

    cd ${SDK_INSTALL_PATH}/tools/boot
    python uart_uniflash.py -p COM<x> --cfg=sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg

    Regards,
    Aryamaan

  • Hai Aryamaan,

    Yes i use S25HL512T

    I am using QSPI boot

    i tried this python uart_uniflash.py -p COM<x> --cfg=sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg

    Uart output is like this.

    I also tried to use CCStudio Uniflash to check JTAG connection

    Test connection got error

    -----[Print the board config pathname(s)]------------------------------------
    
    C:\Users\ekoba\AppData\Local\TEXASI~1\CCS\
        TICLOU~2\1\0\BrdDat\testBoard.dat
    
    -----[Print the reset-command software log-file]-----------------------------
    
    This utility has selected a 100/110/510 class product.
    This utility will load the adapter 'jioxds110.dll'.
    The library build date was 'Oct  2 2026'.
    The library build time was '02:46:36'.
    The library package version is '21.1.0.4116'.
    The library component version is '35.35.0.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '5' (0x00000005).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.
    
    -----[Print the reset-command hardware log-file]-----------------------------
    
    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the XDS110 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for XDS110 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).
    
    -----[An error has occurred and this utility has aborted]--------------------
    
    This error is generated by TI's USCIF driver or utilities.
    
    The value is '-233' (0xffffff17).
    The title is 'SC_ERR_PATH_BROKEN'.
    
    The explanation is:
    The JTAG IR and DR scan-paths cannot circulate bits, they may be broken.
    An attempt to scan the JTAG scan-path has failed.
    The target's JTAG scan-path appears to be broken
    with a stuck-at-ones or stuck-at-zero fault.

  • Hi Bayu,

    Can you try the following commands too? I'd like to isolate the issue further:

    cd ${SDK_INSTALL_PATH}/tools/boot
    python uart_uniflash.py -p COM<x> --cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg

    Please let me know if you get the expected logs.

    This would mean that there is no problem with the communication between the SoC and the QSPI Flash.

    Regards,

    Aryamaan

  • Can you also please share your example.syscfg files for the sbl_uart_uniflash and the sbl_ospi example?

    I'd like to check the OSPI and Flash configurations.

    Regards,

    Aryamaan

  • This is the result:

    PS C:\ti\mcu_plus_sdk_am243x_12_00_00_27\tools\boot> python uart_uniflash.py -p COM7 --cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg
    
    Parsing config file ...
    Parsing config file ... SUCCESS. Found 2 command(s) !!!
    
    Executing command 1 of 2 ...
    Found flash writer ... sending sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage
    
    Sent flashwriter sbl_prebuilt/am243x-lp/sbl_uart_uniflash.release.hs_fs.tiimage of size 308909 bytes in 29.0s.
    
    Executing command 2 of 2 ...
    Command arguments : --file=sbl_prebuilt/am243x-lp/sbl_null.release.hs_fs.tiimage --operation=flash --flash-offset=0x0
    Sent sbl_prebuilt/am243x-lp/sbl_null.release.hs_fs.tiimage of size 282165 bytes in 26.64s.
    [STATUS] SUCCESS !!!
    
    All commands from config file are executed !!!
    PS C:\ti\mcu_plus_sdk_am243x_12_00_00_27\tools\boot>

  • /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM243x_ALX_beta" --package "ALX" --part "ALX" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @versions {"tool":"1.17.0+3128"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const flash           = scripting.addModule("/board/flash/flash", {}, false);
    const flash1          = flash.addInstance();
    const bootloader      = scripting.addModule("/drivers/bootloader/bootloader", {}, false);
    const bootloader1     = bootloader.addInstance();
    const uart            = scripting.addModule("/drivers/uart/uart", {}, false);
    const uart1           = uart.addInstance();
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const dpl_cfg = scripting.addModule("/kernel/dpl/dpl_cfg");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    const mpu_armv73      = mpu_armv7.addInstance();
    const mpu_armv74      = mpu_armv7.addInstance();
    const default_linker  = scripting.addModule("/memory_configurator/default_linker", {}, false);
    const default_linker1 = default_linker.addInstance();
    const general         = scripting.addModule("/memory_configurator/general", {}, false);
    const general1        = general.addInstance();
    const region          = scripting.addModule("/memory_configurator/region", {}, false);
    const region1         = region.addInstance();
    const section         = scripting.addModule("/memory_configurator/section", {}, false);
    const section1        = section.addInstance();
    const section2        = section.addInstance();
    const section3        = section.addInstance();
    const section4        = section.addInstance();
    const section5        = section.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    flash1.$name                         = "CONFIG_FLASH0";
    flash1.bootQuirks                    = "Flash_quirkQSPIEarlyFixup";
    flash1.flashQeType                   = "5";
    flash1.peripheralDriver.$name        = "CONFIG_OSPI0";
    flash1.peripheralDriver.dmaEnable    = true;
    flash1.peripheralDriver.inputClkFreq = 100000000;
    
    bootloader1.bootMedia = "MEM";
    bootloader1.$name     = "CONFIG_BOOTLOADER_MEM";
    
    uart1.$name        = "CONFIG_UART0";
    uart1.intrEnable   = "DISABLE";
    uart1.UART.$assign = "USART0";
    
    const udma                         = scripting.addModule("/drivers/udma/udma", {}, false);
    const udma1                        = udma.addInstance({}, false);
    udma1.$name                        = "CONFIG_UDMA0";
    flash1.peripheralDriver.udmaDriver = udma1;
    
    debug_log.enableCssLog      = false;
    debug_log.enableLogZoneInfo = true;
    
    mpu_armv71.$name             = "CONFIG_MPU_REGION0";
    mpu_armv71.size              = 31;
    mpu_armv71.attributes        = "Device";
    mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv71.allowExecute      = false;
    
    mpu_armv72.$name             = "CONFIG_MPU_REGION1";
    mpu_armv72.size              = 15;
    mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv73.$name             = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr          = 0x41010000;
    mpu_armv73.size              = 15;
    mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv74.$name             = "CONFIG_MPU_REGION3";
    mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv74.baseAddr          = 0x70000000;
    mpu_armv74.size              = 21;
    
    default_linker1.$name = "memory_configurator_default_linker0";
    
    general1.$name          = "CONFIG_GENERAL0";
    general1.entry_point    = "-e_vectors_sbl";
    general1.irq_stack_size = 4096;
    general1.svc_stack_size = 256;
    general1.linker.$name   = "TIARMCLANG0";
    
    region1.$name                               = "MEMORY_REGION_CONFIGURATION0";
    region1.memory_region.create(7);
    region1.memory_region[0].type               = "TCMA_R5F";
    region1.memory_region[0].$name              = "R5F_VECS";
    region1.memory_region[0].size               = 0x40;
    region1.memory_region[0].auto               = false;
    region1.memory_region[1].type               = "TCMA_R5F";
    region1.memory_region[1].$name              = "R5F_TCMA";
    region1.memory_region[1].size               = 0x7FC0;
    region1.memory_region[2].type               = "TCMB_R5F";
    region1.memory_region[2].$name              = "R5F_TCMB0";
    region1.memory_region[2].size               = 0x8000;
    region1.memory_region[3].$name              = "MSRAM_VECS";
    region1.memory_region[3].auto               = false;
    region1.memory_region[3].size               = 0x100;
    region1.memory_region[4].$name              = "MSRAM_0";
    region1.memory_region[4].auto               = false;
    region1.memory_region[4].manualStartAddress = 0x70000100;
    region1.memory_region[4].size               = 0x70F00;
    region1.memory_region[5].$name              = "MSRAM_1";
    region1.memory_region[5].auto               = false;
    region1.memory_region[5].manualStartAddress = 0x70071000;
    region1.memory_region[5].size               = 0x1F000;
    region1.memory_region[6].auto               = false;
    region1.memory_region[6].$name              = "MSRAM_2";
    region1.memory_region[6].manualStartAddress = 0x70090000;
    region1.memory_region[6].size               = 0x150000;
    
    section1.$name                        = "Vector Table";
    section1.group                        = false;
    section1.load_memory                  = "MSRAM_VECS";
    section1.output_section.create(1);
    section1.output_section[0].$name      = ".vectors";
    section1.output_section[0].palignment = true;
    
    section2.$name                        = "Text Segments";
    section2.load_memory                  = "MSRAM_0";
    section2.output_section.create(7);
    section2.output_section[0].palignment = true;
    section2.output_section[0].$name      = ".text";
    section2.output_section[1].palignment = true;
    section2.output_section[1].$name      = ".text.hwi";
    section2.output_section[2].palignment = true;
    section2.output_section[2].$name      = ".text.cache";
    section2.output_section[3].palignment = true;
    section2.output_section[3].$name      = ".text.mpu";
    section2.output_section[4].palignment = true;
    section2.output_section[4].$name      = ".text.boot";
    section2.output_section[5].$name      = ".data";
    section2.output_section[5].palignment = true;
    section2.output_section[6].$name      = ".rodata";
    section2.output_section[6].palignment = true;
    
    section3.$name                                   = "Memory Segments";
    section3.load_memory                             = "MSRAM_1";
    section3.group                                   = false;
    section3.output_section.create(3);
    section3.output_section[0].$name                 = ".bss";
    section3.output_section[0].palignment            = true;
    section3.output_section[0].output_sections_start = "__BSS_START";
    section3.output_section[0].output_sections_end   = "__BSS_END";
    section3.output_section[1].$name                 = ".sysmem";
    section3.output_section[1].palignment            = true;
    section3.output_section[2].$name                 = ".stack";
    section3.output_section[2].palignment            = true;
    
    section4.$name                                    = "Stack Segments";
    section4.load_memory                              = "MSRAM_1";
    section4.output_section.create(5);
    section4.output_section[0].$name                  = ".irqstack";
    section4.output_section[0].output_sections_start  = "__IRQ_STACK_START";
    section4.output_section[0].output_sections_end    = "__IRQ_STACK_END";
    section4.output_section[0].input_section.create(1);
    section4.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;";
    section4.output_section[1].$name                  = ".fiqstack";
    section4.output_section[1].output_sections_start  = "__FIQ_STACK_START";
    section4.output_section[1].output_sections_end    = "__FIQ_STACK_END";
    section4.output_section[1].input_section.create(1);
    section4.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;";
    section4.output_section[2].$name                  = ".svcstack";
    section4.output_section[2].output_sections_start  = "__SVC_STACK_START";
    section4.output_section[2].output_sections_end    = "__SVC_STACK_END";
    section4.output_section[2].input_section.create(1);
    section4.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;";
    section4.output_section[3].$name                  = ".abortstack";
    section4.output_section[3].output_sections_start  = "__ABORT_STACK_START";
    section4.output_section[3].output_sections_end    = "__ABORT_STACK_END";
    section4.output_section[3].input_section.create(1);
    section4.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;";
    section4.output_section[4].$name                  = ".undefinedstack";
    section4.output_section[4].output_sections_start  = "__UNDEFINED_STACK_START";
    section4.output_section[4].output_sections_end    = "__UNDEFINED_STACK_END";
    section4.output_section[4].input_section.create(1);
    section4.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;";
    
    section5.$name                       = "CONFIG_SECTION0";
    section5.type                        = "NOLOAD";
    section5.group                       = false;
    section5.load_memory                 = "MSRAM_2";
    section5.output_section.create(1);
    section5.output_section[0].$name     = ".bss.filebuf";
    section5.output_section[0].alignment = 0;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    flash1.peripheralDriver.OSPI.$suggestSolution      = "OSPI0";
    flash1.peripheralDriver.OSPI.CLK.$suggestSolution  = "OSPI0_CLK";
    flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0";
    flash1.peripheralDriver.OSPI.D3.$suggestSolution   = "OSPI0_D3";
    flash1.peripheralDriver.OSPI.D2.$suggestSolution   = "OSPI0_D2";
    flash1.peripheralDriver.OSPI.D1.$suggestSolution   = "OSPI0_D1";
    flash1.peripheralDriver.OSPI.D0.$suggestSolution   = "OSPI0_D0";
    uart1.UART.RXD.$suggestSolution                    = "UART0_RXD";
    uart1.UART.TXD.$suggestSolution                    = "UART0_TXD";
    

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM243x_ALX_beta" --part "ALX" --package "ALX" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @v2CliArgs --device "AM2434" --package "FCCSP (ALX)" --variant "AM2434-E" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @versions {"tool":"1.26.0+4407"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const flash           = scripting.addModule("/board/flash/flash", {}, false);
    const flash1          = flash.addInstance();
    const bootloader      = scripting.addModule("/drivers/bootloader/bootloader", {}, false);
    const bootloader1     = bootloader.addInstance();
    const gpio            = scripting.addModule("/drivers/gpio/gpio", {}, false);
    const gpio1           = gpio.addInstance();
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const dpl_cfg         = scripting.addModule("/kernel/dpl/dpl_cfg");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    const mpu_armv73      = mpu_armv7.addInstance();
    const mpu_armv74      = mpu_armv7.addInstance();
    const mpu_armv75      = mpu_armv7.addInstance();
    const default_linker  = scripting.addModule("/memory_configurator/default_linker", {}, false);
    const default_linker1 = default_linker.addInstance();
    const general         = scripting.addModule("/memory_configurator/general", {}, false);
    const general1        = general.addInstance();
    const region          = scripting.addModule("/memory_configurator/region", {}, false);
    const region1         = region.addInstance();
    const section         = scripting.addModule("/memory_configurator/section", {}, false);
    const section1        = section.addInstance();
    const section2        = section.addInstance();
    const section3        = section.addInstance();
    const section4        = section.addInstance();
    const section5        = section.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    bootloader1.appImageOffset      = "0x80000";
    bootloader1.$name               = "CONFIG_BOOTLOADER_FLASH0";
    bootloader1.appImageBaseAddress = "0x60080000";
    
    flash1.$name                         = "CONFIG_FLASH0";
    bootloader1.flashDriver              = flash1;
    flash1.bootQuirks                    = "Flash_quirkQSPIEarlyFixup";
    flash1.peripheralDriver.$name        = "CONFIG_OSPI0";
    flash1.peripheralDriver.dmaEnable    = true;
    flash1.peripheralDriver.inputClkFreq = 100000000;
    flash1.peripheralDriver.phyEnable    = true;
    flash1.peripheralDriver.child.$name  = "drivers_ospi_v0_ospi_v0_template0";
    
    gpio1.$name          = "CONFIG_GPIO0";
    gpio1.pinDir         = "OUTPUT";
    gpio1.defaultValue   = "1";
    gpio1.GPIO_n.$assign = "OSPI0_CSn1";
    
    const udma                         = scripting.addModule("/drivers/udma/udma", {}, false);
    const udma1                        = udma.addInstance({}, false);
    udma1.$name                        = "CONFIG_UDMA0";
    flash1.peripheralDriver.udmaDriver = udma1;
    
    debug_log.enableUartLog        = true;
    debug_log.enableCssLog         = false;
    debug_log.uartLog.$name        = "CONFIG_UART0";
    debug_log.uartLog.intrEnable   = "DISABLE";
    debug_log.uartLog.UART.$assign = "USART0";
    
    const uart_v0_template  = scripting.addModule("/drivers/uart/v0/uart_v0_template", {}, false);
    const uart_v0_template1 = uart_v0_template.addInstance({}, false);
    uart_v0_template1.$name = "drivers_uart_v0_uart_v0_template0";
    debug_log.uartLog.child = uart_v0_template1;
    
    mpu_armv71.$name             = "CONFIG_MPU_REGION0";
    mpu_armv71.size              = 31;
    mpu_armv71.attributes        = "Device";
    mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv71.allowExecute      = false;
    
    mpu_armv72.$name             = "CONFIG_MPU_REGION1";
    mpu_armv72.size              = 15;
    mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv73.$name             = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr          = 0x41010000;
    mpu_armv73.size              = 15;
    mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv74.$name             = "CONFIG_MPU_REGION3";
    mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv74.baseAddr          = 0x70000000;
    mpu_armv74.size              = 21;
    
    mpu_armv75.$name        = "CONFIG_MPU_REGION4";
    mpu_armv75.baseAddr     = 0x60000000;
    mpu_armv75.size         = 27;
    mpu_armv75.allowExecute = false;
    mpu_armv75.attributes   = "NonCached";
    
    default_linker1.$name = "memory_configurator_default_linker0";
    
    general1.$name          = "CONFIG_GENERAL0";
    general1.irq_stack_size = 4096;
    general1.svc_stack_size = 256;
    general1.entry_point    = "-e_vectors_sbl";
    general1.linker.$name   = "TIARMCLANG0";
    
    region1.$name                               = "MEMORY_REGION_CONFIGURATION0";
    region1.memory_region.create(7);
    region1.memory_region[0].type               = "TCMA_R5F";
    region1.memory_region[0].$name              = "R5F_VECS";
    region1.memory_region[0].size               = 0x40;
    region1.memory_region[0].auto               = false;
    region1.memory_region[1].type               = "TCMA_R5F";
    region1.memory_region[1].$name              = "R5F_TCMA";
    region1.memory_region[1].size               = 0x7FC0;
    region1.memory_region[2].type               = "TCMB_R5F";
    region1.memory_region[2].$name              = "R5F_TCMB0";
    region1.memory_region[2].size               = 0x8000;
    region1.memory_region[3].$name              = "MSRAM_VECS";
    region1.memory_region[3].auto               = false;
    region1.memory_region[3].size               = 0x100;
    region1.memory_region[4].$name              = "MSRAM_0";
    region1.memory_region[4].auto               = false;
    region1.memory_region[4].manualStartAddress = 0x70000100;
    region1.memory_region[4].size               = 0x6FF00;
    region1.memory_region[5].$name              = "MSRAM_1";
    region1.memory_region[5].auto               = false;
    region1.memory_region[5].manualStartAddress = 0x70070000;
    region1.memory_region[5].size               = 0x20000;
    region1.memory_region[6].auto               = false;
    region1.memory_region[6].manualStartAddress = 0x70180000;
    region1.memory_region[6].$name              = "APPIMAGE";
    region1.memory_region[6].size               = 0x40000;
    
    section1.$name                        = "Vector Table";
    section1.group                        = false;
    section1.load_memory                  = "MSRAM_VECS";
    section1.output_section.create(1);
    section1.output_section[0].$name      = ".vectors";
    section1.output_section[0].palignment = true;
    
    section2.$name                        = "Text Segments";
    section2.load_memory                  = "MSRAM_0";
    section2.output_section.create(7);
    section2.output_section[0].palignment = true;
    section2.output_section[0].$name      = ".text";
    section2.output_section[1].palignment = true;
    section2.output_section[1].$name      = ".text.hwi";
    section2.output_section[2].palignment = true;
    section2.output_section[2].$name      = ".text.cache";
    section2.output_section[3].palignment = true;
    section2.output_section[3].$name      = ".text.mpu";
    section2.output_section[4].palignment = true;
    section2.output_section[4].$name      = ".text.boot";
    section2.output_section[5].$name      = ".data";
    section2.output_section[5].palignment = true;
    section2.output_section[6].$name      = ".rodata";
    section2.output_section[6].palignment = true;
    
    section3.$name                                   = "Memory Segments";
    section3.group                                   = false;
    section3.load_memory                             = "MSRAM_1";
    section3.output_section.create(3);
    section3.output_section[0].$name                 = ".bss";
    section3.output_section[0].palignment            = true;
    section3.output_section[0].output_sections_start = "__BSS_START";
    section3.output_section[0].output_sections_end   = "__BSS_END";
    section3.output_section[1].$name                 = ".sysmem";
    section3.output_section[1].palignment            = true;
    section3.output_section[2].$name                 = ".stack";
    section3.output_section[2].palignment            = true;
    
    section4.$name                                    = "Stack Segments";
    section4.load_memory                              = "MSRAM_1";
    section4.output_section.create(5);
    section4.output_section[0].$name                  = ".irqstack";
    section4.output_section[0].output_sections_start  = "__IRQ_STACK_START";
    section4.output_section[0].output_sections_end    = "__IRQ_STACK_END";
    section4.output_section[0].input_section.create(1);
    section4.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;";
    section4.output_section[1].$name                  = ".fiqstack";
    section4.output_section[1].output_sections_start  = "__FIQ_STACK_START";
    section4.output_section[1].output_sections_end    = "__FIQ_STACK_END";
    section4.output_section[1].input_section.create(1);
    section4.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;";
    section4.output_section[2].$name                  = ".svcstack";
    section4.output_section[2].output_sections_start  = "__SVC_STACK_START";
    section4.output_section[2].output_sections_end    = "__SVC_STACK_END";
    section4.output_section[2].input_section.create(1);
    section4.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;";
    section4.output_section[3].$name                  = ".abortstack";
    section4.output_section[3].output_sections_start  = "__ABORT_STACK_START";
    section4.output_section[3].output_sections_end    = "__ABORT_STACK_END";
    section4.output_section[3].input_section.create(1);
    section4.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;";
    section4.output_section[4].$name                  = ".undefinedstack";
    section4.output_section[4].output_sections_start  = "__UNDEFINED_STACK_START";
    section4.output_section[4].output_sections_end    = "__UNDEFINED_STACK_END";
    section4.output_section[4].input_section.create(1);
    section4.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;";
    
    section5.group                       = false;
    section5.type                        = "NOLOAD";
    section5.load_memory                 = "APPIMAGE";
    section5.$name                       = "Application Image ";
    section5.output_section.create(1);
    section5.output_section[0].$name     = ".bss.app";
    section5.output_section[0].alignment = 0;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    flash1.peripheralDriver.OSPI.$suggestSolution      = "OSPI0";
    flash1.peripheralDriver.OSPI.CLK.$suggestSolution  = "OSPI0_CLK";
    flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0";
    flash1.peripheralDriver.OSPI.D3.$suggestSolution   = "OSPI0_D3";
    flash1.peripheralDriver.OSPI.D2.$suggestSolution   = "OSPI0_D2";
    flash1.peripheralDriver.OSPI.D1.$suggestSolution   = "OSPI0_D1";
    flash1.peripheralDriver.OSPI.D0.$suggestSolution   = "OSPI0_D0";
    debug_log.uartLog.UART.RXD.$suggestSolution        = "UART0_RXD";
    debug_log.uartLog.UART.TXD.$suggestSolution        = "UART0_TXD";
    

  • This is the result:

    Do you get the following logs on the UART console?

    image-20260423-020635.png

    Regarding the SBL OSPI case:

    can you please try using the following example.syscfg files and let me know if see the relevant logs on the UART console?

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM243x_ALX_beta" --part "ALX" --package "ALX" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @v2CliArgs --device "AM2434" --package "FCCSP (ALX)" --variant "AM2434-E" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @versions {"tool":"1.26.0+4407"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const flash           = scripting.addModule("/board/flash/flash", {}, false);
    const flash1          = flash.addInstance();
    const bootloader      = scripting.addModule("/drivers/bootloader/bootloader", {}, false);
    const bootloader1     = bootloader.addInstance();
    const uart            = scripting.addModule("/drivers/uart/uart", {}, false);
    const uart1           = uart.addInstance();
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const dpl_cfg         = scripting.addModule("/kernel/dpl/dpl_cfg");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    const mpu_armv73      = mpu_armv7.addInstance();
    const mpu_armv74      = mpu_armv7.addInstance();
    const default_linker  = scripting.addModule("/memory_configurator/default_linker", {}, false);
    const default_linker1 = default_linker.addInstance();
    const general         = scripting.addModule("/memory_configurator/general", {}, false);
    const general1        = general.addInstance();
    const region          = scripting.addModule("/memory_configurator/region", {}, false);
    const region1         = region.addInstance();
    const section         = scripting.addModule("/memory_configurator/section", {}, false);
    const section1        = section.addInstance();
    const section2        = section.addInstance();
    const section3        = section.addInstance();
    const section4        = section.addInstance();
    const section5        = section.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    flash1.$name                         = "CONFIG_FLASH0";
    flash1.flashQeType                   = "5";
    flash1.bootQuirks                    = "NULL";
    flash1.peripheralDriver.$name        = "CONFIG_OSPI0";
    flash1.peripheralDriver.dmaEnable    = true;
    flash1.peripheralDriver.inputClkFreq = 100000000;
    flash1.peripheralDriver.child.$name  = "drivers_ospi_v0_ospi_v0_template0";
    
    bootloader1.bootMedia = "MEM";
    bootloader1.$name     = "CONFIG_BOOTLOADER_MEM";
    
    uart1.$name        = "CONFIG_UART0";
    uart1.intrEnable   = "DISABLE";
    uart1.UART.$assign = "USART0";
    
    const uart_v0_template  = scripting.addModule("/drivers/uart/v0/uart_v0_template", {}, false);
    const uart_v0_template1 = uart_v0_template.addInstance({}, false);
    uart_v0_template1.$name = "drivers_uart_v0_uart_v0_template0";
    uart1.child             = uart_v0_template1;
    
    const udma                         = scripting.addModule("/drivers/udma/udma", {}, false);
    const udma1                        = udma.addInstance({}, false);
    udma1.$name                        = "CONFIG_UDMA0";
    flash1.peripheralDriver.udmaDriver = udma1;
    
    debug_log.enableCssLog      = false;
    debug_log.enableLogZoneInfo = true;
    
    mpu_armv71.$name             = "CONFIG_MPU_REGION0";
    mpu_armv71.size              = 31;
    mpu_armv71.attributes        = "Device";
    mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv71.allowExecute      = false;
    
    mpu_armv72.$name             = "CONFIG_MPU_REGION1";
    mpu_armv72.size              = 15;
    mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv73.$name             = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr          = 0x41010000;
    mpu_armv73.size              = 15;
    mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv74.$name             = "CONFIG_MPU_REGION3";
    mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv74.baseAddr          = 0x70000000;
    mpu_armv74.size              = 21;
    
    default_linker1.$name = "memory_configurator_default_linker0";
    
    general1.$name          = "CONFIG_GENERAL0";
    general1.entry_point    = "-e_vectors_sbl";
    general1.irq_stack_size = 4096;
    general1.svc_stack_size = 256;
    general1.linker.$name   = "TIARMCLANG0";
    
    region1.$name                               = "MEMORY_REGION_CONFIGURATION0";
    region1.memory_region.create(7);
    region1.memory_region[0].type               = "TCMA_R5F";
    region1.memory_region[0].$name              = "R5F_VECS";
    region1.memory_region[0].size               = 0x40;
    region1.memory_region[0].auto               = false;
    region1.memory_region[1].type               = "TCMA_R5F";
    region1.memory_region[1].$name              = "R5F_TCMA";
    region1.memory_region[1].size               = 0x7FC0;
    region1.memory_region[2].type               = "TCMB_R5F";
    region1.memory_region[2].$name              = "R5F_TCMB0";
    region1.memory_region[2].size               = 0x8000;
    region1.memory_region[3].$name              = "MSRAM_VECS";
    region1.memory_region[3].auto               = false;
    region1.memory_region[3].size               = 0x100;
    region1.memory_region[4].$name              = "MSRAM_0";
    region1.memory_region[4].auto               = false;
    region1.memory_region[4].manualStartAddress = 0x70000100;
    region1.memory_region[4].size               = 0x70F00;
    region1.memory_region[5].$name              = "MSRAM_1";
    region1.memory_region[5].auto               = false;
    region1.memory_region[5].manualStartAddress = 0x70071000;
    region1.memory_region[5].size               = 0x1F000;
    region1.memory_region[6].auto               = false;
    region1.memory_region[6].$name              = "MSRAM_2";
    region1.memory_region[6].manualStartAddress = 0x70090000;
    region1.memory_region[6].size               = 0x150000;
    
    section1.$name                        = "Vector Table";
    section1.group                        = false;
    section1.load_memory                  = "MSRAM_VECS";
    section1.output_section.create(1);
    section1.output_section[0].$name      = ".vectors";
    section1.output_section[0].palignment = true;
    
    section2.$name                        = "Text Segments";
    section2.load_memory                  = "MSRAM_0";
    section2.output_section.create(7);
    section2.output_section[0].palignment = true;
    section2.output_section[0].$name      = ".text";
    section2.output_section[1].palignment = true;
    section2.output_section[1].$name      = ".text.hwi";
    section2.output_section[2].palignment = true;
    section2.output_section[2].$name      = ".text.cache";
    section2.output_section[3].palignment = true;
    section2.output_section[3].$name      = ".text.mpu";
    section2.output_section[4].palignment = true;
    section2.output_section[4].$name      = ".text.boot";
    section2.output_section[5].$name      = ".data";
    section2.output_section[5].palignment = true;
    section2.output_section[6].$name      = ".rodata";
    section2.output_section[6].palignment = true;
    
    section3.$name                                   = "Memory Segments";
    section3.load_memory                             = "MSRAM_1";
    section3.group                                   = false;
    section3.output_section.create(3);
    section3.output_section[0].$name                 = ".bss";
    section3.output_section[0].palignment            = true;
    section3.output_section[0].output_sections_start = "__BSS_START";
    section3.output_section[0].output_sections_end   = "__BSS_END";
    section3.output_section[1].$name                 = ".sysmem";
    section3.output_section[1].palignment            = true;
    section3.output_section[2].$name                 = ".stack";
    section3.output_section[2].palignment            = true;
    
    section4.$name                                    = "Stack Segments";
    section4.load_memory                              = "MSRAM_1";
    section4.output_section.create(5);
    section4.output_section[0].$name                  = ".irqstack";
    section4.output_section[0].output_sections_start  = "__IRQ_STACK_START";
    section4.output_section[0].output_sections_end    = "__IRQ_STACK_END";
    section4.output_section[0].input_section.create(1);
    section4.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;";
    section4.output_section[1].$name                  = ".fiqstack";
    section4.output_section[1].output_sections_start  = "__FIQ_STACK_START";
    section4.output_section[1].output_sections_end    = "__FIQ_STACK_END";
    section4.output_section[1].input_section.create(1);
    section4.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;";
    section4.output_section[2].$name                  = ".svcstack";
    section4.output_section[2].output_sections_start  = "__SVC_STACK_START";
    section4.output_section[2].output_sections_end    = "__SVC_STACK_END";
    section4.output_section[2].input_section.create(1);
    section4.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;";
    section4.output_section[3].$name                  = ".abortstack";
    section4.output_section[3].output_sections_start  = "__ABORT_STACK_START";
    section4.output_section[3].output_sections_end    = "__ABORT_STACK_END";
    section4.output_section[3].input_section.create(1);
    section4.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;";
    section4.output_section[4].$name                  = ".undefinedstack";
    section4.output_section[4].output_sections_start  = "__UNDEFINED_STACK_START";
    section4.output_section[4].output_sections_end    = "__UNDEFINED_STACK_END";
    section4.output_section[4].input_section.create(1);
    section4.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;";
    
    section5.$name                       = "CONFIG_SECTION0";
    section5.type                        = "NOLOAD";
    section5.group                       = false;
    section5.load_memory                 = "MSRAM_2";
    section5.output_section.create(1);
    section5.output_section[0].$name     = ".bss.filebuf";
    section5.output_section[0].alignment = 0;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    flash1.peripheralDriver.OSPI.$suggestSolution      = "OSPI0";
    flash1.peripheralDriver.OSPI.CLK.$suggestSolution  = "OSPI0_CLK";
    flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0";
    flash1.peripheralDriver.OSPI.D3.$suggestSolution   = "OSPI0_D3";
    flash1.peripheralDriver.OSPI.D2.$suggestSolution   = "OSPI0_D2";
    flash1.peripheralDriver.OSPI.D1.$suggestSolution   = "OSPI0_D1";
    flash1.peripheralDriver.OSPI.D0.$suggestSolution   = "OSPI0_D0";
    uart1.UART.RXD.$suggestSolution                    = "UART0_RXD";
    uart1.UART.TXD.$suggestSolution                    = "UART0_TXD";
    
    

    /**
     * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
     * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
     * @cliArgs --device "AM243x_ALX_beta" --part "ALX" --package "ALX" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @v2CliArgs --device "AM2434" --package "FCCSP (ALX)" --variant "AM2434-E" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM243x@12.00.00"
     * @versions {"tool":"1.26.0+4407"}
     */
    
    /**
     * Import the modules used in this configuration.
     */
    const flash           = scripting.addModule("/board/flash/flash", {}, false);
    const flash1          = flash.addInstance();
    const bootloader      = scripting.addModule("/drivers/bootloader/bootloader", {}, false);
    const bootloader1     = bootloader.addInstance();
    const gpio            = scripting.addModule("/drivers/gpio/gpio", {}, false);
    const gpio1           = gpio.addInstance();
    const debug_log       = scripting.addModule("/kernel/dpl/debug_log");
    const dpl_cfg         = scripting.addModule("/kernel/dpl/dpl_cfg");
    const mpu_armv7       = scripting.addModule("/kernel/dpl/mpu_armv7", {}, false);
    const mpu_armv71      = mpu_armv7.addInstance();
    const mpu_armv72      = mpu_armv7.addInstance();
    const mpu_armv73      = mpu_armv7.addInstance();
    const mpu_armv74      = mpu_armv7.addInstance();
    const mpu_armv75      = mpu_armv7.addInstance();
    const default_linker  = scripting.addModule("/memory_configurator/default_linker", {}, false);
    const default_linker1 = default_linker.addInstance();
    const general         = scripting.addModule("/memory_configurator/general", {}, false);
    const general1        = general.addInstance();
    const region          = scripting.addModule("/memory_configurator/region", {}, false);
    const region1         = region.addInstance();
    const section         = scripting.addModule("/memory_configurator/section", {}, false);
    const section1        = section.addInstance();
    const section2        = section.addInstance();
    const section3        = section.addInstance();
    const section4        = section.addInstance();
    const section5        = section.addInstance();
    
    /**
     * Write custom configuration values to the imported modules.
     */
    bootloader1.appImageOffset      = "0x80000";
    bootloader1.$name               = "CONFIG_BOOTLOADER_FLASH0";
    bootloader1.appImageBaseAddress = "0x60080000";
    
    flash1.$name                         = "CONFIG_FLASH0";
    bootloader1.flashDriver              = flash1;
    flash1.bootQuirks                    = "NULL";
    flash1.peripheralDriver.$name        = "CONFIG_OSPI0";
    flash1.peripheralDriver.dmaEnable    = true;
    flash1.peripheralDriver.inputClkFreq = 100000000;
    flash1.peripheralDriver.phyEnable    = true;
    flash1.peripheralDriver.child.$name  = "drivers_ospi_v0_ospi_v0_template0";
    
    gpio1.$name          = "CONFIG_GPIO0";
    gpio1.pinDir         = "OUTPUT";
    gpio1.defaultValue   = "1";
    gpio1.GPIO_n.$assign = "OSPI0_CSn1";
    
    const udma                         = scripting.addModule("/drivers/udma/udma", {}, false);
    const udma1                        = udma.addInstance({}, false);
    udma1.$name                        = "CONFIG_UDMA0";
    flash1.peripheralDriver.udmaDriver = udma1;
    
    debug_log.enableUartLog        = true;
    debug_log.enableCssLog         = false;
    debug_log.uartLog.$name        = "CONFIG_UART0";
    debug_log.uartLog.intrEnable   = "DISABLE";
    debug_log.uartLog.UART.$assign = "USART0";
    
    const uart_v0_template  = scripting.addModule("/drivers/uart/v0/uart_v0_template", {}, false);
    const uart_v0_template1 = uart_v0_template.addInstance({}, false);
    uart_v0_template1.$name = "drivers_uart_v0_uart_v0_template0";
    debug_log.uartLog.child = uart_v0_template1;
    
    mpu_armv71.$name             = "CONFIG_MPU_REGION0";
    mpu_armv71.size              = 31;
    mpu_armv71.attributes        = "Device";
    mpu_armv71.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv71.allowExecute      = false;
    
    mpu_armv72.$name             = "CONFIG_MPU_REGION1";
    mpu_armv72.size              = 15;
    mpu_armv72.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv73.$name             = "CONFIG_MPU_REGION2";
    mpu_armv73.baseAddr          = 0x41010000;
    mpu_armv73.size              = 15;
    mpu_armv73.accessPermissions = "Supervisor RD+WR, User RD";
    
    mpu_armv74.$name             = "CONFIG_MPU_REGION3";
    mpu_armv74.accessPermissions = "Supervisor RD+WR, User RD";
    mpu_armv74.baseAddr          = 0x70000000;
    mpu_armv74.size              = 21;
    
    mpu_armv75.$name        = "CONFIG_MPU_REGION4";
    mpu_armv75.baseAddr     = 0x60000000;
    mpu_armv75.size         = 27;
    mpu_armv75.allowExecute = false;
    mpu_armv75.attributes   = "Device";
    
    default_linker1.$name = "memory_configurator_default_linker0";
    
    general1.$name          = "CONFIG_GENERAL0";
    general1.irq_stack_size = 4096;
    general1.svc_stack_size = 256;
    general1.entry_point    = "-e_vectors_sbl";
    general1.linker.$name   = "TIARMCLANG0";
    
    region1.$name                               = "MEMORY_REGION_CONFIGURATION0";
    region1.memory_region.create(7);
    region1.memory_region[0].type               = "TCMA_R5F";
    region1.memory_region[0].$name              = "R5F_VECS";
    region1.memory_region[0].size               = 0x40;
    region1.memory_region[0].auto               = false;
    region1.memory_region[1].type               = "TCMA_R5F";
    region1.memory_region[1].$name              = "R5F_TCMA";
    region1.memory_region[1].size               = 0x7FC0;
    region1.memory_region[2].type               = "TCMB_R5F";
    region1.memory_region[2].$name              = "R5F_TCMB0";
    region1.memory_region[2].size               = 0x8000;
    region1.memory_region[3].$name              = "MSRAM_VECS";
    region1.memory_region[3].auto               = false;
    region1.memory_region[3].size               = 0x100;
    region1.memory_region[4].$name              = "MSRAM_0";
    region1.memory_region[4].auto               = false;
    region1.memory_region[4].manualStartAddress = 0x70000100;
    region1.memory_region[4].size               = 0x6FF00;
    region1.memory_region[5].$name              = "MSRAM_1";
    region1.memory_region[5].auto               = false;
    region1.memory_region[5].manualStartAddress = 0x70070000;
    region1.memory_region[5].size               = 0x20000;
    region1.memory_region[6].auto               = false;
    region1.memory_region[6].manualStartAddress = 0x70180000;
    region1.memory_region[6].$name              = "APPIMAGE";
    region1.memory_region[6].size               = 0x40000;
    
    section1.$name                        = "Vector Table";
    section1.group                        = false;
    section1.load_memory                  = "MSRAM_VECS";
    section1.output_section.create(1);
    section1.output_section[0].$name      = ".vectors";
    section1.output_section[0].palignment = true;
    
    section2.$name                        = "Text Segments";
    section2.load_memory                  = "MSRAM_0";
    section2.output_section.create(7);
    section2.output_section[0].palignment = true;
    section2.output_section[0].$name      = ".text";
    section2.output_section[1].palignment = true;
    section2.output_section[1].$name      = ".text.hwi";
    section2.output_section[2].palignment = true;
    section2.output_section[2].$name      = ".text.cache";
    section2.output_section[3].palignment = true;
    section2.output_section[3].$name      = ".text.mpu";
    section2.output_section[4].palignment = true;
    section2.output_section[4].$name      = ".text.boot";
    section2.output_section[5].$name      = ".data";
    section2.output_section[5].palignment = true;
    section2.output_section[6].$name      = ".rodata";
    section2.output_section[6].palignment = true;
    
    section3.$name                                   = "Memory Segments";
    section3.group                                   = false;
    section3.load_memory                             = "MSRAM_1";
    section3.output_section.create(3);
    section3.output_section[0].$name                 = ".bss";
    section3.output_section[0].palignment            = true;
    section3.output_section[0].output_sections_start = "__BSS_START";
    section3.output_section[0].output_sections_end   = "__BSS_END";
    section3.output_section[1].$name                 = ".sysmem";
    section3.output_section[1].palignment            = true;
    section3.output_section[2].$name                 = ".stack";
    section3.output_section[2].palignment            = true;
    
    section4.$name                                    = "Stack Segments";
    section4.load_memory                              = "MSRAM_1";
    section4.output_section.create(5);
    section4.output_section[0].$name                  = ".irqstack";
    section4.output_section[0].output_sections_start  = "__IRQ_STACK_START";
    section4.output_section[0].output_sections_end    = "__IRQ_STACK_END";
    section4.output_section[0].input_section.create(1);
    section4.output_section[0].input_section[0].$name = ". = . + __IRQ_STACK_SIZE;";
    section4.output_section[1].$name                  = ".fiqstack";
    section4.output_section[1].output_sections_start  = "__FIQ_STACK_START";
    section4.output_section[1].output_sections_end    = "__FIQ_STACK_END";
    section4.output_section[1].input_section.create(1);
    section4.output_section[1].input_section[0].$name = ". = . + __FIQ_STACK_SIZE;";
    section4.output_section[2].$name                  = ".svcstack";
    section4.output_section[2].output_sections_start  = "__SVC_STACK_START";
    section4.output_section[2].output_sections_end    = "__SVC_STACK_END";
    section4.output_section[2].input_section.create(1);
    section4.output_section[2].input_section[0].$name = ". = . + __SVC_STACK_SIZE;";
    section4.output_section[3].$name                  = ".abortstack";
    section4.output_section[3].output_sections_start  = "__ABORT_STACK_START";
    section4.output_section[3].output_sections_end    = "__ABORT_STACK_END";
    section4.output_section[3].input_section.create(1);
    section4.output_section[3].input_section[0].$name = ". = . + __ABORT_STACK_SIZE;";
    section4.output_section[4].$name                  = ".undefinedstack";
    section4.output_section[4].output_sections_start  = "__UNDEFINED_STACK_START";
    section4.output_section[4].output_sections_end    = "__UNDEFINED_STACK_END";
    section4.output_section[4].input_section.create(1);
    section4.output_section[4].input_section[0].$name = ". = . + __UNDEFINED_STACK_SIZE;";
    
    section5.group                       = false;
    section5.type                        = "NOLOAD";
    section5.load_memory                 = "APPIMAGE";
    section5.$name                       = "Application Image ";
    section5.output_section.create(1);
    section5.output_section[0].$name     = ".bss.app";
    section5.output_section[0].alignment = 0;
    
    /**
     * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
     * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
     * re-solve from scratch.
     */
    flash1.peripheralDriver.OSPI.$suggestSolution      = "OSPI0";
    flash1.peripheralDriver.OSPI.CLK.$suggestSolution  = "OSPI0_CLK";
    flash1.peripheralDriver.OSPI.CSn0.$suggestSolution = "OSPI0_CSn0";
    flash1.peripheralDriver.OSPI.D3.$suggestSolution   = "OSPI0_D3";
    flash1.peripheralDriver.OSPI.D2.$suggestSolution   = "OSPI0_D2";
    flash1.peripheralDriver.OSPI.D1.$suggestSolution   = "OSPI0_D1";
    flash1.peripheralDriver.OSPI.D0.$suggestSolution   = "OSPI0_D0";
    debug_log.uartLog.UART.RXD.$suggestSolution        = "UART0_RXD";
    debug_log.uartLog.UART.TXD.$suggestSolution        = "UART0_TXD";
    
    

    Regards,

    Aryamaan

  • Hi Aryamaan,

    The output from sbl null is really strange, like what i said at the first time. I attach in video below

  • Hi Bayu,

    Understood. Apologies, I must have missed this screenshot from earlier:

    image.png

    Let me talk to the hardware team to see if it could a possible hardware issue.

    Regards,

    Aryamaan

  • Okay, thank you for your help. Should i attach the schematic of my custom board?

  • Yes, that would be really helpful. You can attach it over here or you can send it through the private message channel or even email it to me, since this is a public forum.

  • Hello Bayu EKO

    Please terminate the JTAG and EMU signals and Chek. Please refer pin connectivity section of the processor data sheet.

    Reference schematic

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Okay noted. i will try as your recommendation.

    Is there anything you notice from my schematic? any other recommendation or notes?

  • Hello Bayu EKO

    The EMU pullup ensure the processor operates in normal mode.

    I can continue the review after you try mounting the pulls and doing a quick check.

    Regards,

    Sreenivasa

  • Hello Bayu EKO

    I do not see any ESD protection provision near to the connector.

    Please ensure you are operating or testing the board in an ESD controlled environment.

    Regards,

    Sreenivasa