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.

C6678 Semaphore2 Hardware Module 问题

您好:

文档上说对Indirect Module中的寄存器SEM_INDIRECTn 写0, 是将对该信号量的申请请求放到队列中.

1.我想知道编程时,我们需要去关心这个队列吗?也就是说这个队列是硬件自动实现的还是需要软件实现?

2.如果之前没有任何core申请信号量0,那么当core0去申请该信号量时,即SEM_INDIRECT0 = 0x0, 是否会产生一个可以产生一个中断事件(When a semaphore is granted to a core via a request made using the indirect method,

a SEMINTn interrupt to that core is generated).

3.能否提供直接操作寄存器申请信号量的例程(包括三种模型).

谢谢!

  • si cheng 你好,

    1. 对于Indirect mode的request queue是硬件维护,不需软件管理;

    2. 只要是使用indirect方式去申请得到一个信号量时,就会产生一个硬件中断事件;

    3. 相关例程请参考附件,其中提供了direct及indirect两种模式,请参考。在运行之前请先阅读相应的Readme_first.txt.

    谢谢!

    hardware_semaphore2.7z