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.

[参考译文] AM263P4:系统项目

Guru**** 2684585 points

Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1586192/am263p4-system-project

器件型号: AM263P4
Thread 中讨论的其他器件: UNIFLASH

您好专家、

IAM 使用 CCS 版本 12.8.1.00005、并具有一些有关系统项目的要求。

我有两个软件 SW1 和 SW2、希望它们在内核 0 和内核 2 上刷写(因此两者都可以在锁步模式下运行)。
为了简化调试和更好的概述,我在这 2 个项目中创建了一个系统项目。

首先、当我在 SW1 中点击 Build 时、系统工程也会构建。 我不想这样。 我只希望在系统工程中点击“Build"按钮“按钮时构建系统工程。 如何更改此设置、以便仅构建 SW1?

现在、我的客户有以下注入。 如果 SW1 中存在错误、他只希望在系统工程中更新 SW1。 因为目前、如果我构建系统工程、两个软件都会重建。 这意味着他被用于测试 SW2 也是因为它再次符合要求、即使 SW2 的代码没有更改、编译器也可能出错。  
我可以通过更改 makefile_ccs_bootimage_gen 来控制这一点吗?

此致、

Marcel  

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

    您好:Marcel、

    您是否介意以 zip 格式在此处共享 CCS 系统工程?

    我尝试通过在 CCS 中导入系统工程来重现相同内容。 当我右键点击并构建任何单个核心工程时、我可以专门构建该工程。 我需要您的帮助才能重现此问题

    此致、
    Shaunak

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为了更轻松地进行调试和更好地了解情况、我在这两个项目中创建了一个系统项目。

    您是否还能告诉我、您在将独立项目转换为系统项目时遵循了哪些具体步骤?

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

    嗨、Shaunak、
    我不想共享我的项目、但也可以在示例项目中看到: empty_am263px-lp_system_nortos  

    当我现在选择 empty_am263px-lp_r5fss0-0_nortos_ti-arm-clang 时、更改类似注释输出“DebugP_log(“All tests have passed!!\r\n“);“的内容、然后点击运行 buttom。 我的控制台首先会在很短的时间内显示 CDT 构建控制台[empty-am263px_LP_SYSTEM_nortos]、便会显示以下内容:

    之后:

    我在这两个调试文件夹中都看到新创建的文件。 因此正常工程和系统工程都将生成。 但我只想编译普通工程。 在系统工程中点击“Build"按钮“按钮时、系统工程应该只会得到“Build"按钮“按钮。

    此致、
    Marcel

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

    我想我使用了本指南: software-dl.ti.com/.../appnote-system_project_debug_launch.html

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

    您好:Marcel、

    我相信这里.mcelf 和.out 之间有一个混淆。

    使用多核应用程序(系统工程)时、build-infraf 将创建一个通用的.mcelf 文件、该文件可以刷写到器件中(使用 UniFlash 或 python 脚本)。  

    当您只选择 R5FSS0_0 工程并编译时、它会重新编译工程、然后由于其中一个内核中存在更改、因此需要重新生成整个 mcelf 映像。

    此处的 C0 是 CORE-0(或 r5fss0-0)。 因此在 4 个内核中、即使您有选择地构建单个工程、也仍需要重新生成.mcelf、因为它包含来自所有内核的信息。 它并不是针对所有其他内核确切地编译和构建代码、而是仅针对您选择的内核、然后它会为所有内核组合.out 二进制文件来生成.mcelf 映像。

    在此处阅读有关.mcelf 的更多信息: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/MCELF_LANDING.html

    我希望这可以消除混淆。

    此致、
    Shaunak

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

    嗨、Shaunak、

    因此、在我构建  R5FSS0_0 工程后、 会调用系统工程的 makefile_system_ccs_bootimage_gen 以生成新的 mcelf?
    我可以在我的工程选项/设置中看到 makefile_system_ccs_bootimage_gen 链接到了我的构建过程吗?

    此致、

    Marcel

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

    您好:Marcel、

    您可以在用于编译工程的 makefile 中的编译后步骤中找到调用:

    此致、
    Shaunak

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

    我也这么认为,但这只是自己的 mcelf makefile。 系统的 mcelf 文件名为 makefile_system_ccs_bootimage_gen 、我无论如何都找不到它。

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

    系统项目看起来有一些相互关联的依赖项、

    我无法直接找到它、我必须与在此基础上工作过的 SDK 团队进行讨论。 但从逻辑上讲、任何核心项目的变化都将导致合并的 mcelf 图像重新生成。 可能从父目录执行的一些 gmake 命令也会调用 makefile_system_bootimage_gen 调用。 我需要一些时间来讨论和回来。

    此致。
    Shaunak