Other Parts Discussed in Thread: SYSCONFIG, TCA6424, AM623, AM625
器件型号: AM623
主题中讨论的其他部件: Sysconfig、 TCA6424、 AM625
产品/SDK:MCU+ SDK AM62x v11.01.00.16、SysConfig v1.14.0+2667
器件: AM6232(AM62x 系列)
板: 定制板 FS 器件(电子保险丝尚未编程)
工具链: TI-ARM-CLANG
引导介质: SD 卡 (MMC1)
大家好:
我们将在基于 AM62x 的定制电路板上启动 OTP Keywriter (sbl_keywriter)。 在该板上、UART0 不路由到外部连接器。 调试控制台只能通过 UART4 (MAIN_UART4) 进行访问、UART0_DATA4 连接在引脚 VOUT0_DATA4 (焊球 Y25、RXD)和 VOUT0_Data5(焊球 Y24、TXD)上。
我们的标准引导加载程序链(tiboot3.bin、tispl.bin、u-boot.bin,内核等)已 使用 UART4 作为控制台成功启动、因此硬件路径(pinmux,收发器,连接器) 确认在 115200 波特 8N1 下工作。 在修改 Keywriter 的 example.syscfg 并重新构建后、 将无错误地生成 kw-tiboot3.bin、但 从 SD 卡启动时、我们在 UART4 上根本看不到任何输出。 我们将其重命名为 SD 卡上的 tiboot3.bin。
从库存 sbl_keywriter/am62x-sk/r5fss0-0_nortos/example.syscfg 开始、
我们进行了以下修改:
已将调试控制台从 USART0 重定向到 USART4:
// Was: debug_log.uartLog.UART.$assign = "USART0"; debug_log.uartLog.UART.RXD.$suggestSolution = "ball.D14"; debug_log.uartLog.UART.TXD.$suggestSolution = "ball.E14";
// Changed to: debug_log.uartLog.UART.$assign = "USART4"; debug_log.uartLog.UART.RXD.$suggestSolution = "ball.Y25"; debug_log.uartLog.UART.TXD.$suggestSolution = "ball.Y24";
2.移除了 I2C 模块(我们的电路板没有 TCA6424 IO 扩展器;VPP 为
GPIO 控制):
// Removed: const i2c = scripting.addModule("/drivers/i2c/i2c", {}, false); const i2c1 = i2c.addInstance(); // ... and all i2c1.* configuration lines
删除了第二个 UART 实例(不需要 CONFIG_UART1/USART1):
// Removed: const uart = scripting.addModule("/drivers/uart/uart", {}, false); const uart1 = uart.addInstance(); // ... and all uart1.* configuration lines
4.已禁用 board.c 中的 VPP(将 TCA6424 代码替换为日志消息):
void keywriter_setVpp() { DebugP_log("VPP: skipped (not yet implemented)\r\n"); }
未修改任何其他源文件。 此构建干净整洁
“创建 Keywriter“。
我们确认 SysConfig 生成的文件包含预期值:
TI_pinmux_config.c:
PIN_VOUT0_DATA4 模式 4 (RXD)、
PIN_VOUT0_Data5 模式 4 (TXD) ->好的
TI_drivers_config.c:
CSL_UART4_BASE (0x02840000)、
UART 实例 ->好的
TI_POWER_CLOCK_CONFIG.c:
TISCI_DEV_UART4、
48MHz -> OK 时的 TISCI_DEV_UART4_FCLK_CLK
TI_drivers_config.h:
CONFIG_UART0 (0U)、
CONFIG_UART_NUM_Instances (1U)、无 I2C -> OK
TI_DPL_CONFIG.c:
DebugP_uartSetDrvIndex (CONFIG_UART0)
->索引 0 -> UART4 ->好的
我们部门的一个不同团队将同一个 CPU 与另一款像我们这样使用 UART5 而不是 UART4 的产品一起使用。 对于他们、更改 example.syscfg 没有问题。
你知道我在做什么错吗?
Enrico

