Other Parts Discussed in Thread: SYSCONFIG
Split off from e2e.ti.com/.../am6442-remoteproc-linux-debugging-questions
Hey Nick,
Thanks for all the links, I have everything working now.
I have a couple more slightly unrelated questions.
To provide some background, I am working on creating a super minimal SBL for the am263px. The goal of the SBL is to initialize FSI, stream the mcelf image over FSI, and then boot the r5 cores. We are using the UART boot mode and streaming the SBL over UART from a connected am64. This approach was necessitated by the fact that UART is too slow to stream the mcelf image. I am currently trying to reduce the size of the SBL as much as possible in order to reduce UART streaming time. I saw your post on reducing UART boot streaming time, which was helpful, but I have some question regarding SBL size optimization.
- This post says that "If the device is HS-FS device, the loading of HSMRt Firmware (TIFS-MCU Firmware) is optional". However, I cannot completely remove the HSMCLIENT dependency in sysconfig without getting linking errors (see below). The bootloader_soc.c code is complaining as it is missing references; however, I think that I could get rid of all the complaining code because we are skipping verification of the bootloader. Am I right in thinking this code can be removed, and if so, is there any way that I can alter sysconfig to accomplish this?
symbol in file --------- ---------------- HsmClient_procAuthBootFinish /home/jweyer/aec-toolchain/sysroots/x86_64-aecsdk-linux/usr/share/ti/mcu_plus_sdk_am263px_11.00.00.19/source/drivers/lib/drivers.am263px.r5f.ti-arm-clang.nortos.debug.lib<bootloader_soc.obj> HsmClient_procAuthBootStart /home/jweyer/aec-toolchain/sysroots/x86_64-aecsdk-linux/usr/share/ti/mcu_plus_sdk_am263px_11.00.00.19/source/drivers/lib/drivers.am263px.r5f.ti-arm-clang.nortos.debug.lib<bootloader_soc.obj> HsmClient_procAuthBootUpdate /home/jweyer/aec-toolchain/sysroots/x86_64-aecsdk-linux/usr/share/ti/mcu_plus_sdk_am263px_11.00.00.19/source/drivers/lib/drivers.am263px.r5f.ti-arm-clang.nortos.debug.lib<bootloader_soc.obj> gHSMClient /home/jweyer/aec-toolchain/sysroots/x86_64-aecsdk-linux/usr/share/ti/mcu_plus_sdk_am263px_11.00.00.19/source/drivers/lib/drivers.am263px.r5f.ti-arm-clang.nortos.debug.lib<bootloader_soc.obj> error: unresolved symbols remain error: errors encountered during linking; "/home/jweyer/source/repos/ApcGen5/src/dsp/boot/sbl_uart_mcelf.out" not built
- Is there any way to completely remove all debugging logic? In sysconfig->Debug Log I can uncheck all debugging options, this certainly reduces the SBL size; however, I can't seem to completely remove it because sysconfig->bootloader and sysconfig->int xbar have dependencies on it. Is there a way to completely remove all debugging logic?
- We are using custom makefiles to build images (not using CCS) and I've seen that the sysconfig CLI offers the `--dependentScript` option. I am hoping to use this option, or some other technique, to include other sysconfig scripts. For example, I would like to have a base sysconfig script "foo.syscfg" and the optionally add debugging logic with another debugging sysconfig script "debug.syscfg". Is something like this possible? My best guess on how to accomplish this is below (see cmd_syscfg):
quiet_cmd_syscfg = SYSCFG $< cmd_syscfg = $(SYSCFG_NODE) $(SYSCFG_CLI_PATH)/dist/cli.js $(SYSCFG_V) --script $< --dependentScript $(*** DEBUG SCRIPT HERE? ***) --product $(SYSCFG_SDKPRODUCT) --context $(R5_CORE_CONTEXT_$(R5_CORE_ID)) --device AM263Px --part AM263P4 --package ZCZ_S --output $(obj)/generated/ $(QUIET_REDIRECT_INFO_AND_WARNING) define do_syscfg @echo " $(quiet_cmd_syscfg)" $(Q)$(cmd_syscfg) endef - Do you have any other suggestions on how to reduce the size of the SBL or speed up SBL streaming over UART?
Thanks for all your help,
- Jared