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.

28377使用sys/bios时,hwi中的参数该如何设置?如果需要在这里修改中断的优先级,该怎么修改参数?

Other Parts Discussed in Thread: SYSBIOS

,前辈您好,有问题请教:

我在使用最新的sys/bios搭建系统,其中hwi的参数让我比较困惑,如图所示,开启一个hwi后,里面的interrupt number,interrupt priority,Event Id分别代表什么?interrupt priority和Event Id的值为-1代表默认,那么默认值对应的真实值是多少?

mask options无法设定为mask low?如果我只想按照优先级去进行中断嵌套(高优先级能打断低优先级,低不能打断高),该如何实现?

与中断向量表中的值如何对应?

以SCIB Rx isr中断为例,能够找到vector ID为98,主优先级为13,group内优先级为3。

如果我想实现同一group内的两个中断能够实现嵌套,那么是不是只能修改其中一个中断的默认group,修改到其他group?

还请指导

  • fei xiao1 说:
    开启一个hwi后,里面的interrupt number,interrupt priority,Event Id分别代表什么?interrupt priority和Event Id的值为-1代表默认,那么默认值对应的真实值是多少?

    您可以看一下手册的 3.4 Hardware Interrupts 以及网络上的一些很好的中文分享

    fei xiao1 说:
    mask options无法设定为mask low?如果我只想按照优先级去进行中断嵌套(高优先级能打断低优先级,低不能打断高),该如何实现?

    关于中断嵌套,请您先参考 该链接

  • Susan Yang 说:

    fei xiao1
    开启一个hwi后,里面的interrupt number,interrupt priority,Event Id分别代表什么?interrupt priority和Event Id的值为-1代表默认,那么默认值对应的真实值是多少?

    您可以看一下手册的 3.4 Hardware Interrupts 以及网络上的一些很好的中文分享

    感谢回复!

    手册里面关于hwiParams的参数,能搜到的只有下面这些,没有找到关于priority、eventId的介绍 

    Hwi_Params hwiParams;

    Hwi_Params_init(&hwiParams);

    hwiParams.arg = 10;
    hwiParams.enableInt = FALSE;

    sys/bios内hwi生成的代码如下:

    var ti_sysbios_hal_Hwi7Params = new ti_sysbios_hal_Hwi.Params();
    ti_sysbios_hal_Hwi7Params.instance.name = "ti_sysbios_hal_Hwi7";
    ti_sysbios_hal_Hwi7Params.priority = -1;
    ti_sysbios_hal_Hwi7Params.eventId = -1;
    ti_sysbios_hal_Hwi7Params.maskSetting = xdc.module("ti.sysbios.interfaces.IHwi").MaskingOption_SELF;
    Program.global.ti_sysbios_hal_Hwi7 = ti_sysbios_hal_Hwi.create(98, "&SCIBRxISR", ti_sysbios_hal_Hwi7Params);

    您发的这个中文分享,我也看过好多遍了,里面是针对C6000系列的,C6000手册里面的hwi和C2000还是 有区别的:

    C2000的中断表里有这些参数Group Number,Vector ID,Core priority,ePIE group Priority。我现在的做法是将Vector ID写入了sys/bios的interrupt number,看起来是对的。

    但是priority和eventId 实在确定不了该怎么填写,网上没找到关于C2000的最新bys/bios用法。(旧版本Ti bios没有这俩参数,也不可以修改中断优先级?)

    您提供的中断嵌套文档很有帮助,感谢。

    用sys/bios生成的hwi,如果选择不同mask类型后,对中断嵌套的处理是自动完成的吗?

  • 谢谢您的详细反馈。您可以看一下

    e2e.ti.com/.../953170

    以及

    software-dl.ti.com/.../Hwi.html
  • 问题已经解决,感谢您的分享!
  • 很高兴能帮到您!后续有其他问题欢迎随时发新帖