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.

[参考译文] TMS320C6745:即使我在 DSP/BIOS 的 tcf 脚本中配置了 UART1接收器中断、也不会启用

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401729/tms320c6745-uart1-receiver-interruption-is-not-enabled-even-though-i-had-configed-in-tcf-script-of-dsp-bios

器件型号:TMS320C6745

工具与软件:

我需要在一个用 DSP/BIOS v5.42.1.9开发的非常旧的项目中添加 UART 驱动程序代码。起初我用 EDMA3把接收到的数据从 UART1的 Rx FIFO 转移到 SRAM 的数据缓冲区中、出现了两个问题、一个是 EDMATC0报告了"读取地址错误"、因为源地址不正确、但我非常确定我在 参数集 RAM 中写入了正确的源地址。 另一个问题是,传输完成中断不能被处理,即使我已经配置了 ISR 在 tcf 文件,如图1所示。

但实际上 IE9没有在核心寄存器 IER 中启用。

BTW,原因 导致  EDMATC0报告"读地址错误",我猜,是片上256k SRAM 作为 L2缓存工作。 我只是取消选中了图片2中显示的内存浏览器中的 L2缓存框,然后 EDMA 运行良好。 但我找不到一个地方可以配置片上256k SRAM 在 gconf.exe 中的工作方式。

因为不知道要解决这两个问题、所以我放弃了尝试使用 EDMA、而只是使用 UART 接收器 ISR 来存储生成的数据。 正如上面遇到的相同问题、无法处理 UART 接收器中断。

我想知道如何配置片上256k SRAM 以在 SRAM (而不是 L2高速缓存)中工作、以及为什么在 gconf.exe 中配置后未设置 IER 中的相应位

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

    您好!

    请注意、DSP/BIOS 代码非常旧、我们无法再在论坛上支持有关它的问题。

    当我浏览技术参考手册(TRM)时、内部 SRAM 似乎只是被称为 L2缓存。 我将把您的主题发送给硬件应用团队的一名成员进行评论。

    此致、

    Nick

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

    感谢您的回复。

    根据文献《TMS320C674x DSP Megamadule 参考指南》(SPRUFK5A)、为响应全局复位、L2高速缓存切换为"全 RAM"模式(参考第4.3.3章复位行为)。

    现在,我最关心的是如何通过 gconf.exe 启用中断。请告诉我,如果你有任何理想,因为我已经停顿了一个星期。

    此致

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

    我已经找到了中断不是 serviced.it's 的原因、因为 DSP/BIOS 要求用户手动通过使用允许代码来启用中断:

    #include <c6x.h>
    
    int main()
    {
    ...
    IER |= 0x100;///< Enable INT8
    ...
    }

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

    您好、邢龙  

    谢谢您、感谢您补充我们的观察结果。

    此致、

    Sreenivasa