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.

[参考译文] PROCESSOR-SDK-AM335X:如何禁用 App.Cfg 和所有自动代码生成?

Guru**** 2555630 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/624420/processor-sdk-am335x-how-to-disable-app-cfg-and-all-the-automated-code-generation

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Code Composer Studio

为什么?  因为它在干扰构建项目的能力时是无用的。 它管理覆盖范围内的内容、不够智能或不够灵活、无法让您控制自己的项目。

我尝试添加一个小型库、我花了几天时间尝试了解如何链接它。

除了皇帝的新衣。

搜索路径中有3、4、5个或更多变量。  在环境中的任何位置都未定义任何内容。  但不知怎么说、生态系统设法使用它们来寻找东西。

我尝试使用 GUI、我有两个项目、就我所能知是相同的。  但一个可以工作、另一个不能工作。  除非我切口、否则打开 app.cfg 的文本文件。  那么它们是不同的。 非常不同。  与众不同 但没有记录任何内容。  我无法知道它在做什么、以便控制它做我需要的事情、而不是有人认为它应该为我做什么。

我需要的示例代码不在此处。  有点旧了... 更旧的封装。  无法将这些库链接到这个新的生态系统。  应用配置对此一无所知。 您不能在不损坏 GUI App.Cfg 在背面尝试执行的操作的情况下修改搜索路径。

我需要一个环境、让我告诉它我想要构建什么。  相反、这让我跳过圈、试图弄清楚它在做什么。  最后、它的结尾是"抱歉、除非您通过某种方法来解决它、否则不支持它。  在没有任何文档、支持或培训信息的情况下找到方法" 这种方法、所有漏洞和问题都不是这样。

当我刚删除 App.Cfg 时、CCS 拒绝编译。  

我只需要一个能够编译我告诉它的内容的环境。  和文档、这些文档实际上告诉用户在何处构建工程头文件和库。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已通知 RTOS 团队。 他们的反馈将在此处发布。

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

    谢谢、但:

    1.他们通常不会这样做。

    2.我对反对这一"宠物项目"的蚂蚁有何反应?  很可能没有。

    这已经导致建议一个新项目与另一个供应商一起进行。  处理这一问题的九个月时间(在这九个月中、由于新的封装数量不足、现有封装的支持中断了多少次?) 浪费了大量资源。

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

    很抱歉、您的用户体验不佳、并遇到这些问题来尝试和设置您的项目。 我将尝试解释为什么将 cfg 文件添加到项目中、并为您提供编写裸机代码与 TI RTOS 代码的交互指南。

    cfg 文件基本上是 BIOS 配置文件、其目的是允许用户包含不同的 BIOS 模块和驱动程序、并自动链接到 TI RTOS 应用程序所需的正确 BIOS 库中。 BIOS 配置文件由称为 XDC 工具的 RTSC 工具编译、此工具将.cfg 文件和 BIOS 平台规范转换为可由编译器和链接器解释的文件。 所有已定义为 TI RTOS/BIOS 工程的 CCS 工程都需要.cfg 到编译器和 XDCtools 配置中来选择特定于平台的库和特定于 BIOS 的库。

    为了不使用.cfg、需要将工程设置为只使用内存配置文件(.lds/.cmd)和编译器/链接器来编译工程的裸机工程。 在这种情况下、用户负责内核的缓存/MMU 和矢量表配置。

    从n`t 说明中可以看出、您想设置裸机工程并且不想使用 TI RTOS、这是正确的吗? n`t 没有任何裸机 CCS 工程、因为 PDK 中的裸机代码是使用 makefile 编译的。 但是、可以通过查看 makefile 中的编译器设置或通过查看 makefile 中的编译日志将其转换为 CCS 工程。

    AM335x 的裸机示例位于:
    pdk_am335x_1_0_7\packages/ti\starterware\examples
    pdk_am335x_1_0_7\packages/ti\board\diag

    如果您指出您正在构建的项目类型、我们可以提供进一步的指导。 我们为设置裸机项目提供了一个起点:
    processors.wiki.ti.com/.../Processor_SDK_RTOS_Examples_and_Demonstrations (无操作系统裸机)、还指示如何为驱动程序引入标头和包括:

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

    Rahul、

    我只花了一个小时来写一条回复。  TI 方面输了。  

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

    Rahul、

    否 我确实希望使用 RTOS、 SYS/BIOS、无论它是什么日子。 但是、当我做一些超越基本示例的事情时、它在每个方面都失败了。 我的故障率约为95%。

    我在这种新的环境中工作了十个月。

    我知道 XDC 应该做什么。  我知道它会将 CFG 文件进行摘要、然后发出一组代码。  但它也隐藏了开发人员的所有内容、因为 TI 不会遵循行业最佳实践。  我希望包含源文件或链接到库、因为我正在尝试解决一组应该正常工作但不能正常工作的问题。 我不想调试 TI 演示代码、以了解如何将其与其他 PDK 组件集成、但这就是它的作用。 告诉我要包含哪些内容或链接到哪些内容。  不是… 做不到。  但作为 XDC 的囚犯和工具只会带来痛苦和失败。

    我需要一个用于 Sitara 器件的 TCP/IP 以太网。  我从 BBB 开始、并使用了演示"闪烁"项目。  然后、我使用 XGCONF 工具尝试添加 NDK 支持。  什么都不起作用、所有东西都因编译器而损坏、然后是链接器错误。  几百个。  我无法从任何位置找到任何文档或支持。

    PDK 1.0.7突然附带 NDK 示例、仅适用于 CCS 7.2。 谢谢、但几个月前、情况如何? 这是我开始这项努力的四个月。 这看起来好像在发布时还没有准备好。 无论如何、我引入它、修复头文件中的直接语法错误、这些头文件甚至不会在 C++中编译、并且得到了我想要的结果。  这是第一部分。

    接下来、我需要一个 USB CDC 器件。 PDK 没有。 它有一个 MSC,这是如此与众不同,因此不希望将其适应任何其他设备类别。  我在论坛上提问... 回复?  我们还没有制作一个,也许稍后会制作一个。

    但旧版 StarterWare 中有一个。  所以我抓取它。  但我无法将其集成到新的 CCS 中。  我反转 make 文件,手动创建库项目,但它无法正常工作。  我深入研究调试(再次说明、调试 TI 示例代码)。  计时器中断未触发。  我只生成一个5行样本...  仍然不起作用。  好的... 不起作用的更多 TI 演示代码。

     接下来,我将在设备上浏览10000页的文档,在几个地方,信息似乎自相矛盾。

     …μ A 我无法将旧的 StarterWare 整合到新的 CCS 中,我不知道为什么。  新 PDK 不支持我需要的功能,因为 TI 刚刚“解决了”。

    同时,我正在调试 TI 演示代码,不知道代码是否正确。  由于如此多的接头被损坏,我不得不假设这可能是它无法正常工作的原因。 加密链接器脚本可能不正确。  但我必须相信这些 StarterWare 软件包在所有这些新产品发布前的几天就能正常工作。  这是新的 PDK、SYSTBIOS、标头、连接器、新封装中损坏的东西。  毕竟、我已经在其中发现了一些坏的东西。

    我已经聘请了 Eric Wilbur 和公司,但他不是 Sitara 的人,也不是 NDK 的人。  他非常擅长解释 RTOS 的工作原理和使用方法。  我看不到再次向他付款来帮助我排除 TI 演示代码故障。 或者帮助我弄清 TI 头文件或链接器脚本有什么问题。 或如何绕过 XDC。

    在每次转弯时、XDC 和 CFG 文件都会干扰我要执行的操作。 我不能修改 make 文件,因为它是写它的。  我不知道如何控制它的拉入设置。 显然有一些头文件和库正在进入该项目、我不知道如何操作。  因为 TI 不希望在创建环境时遵循行业最佳实践。  如果其中一些脚本是 StarterWare 演示无法正常工作的原因、我甚至无法修复它们。  它们由 XDC 自动生成。

    另一方面,从 Valvano 的书籍和他的例子中,我可以全天进行“裸机”编码。  这不是我需要的。  TI 应具有可正常工作的 RTOS、NDK 和 PDK 以及 USB。  一起来。  但是(就我所能说的那样)不可能从裸机工程开始并向其中添加 RTOS、NDK 和 PDK 组件。  我甚至发布了一个问题"如何添加 NDK 库"。  答案是什么?  使用 XGCONF...

    如果我可以添加 RTOS 代码文件、或者在不使用 XDC 和 CFG 文件的情况下链接到库。 这可能会帮助我找出问题所在。  但我不知道如何做到这一点。  这种环境中有很多漏洞,不能满足我的需要,但没有任何关于如何解决的文件。  只需为我提供有关函数的文档(任务、信标、StartBios…) 这实际上会告诉您获取报头的内容和位置、以及查找要链接的库的内容和位置。  是否看过 MSDN?  甚至是手册页??

    为什么我在这里?  因为我们公司收购了一个部门、该部门生产了一种使用 Sitara 器件的设备。  该项目的许多技能集已经离开。  我决定继续进步、因为我在 Windows、Linux 和一些嵌入式项目(以及 Altera 器件、CPLD 器件等)的 C 语言领域拥有25年以上的时间。… 现有工程使用了旧的 SDK 和 PDK…  但新的环境显然不允许您使用或破坏这些环境。 缺少我对较新 PDK 的需求。

    在任何其他环境中,这一挑战将在一周左右的时间内得到克服。

     -CSW