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.

AM625-Q1: OTP keywriter shows no output when loaded over serial

Part Number: AM625-Q1

Tool/software:

Hello,

We are trying to use the OTP keywriter application for a custom board, for this we have tried to modify the syscfg to use our pin settings for our UARTs, but when we rebuild the application and upload the tiboot3.bin, nothing is seen on the serial port, is there any special steps to take when modifying the syscfg for a custom board?

I've attached our syscfg as a txt because I can't upload a .syscfg file

/**
 * 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 "AM62x" --part "Default" --package "AMC" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM62x@11.00.00"
 * @v2CliArgs --device "AM625-Q1" --package "FCBGA (AMC)" --variant "AM6254-G" --context "r5fss0-0" --product "MCU_PLUS_SDK_AM62x@11.00.00"
 * @versions {"tool":"1.23.2+4156"}
 */

/**
 * Import the modules used in this configuration.
 */
const bootloader  = scripting.addModule("/drivers/bootloader/bootloader", {}, false);
const bootloader1 = bootloader.addInstance();
const i2c         = scripting.addModule("/drivers/i2c/i2c", {}, false);
const i2c1        = i2c.addInstance();
const uart        = scripting.addModule("/drivers/uart/uart", {}, false);
const uart1       = uart.addInstance();
const clock       = scripting.addModule("/kernel/dpl/clock");
const debug_log   = scripting.addModule("/kernel/dpl/debug_log");

/**
 * Write custom configuration values to the imported modules.
 */
bootloader1.$name     = "CONFIG_BOOTLOADER0";
bootloader1.bootMedia = "MEM";

i2c1.$name                      = "CONFIG_I2C0";
i2c1.useWakeupDomainPeripherals = false;
i2c1.I2C_child.$name            = "drivers_i2c_v0_i2c_v0_template0";
i2c1.I2C.$assign                = "I2C0";

uart1.$name                      = "CONFIG_UART1";
uart1.useWakeupDomainPeripherals = false;
uart1.UART.$assign               = "USART1";
uart1.UART.RXD.$assign           = "I2C1_SCL";
uart1.UART.TXD.$assign           = "I2C1_SDA";

const udma             = scripting.addModule("/drivers/udma/udma", {}, false);
const udma1            = udma.addInstance({}, false);
udma1.$name            = "CONFIG_UDMA0";
bootloader1.udmaDriver = udma1;

const udma_blkcopy_channel     = scripting.addModule("/drivers/udma/udma_blkcopy_channel", {}, false);
const udma_blkcopy_channel1    = udma_blkcopy_channel.addInstance({}, false);
udma_blkcopy_channel1.$name    = "CONFIG_UDMA_BLKCOPY_CH0";
bootloader1.udmaBlkCopyChannel = udma_blkcopy_channel1;

clock.instance = "TIMER1";

debug_log.enableUartLog                      = true;
debug_log.enableLogZoneInfo                  = true;
debug_log.sysfwUartTrace                     = true;
debug_log.enableMemLog                       = true;
debug_log.uartTrace                          = true;
debug_log.uartLog.$name                      = "CONFIG_UART0";
debug_log.uartLog.intrEnable                 = "DISABLE";
debug_log.uartLog.useWakeupDomainPeripherals = false;
debug_log.uartLog.UART.$assign               = "USART0";
debug_log.uartLog.UART.RXD.$assign           = "UART0_RXD";
debug_log.uartLog.UART.TXD.$assign           = "UART0_TXD";
debug_log.sysfwUartLog.$name                 = "CONFIG_UART_TRACE0";

/**
 * 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.
 */
i2c1.I2C.SCL.$suggestSolution                          = "I2C0_SCL";
i2c1.I2C.SDA.$suggestSolution                          = "I2C0_SDA";
debug_log.sysfwUartLog.WKUP_UART.$suggestSolution      = "WKUP_USART0";
debug_log.sysfwUartLog.WKUP_UART.RXD.$suggestSolution  = "WKUP_UART0_RXD";
debug_log.sysfwUartLog.WKUP_UART.TXD.$suggestSolution  = "WKUP_UART0_TXD";
debug_log.sysfwUartLog.WKUP_UART.RTSn.$suggestSolution = "WKUP_UART0_RTSn";
debug_log.sysfwUartLog.WKUP_UART.CTSn.$suggestSolution = "WKUP_UART0_CTSn";