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.

[参考译文] Compiler/AM6548:返回 BIOS_start

Guru**** 2535150 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/932378/compiler-am6548-bios_start-returns

器件型号:AM6548

工具/软件:TI C/C++编译器

尊敬的 TI:

我们希望将项目中的 PDK 版本从 pdk_am6548xx_1_0_7升级到 pdk_jacinto_07_00_00。 在设置必要的编译环境变量后、我们能够编译我们的项目、而不会出现错误和警告。 运行应用程序 BIOS_start()将返回,并且似乎内核未启动。  我们正在使用 RTSC、环境设置为:

设置(TI_PDK_PATH $ENV{PDK_INSTALL_PATH})
设置(TI_toolchain_path "$ENV{SDK_INSTALL_PATH}/ti-CGT-ARM_20.2.0.LTS)
设置(TI_BIOS_path "$ENV{SDK_INSTALL_PATH}/BIOS_6_82_01_19")
设置(TI_XDCTOOLS_PATH "$ENV{SDK_INSTALL_PATH}/xdctools_3_61_00_16_core")

当我们切换回以前的 PDK 版本(pdk_am65xx_1_0_7)时,我们没有问题,BIOS_start()永远不会返回,并且内核正在运行。
我们使用 CCS 进行调试、并使用相应 PDK 版本的 lauch.js 脚本。

提前感谢您的帮助、

Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Benjamin、

    在 CCS 下、如果您在项目浏览器中展开"Includes"文件夹、您能否确认所有内容都按预期引用了正确的 PDK 版本? 而由 launch.js 加载的系统固件来自 SDK7.0?

    此致、

    Dave

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dave、

    我们没有 CCS-Project! 我们仅使用 CCS 进行闪存和调试。 我们的构建基于 cmake 和 RTSC 工具、它源自 IPC 示例"ex01_BIOS_2core_echo_test"。 我们使用的链接器文件与示例中的文件相同。 我们可以在 pdk_am65xx_1_0_7下编译和运行源代码
    ,一切都很好。 当我们切换到 pdk_jacinto_07_00_00时、我们可以编译、但 BIOS_start()返回、并且系统会在无限循环中引导。

    我已经检查 了 launch.js 脚本 -系统固件来自 SDK7.0。

    记录仪、

      Benjamin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Benjamin、

    >>运行应用程序 BIOS_start()将返回,并且似乎内核未启动

    你是说在 main()函数中创建的任务没有启动,而 main()函数执行 BIOS_start(),然后运行到 BIOS_start()旁边的代码中吗?

    您是否在两个版本之间比较了应用程序的.cfg 文件?

    此致、
    Garrett

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hallo Garret、

    感谢您的建议、我们发现了错误。 它与新的 SDK 版本无关。 它是由我们自己的源中缺少 nullptr 检查导致的...

    此致、

    Benjamin