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.

求教 sys bios下 硬件中断(hwi)的使用



版本,ccs 6.1   sys/bios 6.41

想学习使用hwi,新建测试工程,一个task,一个hwi

代码大致如下:

void tsk_Fxn()

{

    int i = 0;

    while(1)

    {

        i++;

        System_printf("mark i = %d \n", i);

        if(i  == 10) 

         {

            Hwi_post(5);

          }

    }

}

Void hwi_Fxn()

{

   System_printf("my hwi  \n");

}

可以编译正常,加载到板子里运行后,就不停的刷 硬件中断服务函数的打印,不是预先设想的只打印一次,现象感觉bios在不停的调hwi_Fxn

请教:

1,硬件中断的创建和使用上有什么遗漏或不正确的地方? Hwi_post函数,是在api中查到可以用来测试的。

 2,通常使用硬件中断的步骤中是哪些?  目前自己的理解,根据datasheet的中断表,绑定中断num和对应的用户自己的函数,等待某个地方触发这个中断。这个某个地方还不清楚,具体如何实现,所以用了前面的Hwi_post函数代替。

3,如果使用系统设定的某个资源做中断触发,该如何触发,调用,关闭中断?是 需要自己的写驱动么? 是的话,大致流程是不是,驱动程序先置中断标志位,然后中断模块来执行中断,关闭中断怎么弄?以上是自己的猜想,还在学习中。

4 ,尝试使用了timer,不管是静态配置或者动态创建,编译通过,可程序加载到板子就直接报错。。。多次尝试,均未果。求教,timer的使用和设置注意事项。

查看一些文档,bios user guide 和 参考学习一些ccs里的例子,没有能解答上面的疑问,请各位大大,不吝赐教。