当前位置:网站首页>B_ QuRT_ User_ Guide(27)
B_ QuRT_ User_ Guide(27)
2022-06-28 08:08:00 【weixin_ thirty-eight million four hundred and ninety-eight thou】
B_QuRT_User_Guide(27)
17.4 qurt_interrupt_disable()
17.4.1 Function document
17.4.1.1 unsigned int qurt_interrupt_disable ( int int_num )
Disable an interrupt with an interrupt number .
Before calling this function , The interrupt must be registered . stay qurt_interrupt_disable() After the return ,Hexagon The subsystem can no longer move to Hexagon The core sends the corresponding interrupt , Until... Is called for the same interrupt qurt_interrupt_enable().
Avoid frequent calls in a short time qurt_interrupt_disable() and qurt_interrupt_enable().(1) When calling qurt_interrupt_disable() when ,Hexagon There may already be pending interrupts in the kernel . So after a while ,Hexagon A pending interrupt is received on the hardware thread .(2) In an interrupt from Hexagon Subsystem sends to Hexagon After the core ,Hexagon The hardware automatically disables the interrupt , Until the kernel software re enables the interrupt in the interrupt confirmation phase . If qurt_interrupt_enable() Called by some thread earlier , The interrupt will be re enabled in advance , This triggers an interrupt to when the kernel software is still processing the previous interrupt Hexagon The core sends a new interrupt .
Parameters 
Return value
QURT_EOK - Interrupt successfully disabled .QURT_EINT - Invalid interrupt number .QURT_EVAL - The interrupt is not closed .
Dependencies
None.
17.5 qurt_interrupt_enable()
17.5.1 Function document
17.5.1.1 unsigned int qurt_interrupt_enable ( int int_num )
Enable an interrupt with an interrupt number .
Before calling this function , The interrupt must be registered first .
Parameters 
Return value
QURT_EOK - Interrupt successfully enabled .QURT_EINT - Invalid interrupt number .QURT_EVAL - Interrupt not registered .
Dependencies
None.
17.6 qurt_interrupt_get_config()
17.6.1 Function document
17.6.1.1 unsigned int qurt_interrupt_get_config ( unsigned int int_num, unsigned int ∗ int_type, unsigned int ∗ int_polarity )
obtain L2VIC Interrupt configuration .
This function returns the specified L2VIC Type and polarity of interrupts .
Parameters 
Return value
QURT_EOK - Configuration succeeded, return .QURT_EINT - Invalid interrupt number .
Dependencies
None.
17.7 qurt_interrupt_raise()
17.7.1 Function document
17.7.1.1 int qurt_interrupt_raise ( unsigned int interrupt_num )
Cause an interruption .
stay V5 Hexagon On the processor , This function will trigger a level trigger L2VIC interrupt , And accept 0 To 1023 Interrupt number in the range .
Parameters 
Return value
QURT_EOK - success
-1 - Failure ; The interrupt is not supported .
Dependencies
None.
17.8 qurt_interrupt_register()
17.8.1 Function document
17.8.1.1 unsigned int qurt_interrupt_register ( int int_num, qurt_anysignal_t ∗ int_signal, int signal_mask )
Registration interrupted .
Enable the specified interrupt , And compare it with the specified QuRT A signal object is associated with a signal mask .
The signal is 32 The bit mask value is represented as the... Th 0 To 31 position . The mask bit value is 1 Indicates that you must wait for the signal ,0 It means not to wait .
When the interrupt occurs , The signal specified in the signal mask is set in the signal object . Interrupt the service thread (IST) Routinely wait for the signal to process the interrupt . The thread that registers interrupts is set to IST Threads .
A signal object can be registered at most 31 Separate interrupts , This is determined by the number of independent signals that the object can store .QuRT Keep the signal 31. therefore , One IST Can handle several different interrupts .
QuRT Some interrupts are reserved for internal use - The rest of the interrupts are available to the application , Therefore, it is a valid interrupt number . If the specified interrupt number is not within the valid range , The registration operation will return the status value QURT_EINT.
Only one thread can be registered with a particular interrupt at a time . Attempting to register an already registered interrupt will return a status value QURT_EVAL.
In a signal object , Only one signal bit can be registered in a particular interrupt at a time . Trying to register multiple signal bits into an interrupt , The status value will be returned QURT_ESIG.
Once the signal registers an interrupt ,QuRT The signal bit can only be set when an interrupt is received . From other software threads QuRT The signal API The signal cannot be set , Even unused signal bits .
Be careful : The valid range of interrupt number may be different in the target execution environment outside the simulator . For more information , Refer to the appropriate hardware documentation .
Related data types
qurt_anysignal_t
Parameters 
Return value
QURT_EOK - Interrupt successful registration .
QURT_EINT - Invalid interrupt number .
QURT_ESIG - Invalid signal bitmask ( Multiple signals cannot be set at the same time ).QURT_EVAL - Interrupt has been registered .
Dependencies
None.
17.9 qurt_interrupt_set_config()
17.9.1 Function document
17.9.1.1 unsigned int qurt_interrupt_set_config ( unsigned int int_num, unsigned int int_type, unsigned int int_polarity )
Set specified L2VIC Type and polarity of interrupts . Be careful : In reconfiguration L2VIC Before the interruption , To unregister them .
Parameters 
Return value
QURT_EOK - success .
QURT_ENOTALLOWED - Don't allow ; Registering interrupts .QURT_EINT - Invalid interrupt number .
Dependencies
None.
17.10 qurt_interrupt_status()
17.10.1 Define documents
17.10.1.1 unsigned int qurt_interrupt_status ( int int_num, int ∗ status )
Returns a value representing the pending status of the specified interrupt .
Parameters
| in | timer | Timer object . |
Return value
QURT_EOK - success .
QURT_EINT - Failure ; Invalid interrupt number .
Dependencies
None.
边栏推荐
- 【学习笔记】差分约束
- B_QuRT_User_Guide(26)
- Airflow2.x distributed deployment DAG execution failure log cannot be obtained normally
- HJ score ranking
- Kubernetes theoretical basis
- Host is not allowed to connect to this MySQL server
- Activity implicit jump
- Devops Basics: Jenkins deployment and use (I)
- MySQL installation and environment variable configuration
- asp. Net registration page
猜你喜欢

Prometheus service discovery

Soft exam -- software designer -- afternoon question data flow diagram DFD

flex布局

ROS notes (08) - definition and use of service data

三角变换公式

ROS 笔记(09)— 参数的查询和设置

ROS notes (09) - query and setting of parameters

How to configure DDR3 of dm8148

Uvcgan: unt vision transformer cycle-consistent Gan for unpropared image-to-image translation

【尚品汇】项目笔记
随机推荐
【学习笔记】拟阵
js取整的小技巧
Airflow2 configuration windows azure SSO details based on oauth2 protocol
22/02/15 study notes
设置网页的标题部分的图标
asp. Net datalist when there are multiple data displays
【学习笔记】搜索
Ambari (V) ---ambari integrated Azkaban (valid for personal test)
At 19:00 on Tuesday evening, the 8th live broadcast of battle code Pioneer - how to participate in openharmony's open source contribution in multiple directions
sql主从复制搭建
Airflow2.1.1 ultra detailed installation document
你了解TCP协议吗(一)?
Kubernetes theoretical basis
HJ字符个数统计
Do you know TCP protocol (1)?
kubernetes集群命令行工具kubectl
GPIO configuration of SOC
HJ删除字符串中出现次数最少的字符
【学习笔记】差分约束
Conversion between HJ integer and IP address