工具/软件:
您好:
我 在 AM243X-LP 上将 AM243x MCU+ SDK 11.01.00 与 SYSCFG 1.22 一起使用。 我的应用的调试构建已达到“临界质量“、几乎无法容纳可用的 RAM 存储器。 我注意到我的引导加载程序(主要基于 examples\drivers\boot\sbl_ospi_multi_partition\am243x-lp)开始失败、因此 Bootloader_verifyMulticoreImage() 我正在调试问题、并注意到在 SDK 中 (source\drivers\bootloader\bootloader.c 行 595)、由于启用了暂存存储器、整个映像被复制到 RAM 中以进行映像验证、这对我来说是个问题。
首先、我是否错过了 SYSCFG 中用于禁用引导加载程序暂存存储器的设置?
我继续 BOOTLOADER_SCRATCH_MEM_ENABLE在 SDK 中设置为 0 source\drivers\bootloader.h、重新编译 SDK、没有发生任何变化。 因此、我做了更多挖掘工作、在我的引导加载程序源文件 (ti-arm-clang\generated\ti_drivers_config.c) 中、 gBootloaderConfig数组中填充了 Bootloader_Config用于 BOOTLOADER_SCRATCH_MEM_ENABLE enableScratchMem成员的初始化。 因此、中 SDK 中的以下代码 bootloader.c 595:
// config->enableScratchMem is set to BOOTLOADER_SCRATCH_MEM_ENABLE by SysCfg
if(config->enableScratchMem == BOOTLOADER_SCRATCH_MEM_ENABLE){有一些 0U == 0U 或 1U == 1U 正在进行,我发现有趣的是,当我发现了
这对我来说似乎是一个错误,除非我错过了一些东西。 我有一些变通办法、例如使用不同的
BOOTLOADER_SCRATCH_MEM_ENABLE 值编译 SDK 和引导加载程序、或者更好地将上面的 if 语句更改为 config->enableScratchMem == 1U。 这一切都 是假设禁用暂存存储器是可能的吗? 谢谢、
Vaclav