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.

[参考译文] RTOS/TMS320C6678:如何通过 CCS 为使用来自 SYSBIOS 的接口和其他软件包的代码构建静态库?

Guru**** 2618835 points

Other Parts Discussed in Thread: SYSBIOS, TMS320C6678

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/574991/rtos-tms320c6678-how-to-build-a-static-library-for-codes-that-uses-the-interfaces-from-sysbios-and-other-packages-via-ccs

器件型号:TMS320C6678
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

情况:

  1. 我有一些称为软件包提供的接口的代码、例如 SYSBIOS、XDCtools、PDK、NDK 等。 所有这些都来自处理器 SDK。 我想将这些代码构建为静态库、以便在多个程序之间共享。
  2. 我知道 PDK 等软件包完全在命令行界面中构建、而 XDC 程序用于构建。 但我不熟悉 xdctools 的命令行界面。 (是否有用于构建的程序被命名

因此、我想知道是否有更简单的方法来构建静态库。

问题:

  1. 如何在 CCS GUI 中为使用 SYSBIOS、XDCtools 等接口的代码构建静态库?
  2. 如果问题1不可能、那么如何从命令行构建库? 是否有任何参考文档? 我应该从哪里开始?

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

    Candideriskii、

    如果我理解正确、您需要一个 CCS 工程来编译 SYS/BIOS 内核以及配置脚本(*。cfg)中定义的所有其他软件包。 然后、在构建可执行文件  的其他 CCS 工程中、您希望链接到一个内核工程。 我是否正确?

    我假设您当前拥有的每个 CCS 项目都包含一个配置脚本。 您希望将此配置脚本考虑在内核项目中。 对吧?

    首先创建一个新的 CCS 项目。 请务必指定器件。 在高级设置中、将输出类型更改为静态库。 在项目模板中、选择空 RTSC-Configuration Project。

    Project > New CCS Project
    目标:TMS320C6678
    项目名称:my_kernel
    高级设置>输出类型>静态库
    项目模板和示例>空 RTSC-Configuration 项目
    下一步

    选择您的 XDCtools 版本。 取消选择所有商品、然后仅选择您想要的商品。 键入目标名称(从现有工程中获取)。 选择您的平台项目(加载该菜单需要一段时间)。 您可能需要键入平台实例名称。 单击 Finish (完成)。

    现在、您可以将配置脚本从其他项目拖放到新的内核项目中。 此时、它应该会生成。 我会检查编译输出、并确保它与现有工程的编译输出相匹配。 您可能需要定义一些编译器符号。

    在可执行工程中、将工程依赖项添加到内核工程中。

    Project > Properties
    项目参考
    my_kernel >选择

    内核配置未涵盖的可执行文件所需的任何库都必须添加到链接命令中。

    如果可执行工程具有配置脚本、则需要删除此脚本。

    这是您想要的吗?

    ~Ramsey

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、这就是 I/m 所期望的。 非常感谢。

    我错过了`Advanced settings`、因为默认情况下会显示`Project templates and examples`、这就是我创建的工程始终是可执行工程的原因。

    `下一个版本的 CCS 可以在`New CCS Project`中调整这部分 UI、因为诸如`Advanced settings `&` Project templates and examples 之类的扩展点很小、不是很出色。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚才提出了另一个问题:

    如果我想将我的代码分组为包含软件包和模块的 RTSC 存储库、应该从哪里开始?
    链接的内容[http://rtsc.eclipse.org/docs-tip/Main_Page]看起来有点旧,过时了。

    如果我希望能够从 CCS GUI 中添加 RTSC REPO、就像添加 SYSBIOS、xdctools 等的方式一样、我还需要什么?
    我发现所有 TI 官方存储库都有一个名为`eclipse`的文件夹、我认为这是这个问题的关键、但我不知道从哪里开始。 我是否需要有关制作 Eclipse 插件的知识?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Candideriskii、

    RTSC-Pedia 网站是一个很好的资源。 它保持并包含当前信息。

    我不清楚是要"使用"RTSC 封装、还是要"生产"封装。  如果要在配置脚本中包含软件包并构建可执行文件、则需要使用该软件包。 但是、如果您要开发代码并构建软件包、则需要生成代码。

    要使用软件包,只需将模块添加到配置脚本(xdc.useModule )),然后将系统信息库添加到软件包路径中:

    Project > Properties
    CCS General > RTSC (选项卡)
    添加...
    从文件系统中选择存储库>选择
    浏览...

    请记住、系统信息库是包含顶级 RTSC 软件包文件夹的文件夹。 例如:

    软件包名称:my.toolbox
    物理位置:C:/user/repo/my/toolbox
    存储库:C:/user/repo

    如果您要生成软件包并希望使用 CCS 编译它们、则可以创建 makefile 工程来执行此操作。 项目目录将成为存储库。 按如下方式创建项目:

    文件>新建>项目...
    C/C++> C++项目
    下一步

    项目名称:RTSC
    用户默认位置>选择
    Project type > Makefile project > Empty Project
    toolchains >--其它工具链--
    完成

    现在您有一个将使用 Makefile 进行构建的空项目。 进行以下更改以支持 RTSC 构建流程。 这将使用 CCS 工具链来构建您的软件包。

    Project > Properties
    C/C++ Build >  Builder Settings (选项卡)
    使用默认构建命令>取消选择
    构建命令:${XDCROOT}/gmake

    Project > Properties
    C/C++ Build >  Environment

    添加以下变量:

    XDC_INSTALL ${XDCROOT}
    目标   ti.targets.elf.c66=${ccs_install_root}/tools/compiler/ti-cgt-c6000_8.1.3

    现在、将以下文件添加到您的项目中。

    e2e.ti.com/.../1715.Makefile
    e2e.ti.com/.../0702.config.bld

    在项目中创建包文件夹。

    文件>新建>文件夹
    RTSC >选择(作为父文件夹)
    文件夹名称:my/toolbox
    完成

    最后、将以下文件添加到新的软件包文件夹中。

    e2e.ti.com/.../3173.Util.c
    e2e.ti.com/.../5430.Util.h
    e2e.ti.com/.../2425.package.bld
    e2e.ti.com/.../3782.package.xdc
    e2e.ti.com/.../5148.package.xs

    现在您已准备好构建您的软件包了。 只需单击 CCS 工具栏中的构建图标即可。

    ~Ramsey

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