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/AM5728:在 CCS 中构建 IPU 和 DSP 应用

Guru**** 2601915 points
Other Parts Discussed in Thread: AM5728, SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/646129/rtos-am5728-building-ipu-and-dsp-applications-in-ccs

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

工具/软件:TI-RTOS

您好!

在运行 Linux 的 AM5728上、我有运行 SYSBIOS 的 IPU 和 DSP。

我在 Linux 机器上编译了所有代码、而不使用 CCS。 该设置使用 SYSBIOS、IPC、cmem、Linux 与 DSP 和 IPU 之间的通信现在按预期工作。

对于 config.Bld 和 IPC.cfg.xs、我使用一些 IPC 示例中的文件进行了查找。

在 CCS (v6)上,我在 M4和 DSP 上运行了代码,这些代码利用了 PDK,特别是 ti.drv*驱动程序(i2c、vpdma)。 我使用 GEL 文件初始化电路板、加载代码、并可以使用 CCS/XDS560v2进行调试。 (v7存在一些问题、但这是另一个 e2e 线程)

现在、我想:

-在 Linux 上使用 Makefiles 构建 DSP 和 IPU 的代码,包括 PDK ti.drv.*库(我已将其链接并加载,但它崩溃)

-在 CCS 中加载符号(v6/v7),连接到正在运行的目标并调试我的代码。

我需要一些有关 XDC/xs 和模块(CSL、osal ...)的帮助和信息:

如何设置这样的环境?

config.bld/ipc.cfg.xs 应该是什么样的? 这将如何集成到 CCS 中? (只需加载符号/源路径?)

是否有完整的 xs 手册? 如何跳过重建 xs 生成的部件?

此致、

环路2.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您的请求涉及多个 TI 组、我们可以对此进行细分。 可在 rtsc.eclipse.org/.../Main_Page 上找到 XS 内容

    构建 DSP 映像时、您的 makefile 看起来是什么样子?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Todd、

    这是我的 makefile 文件。 我有一个用于 IPU 和 DSP 的常见 config.Bld 和 IPC.cfg。xs。

    感谢您提供指向 xs/RTSCpedia 的链接。 XS/XDC 及其配置文件拾取包含和预构建库、但很难弄清楚所有这些位的作用和它们依赖什么(要使用哪些模块/不使用哪些模块、特定于电路板/SoC 的模块): 我必须阅读每个模块的所有 doxygen html (例如 CSL 和 osal),我假设我需要这些,因为我想使用 ti.drv*。 我是否需要修改/修改定制板的任何内容?)。

    这里是 Makefile 文件、工作正常、但如果 build.cfg 和 IPC.cfg 未更改、我希望能够跳过 xs 部分、这是不起作用的。

    编号
    # Makefile
    编号

    src =$(通配符./*c ./*/*c )
    obj =$(patsubst %.c、%.o、$(SRC)

    编号
    #设置
    编号
    PKGPATH ="$(XDC_INSTALL_DIR)/软件包;$(IPC_INSTALL_DIR)/软件包;$(SYSBIOS_INSTALL_DIR)/软件包;$(PDK_INSTALL_DIR)/软件包;"

    CC =$(ti.targets.elf.c66)/bin/cl6x -c
    CFLAGS =-qq -pdsw225 -ppd=$@.dep -ppa -@configuro/compiler.op-i.
    CFLAGS +=-D_DEBUG_=1 --symdebug:dwarf
    CFLAGS +=-I./common/include

    LD =$(ti.targets.elf.c66)/bin/cl6x -z
    LDFLAGS =-w -q -u _c_int00 -c -m $(@D)/$(@F).map
    LDLIBS =-l $(ti.targets.elf.c66)/lib/libc.a

    编号
    #所有目标
    编号
    所有:dra7-dsp1-fw.xe66

    dra7-dsp1-fw.xe66:$(obj) configuro
       $(LD)$(LDFLAGS)-o $@$(OBJ)\
       configuro/linker.cmd $(LDLIBS)

    %.o:%.c 配置
       $(CC)$(CFLAGS)--output_file=$@-fc $<

    编号
    # configuro 目录、包含生成的链接器命令文件和编译器选项
    编号
    configuro:Dsp1.cfg ipc.cfg.xs config.bld
       $(XDC_INSTALL_DIR)/xs \
       --xdcpath=$(PKGPATH)\
       xdc.tools.configuro -o configuro \
       t ti.targets.elf.c66 \
       -c $(ti.targets.elf.c66)\
       -p ti.platforms.evmDRA7XX:dsp1 \
       -b config.bld \
       -r 调试\
       Dsp1.cfg
       
    CONFIG_Bld:
       cp -a ../common/ipc_config/config.bld。
       
    ipc.cfg.xs:
       cp -a ../common/ipc_config/ipc.cfg.xs。

    清理:
       rm -rf configuro *。o *。xe66 config.bld ipc.cfg.xs

    交响乐:干净

     

     

    此致、

    环路2.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    LO2、
    这确实是一个 make 问题、从 makefile 文件的角度来看、它似乎是按照您希望的方式进行设置的。 仅当 Dsp1.cfg、ipc.cfg.xs 或 config.%ld 更改时、目录配置才会更改。 如果不发生这种情况、您可以使用--d 选项运行 gmake 并发布输出。 这会很长、但只要查看您的 makefile 文件、我就无法分辨问题的根源。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sasha、

    XS 生成一个包含空包的目录:configuro/package.XDC

    包含以下内容:
    /*!
    *由 xdc.tools.configuro 生成的软件包
    *
    *@ nodoc
    *
    封装配置{


    如果我将其移除、它工作正常。 我假设这是一些默认的 xs 功能/行为。

    也许有人可以检查我的 xs 配置文件设置?

    此致、
    环路2.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    文件 package.XDC 与它应该的样子完全一样。 您需要从软件包配置中获取的主要内容是 linker.cmd 和 compiler.opt。 它们是否正在生成?
    您可以附加一些构建输出吗? 编译正常时会发生什么情况、编译不正常时会发生什么情况?
    此外、使用-d 选项的 gmake 输出也很有用。