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.

[参考译文] CCS/TMS320C6655:如何使用 CIC? 我想将 McBSP#39;s rint 与 CPU 中断连接。

Guru**** 2585275 points
Other Parts Discussed in Thread: TMS320C6655, TMS320C6416

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/860138/ccs-tms320c6655-how-do-i-use-cic-i-want-to-link-mcbsp-s-rint-with-cpu-interrupt

器件型号:TMS320C6655
主题中讨论的其他器件: TMS320C6416

工具/软件:Code Composer Studio

你(们)好

我使用 TMS320C6655而不是 TMS320C6416来开发系统。

我想制作程序来将 McBSP 的 RINT 与 CPU 中断连接起来。

我已经准备好 McBSP 读/写的配置。

您能告诉我如何使用 CIC 并为我提供样片计划吗?

此致。

Masatoshi

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

    您好、Masatoshi、

    CIC 的最详细教程是以下 wiki:
     

    您检查过吗?
    此致、
    Yordan

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

    您好、Yordan。

    感谢您的回复和建议。
    我已经阅读了官方网站上 DSP 文档中的相关项目、
    我尚未阅读有关芯片中断控制器的 wiki。
    如果您愿意、可以告诉我有关 CIC 的具体说明和示例页面以供参考吗?

    此致

    Masatoshi

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

    您好!


    我已通知 McBSP 专家。 但请记住、美国的感恩节会导致响应延迟。

    此致、
    Yordan

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

    下面是使用 Wiki 上提供的 CIC 进行中断配置的正确链接:

    http://processors.wiki.ti.com/index.php/Configuring_Interrupts_on_Keystone_Devices

    第3.1.3节和第3.2.4节提供了一个示例。  

    专门针对 McBSP 参考,您可以参考 Processor SDK RTOS C665x 中的 McBSP 驱动程序和示例 ,但我怀疑该驱动程序使用 DMA 中断设置将数据从 McBSP FIFO 移动到 RX 缓冲区以生成中断。

    下面是使用 CIC 在 C66x 上参考的 UART 中断连接示例:

    void keyston_UART_interrupts_Init (bool bRxIntEnable、bool bEDMAInterruptEnable)
    {
    if (C6670_EVM=gDSP_board_type
    ||DUAL_Nyquist_EVM=gDSP_board_type
    ||TCI6614_EVM=gDSP_board_type)
    {
    uiC678_IN64_INT
    
    = 64_INT =
    
    
    
    
    
    64、C678_INTC = INT = IN33 (如果 C678_INTC = IN64_INT = INT、则
    输入端输入端输出)
    
    
    if (DNUM<4)//对于内核0、1、2、3
    CIC_Regs= gpCIC0_regs;
    否则
    CIC_Regs= gpCIC1_regs;
    
    /*禁用全局主机中断。 */
    CIC_Regs->GLOBAL_ENABLE_HIN_REG=0;
    
    //在 CPINTC 模块中配置无嵌套支持。 */
    CIC_Regs->CONTRAL_REG=((CIC_Regs->CONTRAL_REG&
    ~CSL_CPINTC_CONTRAL_REG_Nest_MODE_MASK)|
    (CPUC_NO_Nesting< GLOBAL_ENABLE_HIN_REG= 1;
    
    //将 UART ERR 中断映射到 INT4 *
    //*将 UART RX 中断映射到 INT5 *
    //将 EDMA gint 映射到 INT6 */
    #ifdef CSL_GEM_CIC0_OUT_64_PLUS _MUL_N//对于 C6670、TCI6614
    g_CCP_IN_IN_ING_10_CSDK_EN_IN_INTX1_U_IN_ING_U_USDK_MODU_IN_IN_IN_IN_EN_INTX1_U_IN_IN_INTX1_U_U_INTX4_IN_EN_IN_IN_IN_INTX1_IN_IN_IN_IN_INTX4_IN_EN_IN_IN_INTX_IN_IN_INTX_IN_IN_EN_IN_IN_IN_INTX_IN_IN_INTX4_IN_EN_IN_IN_IN_IN_IN_IN_IN
    
    
    INTMUX1 =
    (CSL_GEM_INTC0_OUT_33_PL_11_MUL_N_OR_INTC0_OUT_33_PLUS 11_MUL_N_MIN_4<<CSL_CSDK_INTMUX1_INTSEL4_SHIFT)|\
    (CSL_GEM_INTC0_OUT_INTX_IN_IN_IN_INUL_34_INTX_IN_IN_IN_IN_IN_IN_INTX1_IN_IN_IN_IN_IN_IN_INTX1_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_IN_
    <<<
    

    如果您对此问题有任何疑问、请告知我们。

    此致、

    Rahul

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

    Yordan

    感谢您通知专家


    Rahul


    感谢你的答复。
    我读取了显示的 URL、并且我计划使用 SYS/BIOS 方法对中断进行编程。

    我在这里有一个问题、HWI 和 CpIntc 之间有什么区别?
    这两个程序看起来都像将系统中断与主机中断相关联的程序。
    查看该示例、我觉得我只能使用 HWI 来实现它、
    我是否需要同时设置 HWI 和 Cpintc?

    如果是、您是否同意以下认可?
    Hwi:设置系统中断和主机中断、并在中断时整合处理
    Cpintc:SYS/BIOS 初始化、识别和允许以及映射系统中断和主机中断的过程

    我期待您的回复。

    此致。


    桥本