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.

[参考译文] CCS/TMS320C6678:在开发软件包时如何同时利用XDCtools和Git?

Guru**** 2611705 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/641359/ccs-tms320c6678-how-to-take-advantages-of-both-xdctools-and-git-when-developing-a-package

部件号:TMS320C6678
“线程:Processor-SDK-C667X”中讨论的其它部件

工具/软件:Code Composer Studio

包装是一件很好的事情,多亏了XDCtools将包装带到了C。但是当我学习RTSC并尝试开发新的包装时,我有些困惑。

混淆点1:

据我所知,像XDCtools这样的RTSC产品本身也是XDC视图中的存储库和软件包,因为它在其根目录中有package.xdc和软件包文件夹,同时在`packages`目录中有许多软件包。 XDCtools也是一种RTSC产品,可通过搜索添加到CCS项目中。  

对我来说,XDC的包装/防复制视图与其他编程语言(如Rust或Go)的包装视图不同。 添加产品更像是向我添加软件包,但实际上我正在添加XDC存储库。

  • 问题1: RTSC产品是否必须是XDC Repo?
  • 问题2:XDC Repo也是一个软件包是否有任何优势?

混淆点2:

Git子模块是一种将不同源导入或合并到一个具有历史记录跟踪的代码库中的好方法。 但是当我尝试创建XDC存储库时尝试使用此功能时,我看到了一些障碍。

例如,我考虑了以下设计:

  • SharedPkg0
    • 由Git管理。
    • 不同XDC Repo要导入的代码
    • XDC软件包名称:team.feat0
    • 相对路径:${pkgroot}/tea/feat0
  • Repo0
    • 吉特的纹气。
    • 将导入SharedPkg0
    • 已发送一个名为team.feat1的软件包;路径:${reporoot}/team/feat1

在上面列出的设计中,如果我想使用Git子模块将SharedPkg0直接导入到Repo0中,我将失败,因为文件夹 已经存在。 如果我创建另一个文件夹来存储子模块,那么我将打破路径和包名称必须一致的约定。

  • 问题3:是否有解决此问题的好方法? 或者我应该如何更改我的设计?

问题4:一般而言,是否有任何推荐的方法来同时利用XDCtools和Git?

问题5:RTSC文档很长时间没有更新,而且不完整。 因此,我仍然对RTSC和XDC的生命周期有些担心,并让我思考是否应该在XDC包装方面做出一些努力。 同时,我可以找到最新的CCS随Node.js可执行文件一起提供,这是否意味着TI将使用Node.js和V8引擎作为下一代XDCtools的核心? 今后,国家信息和传播战略是否将采用国家预防机制一揽子方案作为新的一揽子形式?

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

    您的主题已分配,但由于美国的假期周,可能要到下周才会收到回复。

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

    这确实是一个开放式问题,如果我知道您实际如何使用RTSC封装功能,我可以更好地回答这个问题。 您是只是打包标准C源代码,还是正在生产带有模块,配置脚本和其他RTSC功能的RTSC软件包? 如果您仅使用打包功能,您从它获得的主要好处是什么?

    Q1,Q2:RTSC产品的概念与IDE相关,我的意思是CCS。 产品有一个目录'eclipse',其中包含有关帮助文件,文档以及软件包存储库的信息,然后CCS可以显示文档,并在项目中使用产品时将您的存储库添加到软件包路径中。 可能存在没有任何软件包存储库的RTSC产品,但我不确定它有多有用。 在IDE之外,RTSC产品的概念没有任何意义。

    RTSC产品通常不是RTSC软件包。 XDCtools是一个例外,我真的不记得为什么,但是如果你看一下TI-RTOS,SYS/BIOS,SImplelink SDK,你会发现这些产品的顶级库中没有package.xdc。

    问题3,Q4:我们确实有由多个存储库提供的软件包,但我们不使用Git的子模块功能,因此我没有任何经验可以分享。 我们通常做的是在版本控制系统中保留软件包的主要位置(在SharedPkg0中的CASE team.feat0中),然后使用各种脚本或XDCtools附带的reoman工具将软件包复制到不同的存储库。 您可以在此处找到有关repooman的更多信息- rtsc.eclipse.org/.../package.htmlrtsc.eclipse.org/.../Command_-_xdc.tools.repoman
     
    问题5:您指的是哪份文档? RTSC文档的主要来源是 rtsc.eclipse.org/.../Main_Page上的RTSCPedia,我们会在需要时更新其页面。 它可能不会像应该的那样频繁,但绝对不会被放弃。

    我真的不能对XDCtools的未来发表太多评论,因为我不负责做出这样的决定。 与任何其他产品一样,我们始终对XDCtools进行更改以适应客户需求,这可能意味着需要进行一些增量更改,或者对其进行报废处理,然后从一些新产品开始。

    我不知道我真的回答了多少问题,但如果我错过了什么,或者您还有其他问题,请告诉我。

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

    非常感谢你的详细答复。 您的答案很有帮助。

    我想我要提到的是处理器-SDK-c667x附带的c667x-PDK的QMSS/SPI LLD驱动程序中的封装设计,或者类似的内容。
    c667x-PDK是一个REPO,LLD驱动程序包中只有一个模块(由Settings.XDC实现),即基本构建支持。 模块‘设置’可能是仅影响生成过程的元模块。 所有头文件都由像我这样的用户直接使用。 我可以看到多个TI官方驱动程序采用了此设计。

    我选择了上面提到的软件包设计样式,因为我可以直接创建带有直接界面名称和属性的头文件,避免与大量生成的代码和宏混淆,这些代码和宏也具有很长的名称。
    我将获得的好处是,我无法再配置编译器在我的CCS项目中包含路径和链接器搜索路径。

    但Git子模块的功能对我来说仍然是个问题。 我只需要一种在不同目录之间同步代码的自动方法。 我想我必须尝试不同的风格。