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.

[参考译文] Linux/TMS320C6678:使用 CCS 创建 Syslink 示例

Guru**** 2563960 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/627500/linux-tms320c6678-create-syslink-example-using-ccs

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

工具/软件:Linux

大家好  

我成功地重建了 Linux C6x 内核、并使用 makefile 在 Linux 上重建了 syslink.ko 和 Notify 示例(RTOS 和 HLOS)(示例可正确处理新文件)。 我尝试根据 此帖子为 Notify 示例创建 CCS 工程 (在 TI wiki 上找不到 c6678的 Syslink CCS 示例),并根据  此帖子将 syslink_evmc678.el_hardfp 目录包含在工程 中,但 CCS 会报告此错误:

 java.io.FileNotFoundException:E:\6678_Board\Doc\Linux C6x\syslink\syslink_evmc6678.el_hardfp\ti\syslink\ipc\rtos\package\package.bld.xml (系统无法找到指定的文件)

我添加 了 syslink_evmc678.el、而不是添加 syslink_evmc678.el_hardfp (我将目录从 Ubuntu 复制到 Windows)

此目录之间有什么区别?

CCS 工程编译没有错误 、但当我用原始.xe66替换.out 文件 并在 脚本中添加"insmod /opt/syslink_evm6678.el/syslink.ko trace=1 TRACEFAILURE=1 "并运行该文件时、错误报告和程序不起作用

*** MemoryOS_alloc:无法分配内存
在文件/home/ubuntu/build-set/c66le/linux-c6x-2.0.0.63/Build/syslink_evmc6678.el/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/osal/Linux/MemoryOS.c
中,行号为302时出现错误[0x897d2001]*** Memory_alloc:分配内存失败!
文件/home/ubuntu/build-set/c66le/linux-c6x-2.0.0.63/Build/syslink_evmc6678.el/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/Memory.c
中第139行的错误[0x8c97e001]*** Platform_loadCallback: memory_alloc 失败
文件/home/ubuntu/build-set/c66le/linux-c6x-2.0.0.63/Build/syslink_evmc6678.el/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/c667x/Platform.c
中第2062行的错误[0xffffff]*** IPC_CONTROL:platform_loadCallback 失败!
错误[0xffFFF],位于行号:829,文件/home/ubuntu/build-set/c66le/linux-c6x-2.0.0.63/Build/syslink_evmc6678.el/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c
中断言,位于行号:302,位于/home/ubuntu/build-set/c66le/linux-c6x-2.0.0.63/Build/syslink_evmc6678.el/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c 中:(状态>=0):失败
*** Notify_registerEvent: Notify driver not registered (通知驱动程序未注册)

我看到   、但我认为我的封装版本是正确的

任何机构都可以帮助我如何在 CCS 工程中使用 Syslink Notfy/MessageQ?

谢谢

EBI

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

    更新:

    .map 文件,由 Linux C6x makefile 生成(/Build/syslink_evmc6678.el/ti/syslink/samples/rtos/notify/package/cfg/ti_syslink_samples_rtos_platforms_evm6678_core1/release/notify_c6678_core1.xe66.map)

    秘书长的报告
    TMS320C6x 链接器 Unix v7.4.0
    秘书长的报告
    >> 2017年9月23日星期六链接3:21:21
    
    输出文件名: 
    入口点符号:"_c_int00"地址:0081efe0
    
    
    内存配置
    
    名称 原点长度 已使用 未使用的属性填充
    --- ---- ------ ---- ---- --------
    L2 SRAM 00800000 00060000 00035236 0002adca RW X
    SR0 0c008000 000f8000 000f8000 00000000 RW X
    MSMCSRAM 0c100000 00040000 00000000 00040000 RW X
    DDR3 90000000 02000000 00000000 02000000 RW X
    SR1 9fc00000 00200000 00200000 00000000 RW X 

    .map 文件、用于 CCS 项目

    秘书长的报告
    TMS320C6x 链接器 PC v7.4.0
    秘书长的报告
    >> 2017年9月26日09:01:32日链接的 Tue
    
    输出文件名: 
    入口点符号:"_c_int00"地址:0081ef60
    
    
    内存配置
    
    名称 原点长度 已使用 未使用的属性填充
    --- ---- ------ ---- ---- --------
    L2 SRAM 00800000 00080000 0003509e 0004af62 RW X
    MSMCSRAM 0c000000 00400000 000f8000 00308000 RW X
    DDR3 8000000 20000000 00200000 1fe00000 RWIX 

    我认为问题出在内存部分!

    EBI

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    C6678器件不支持 Linux 内核。 请分享您使用的是哪个 RTOS 版本?

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

    你(们)好

    感谢您的回复!

    C6678支持 Linux C6x  , Linux-C6x 在 DSP 上运行,并且基于 uClinux (对于 MMU-less 处理器)

    官方网站:

    EBI  

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

    是的、我知道这一点、但该 MCSDK 已非常旧、不再更新。 目前、我们支持以下版本:
    www.ti.com/.../toolssoftware

    我们通常建议客户使用最新的 Processor SDK RTOS。

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

    是的,您回答正确,我使用的是最新版本的处理器 SDK、SYS/BIOS、IPC…… 一个示例。

    在此步骤中、我尝试将 syslink 添加到主程序的 SYSBIOS 端(用于在 Linux 内核和 SYSBIOS 内核之间传输数据)、并尝试重建 syslink 示例。

    根据这些帖子

    ,我必须使用 正确版本的 BIOS 和 XDC,如 linux-c6x.org 发行说明中所示

    在下一步中,我尝试将 syslink 与 最新版本的 BIOS XDC 一起使用...

    谢谢

    EBI

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

    通过更改平台解决了我的问题!

    [引用 user="ebi alinejad"]

    .map 文件,由 Linux C6x makefile 生成(/Build/syslink_evmc6678.el/ti/syslink/samples/rtos/notify/package/cfg/ti_syslink_samples_rtos_platforms_evm6678_core1/release/notify_c6678_core1.xe66.map)

    秘书长的报告
    TMS320C6x 链接器 Unix v7.4.0
    秘书长的报告
    >> 2017年9月23日星期六链接3:21:21
    
    输出文件名: 
    入口点符号:"_c_int00"地址:0081efe0
    
    
    内存配置
    
    名称 原点长度 已使用 未使用的属性填充
    --- ---- ------ ---- ---- --------
    L2 SRAM 00800000 00060000 00035236 0002adca RW X
    SR0 0c008000 000f8000 000f8000 00000000 RW X
    MSMCSRAM 0c100000 00040000 00000000 00040000 RW X
    DDR3 90000000 02000000 00000000 02000000 RW X
    SR1 9fc00000 00200000 00200000 00000000 RW X 

    .map 文件、用于 CCS 项目

    秘书长的报告
    TMS320C6x 链接器 PC v7.4.0
    秘书长的报告
    >> 2017年9月26日09:01:32日链接的 Tue
    
    输出文件名: 
    入口点符号:"_c_int00"地址:0081ef60
    
    
    内存配置
    
    名称 原点长度 已使用 未使用的属性填充
    --- ---- ------ ---- ---- --------
    L2 SRAM 00800000 00080000 0003509e 0004af62 RW X
    MSMCSRAM 0c000000 00400000 000f8000 00308000 RW X
    DDR3 8000000 20000000 00200000 1fe00000 RWIX 

    我认为问题出在内存部分!

    [/报价]

    与内存部分相关的问题!

    EBI