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:从 Linux 运行 DSP 应用

Guru**** 2538960 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623368/rtos-am5728-running-dsp-application-from-linux

器件型号:AM5728

工具/软件:TI-RTOS

我关注这个 wiki 页面"http://processors.wiki.ti.com/index.php/Linux_IPC_on_AM57xx"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是一个完整的问题、出于某种原因、它从原始帖子中被截断。
    我关注这个 wiki 页面processors.wiki.ti.com/.../Linux_IPC_on_AM57xx" 、我能够在 AM572x EVM 上运行 ex02_MessageQ 应用程序。 在同一个 wiki 页面之后、当我尝试将 ex02_MessageQ 与 LED 闪烁示例相结合时、我会遇到以下错误。

    未解析的符号 ti_utils_exit、首先在./gpio_log.obj 中引用

    需要在链接器搜索文件路径中添加哪些内容来消除此错误。 或者我应该如何解决它?

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

    这是错误的屏幕截图。  

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

    附件是我的项目。  

    e2e.ti.com/.../am5728_5F00_dsp_5F00_blink_5F00_with_5F00_ipc_5F00_copy_5F00_files.zip

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

    Ahmed、

    该符号是性能分析库的一部分。

    您能否在包含 GPIO 驱动程序模块之前将以下内容添加到配置中。

    //加载分析包*/
    
    var Utils = xdc.loadPackage ('ti.utils.profiling'); 

    解决此问题的另一种方法可能是从编译器选项中删除以下标志。

    --entry_parm=address --exit_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry 

    希望这能解决您的问题。

    注意事项

    Rahul

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

    在 cfg 文件中添加"var Utils = XDC.loadPackage ('ti.utils.profiling');)"后、先前的错误消失。 现在、我遇到以下错误。

    说明:#10099-D configPkg/linker.cmd 程序不能放入可用内存中。 对齐方式运行对齐方式失败的".fardata"大小为0x4001f4e。 可用存储器范围:

    以下是我的 gpio_test_evmAM572x.cfg
    e2e.ti.com/.../gpio_5F00_test_5F00_evmAM572x.cfg



    请提供建议。
    谢谢。

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

    以下是上述 gpio_test_evmAM572x.cfg 生成的 linker.cmd 文件的内容

    e2e.ti.com/.../linker.cmd.txt


    谢谢。

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

    Ahmed、

    请将源文件和配置文件附加到 E2E 中、而不是复制粘贴到论坛中。 文本的格式将丢失、难以解析和跟踪。 我已经完成了这一操作、请使用丰富的格式功能并将文件附加到论坛中。

    此处讨论了相同的构建问题、因此请查看此帖子以了解解决方案:

    https://e2e.ti.com/support/development_tools/compiler/f/343/t/576965?pi317851=2

    希望这对您有所帮助。

    此致、
    Rahul

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

    很抱歉。 我现在要附加文件。 我确实关注过此帖子(https://e2e.ti.com/support/development_tools/compiler/f/343/t/576965?pi317851=2)。  在 GPIO_TEST_evmAM572x.cfg 末尾添加了以下三行之后、  

    Memory.defaultHeapInstance = Program.global.heap0;
    Program.sectMap["systemHeap"]= Program.platform.stackMemory;
    Program.sectMap[".fardata:benchmarking"]="DDR3";

    错误更改为:  


    #10099-D configPkg/linker.cmd 程序不能放入可用内存中。 ".fardata:基准"段大小0x4000000的运行定位失败

    #10265 configPkg/linker.cmd 没有可用于放置".fardata:基准测试"的有效存储器范围(空)

    以下屏幕截图显示了我的 CSS 常规设置。  

    e2e.ti.com/.../3644.gpio_5F00_test_5F00_evmAM572x.cfg

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我注意到此帖子中给出的错误和错误之间的一个区别(e2e.ti.com/.../576965 )是、我的错误不表示可用存储器范围是什么、其中该帖子中的错误显示可用存储器范围:L2SRAM 大小:0x80000未使用:0x7ef72最大空洞:0x7ef6c。 在 cfg 文件中是否需要添加任何其他内容来定义存储器范围?

    感谢 Rahul 的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    编译问题已解决。 我所做的不是遵循 Rahul 的第一个解决方案、而是遵循他的第二个解决方案、即从编译器选项中删除这些标志:--entry_parm=address --exite_hook=ti_utils_exit --exit_parm=address --entry_hook=ti_utils_entry,并且通过逻辑方法解决了问题。

    谢谢 Rahul。
    感谢你的帮助。