微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > 关于UCD3138 SWI中断中的定义问题!?

关于UCD3138 SWI中断中的定义问题!?

时间:10-02 整理:3721RD 点击:

我在阅读UCD3138 Digital Power Supply Controller Technical Reference Manual文档时,看到软件中断C代码编写如下:

#pragma SWI_ALIAS (write_firqpr, 8)
void write_firqpr(unsigned long value);
#pragma SWI_ALIAS (write_reqmask, 9)
void write_reqmask(unsigned long value);
#pragma INTERRUPT(software_interrupt,SWI)
void software_interrupt(Uint32 arg1, Uint32 arg2, Uint32 arg3, Uint8 swi_number)
{
//make sure interrupts are disabled
asm(" MRS r3, cpsr "); // get psr
asm(" ORR r3, r3, #0xc0 "); // set interrupt disables
asm(" MSR cpsr, r3"); // restore psr
asm(" LDRB R3,[R14,#-1]"); // get swi number into R3 as fourth operand
switch (swi_number) // handle flash write/erase and ROM backdoor first
{
...
case 8: //write to fiq/irq program_control_register
CimRegs.FIRQPR.all = arg1;
return;
case 9: //write to fiq/irq program_control_register
CimRegs.REQMASK.all = arg1;
return;
...
default:
break;
}
}

以上代码中,8:定义为FIQ/IQR中断的选择;9:定义为中断的屏蔽;请问这种定义是固定的吗?能否将8定义为中断的屏蔽,而9定义为FIQ/IQR中断的选择?

如果这种定义是固定的,请问在那个一个文档能查找到这张定义表格!?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top