通过添加一个工程(引导加载程序)作为依赖项并将其作为编译后处理步骤添加到 另 一个工程(应用程序)、我能够将引导加载程序和应用程序固件组合到单个映像中:
"${CG_TOOL_ROOT}/bin/armhex.exe" "${PROJECT_ROOT}/app-boot-combo.cmd" "${build_var:/${REF_PROJECT_2_NAME}/BuildArtifactFilePath}" "${BuildArtifactFileName}" --outfile="${BuildArtifactFileBaseName}.combo.out"
命令文件为:
--load_image
--load_image:combine_sections=false
--image
ROMS {
Bootloader : origin = 0x00000000, length = 0x00008000
Application : origin = 0x00008000, length = 0x00038000
}
现在、我希望 CCS 在调试应用时使用该组合的"加载映像"。 我发现、如果 我不合并到`-outfile="${BuildArtiftFileBaseName}.combo.out"`、而只需使用`--outfile="${BuildArtiftFileName}"`、它会使用 组合文件覆盖原始的仅应用程序输出文件、并且 CCS 将自动刷写组合文件、这是一个很好的开始。
但是、当我这么做时 、我从调试器中得到错误:
CORTEX_M4_0: AutoRun: Target not run as the symbol "main" is not defined CORTEX_M4_0: AutoRun: Target not run as the symbol "main" is not defined
我注意 到、在《ARM 汇编语言工具用户指南》(spnu118y)第12.6.2节"加载映像特性"中、文件未标记为可执行文件、并且不包含入口点"。
如何将"main"符号重新添加回、以便 CCS 调试器不会被升级?