1.arm处理器中,只有MRS指令可以将状态寄存器cpsr或spsr读出到通用寄存器中。
2.arm映像 文件就是指烧录到rom中bin文件,可以用image文件来称呼它。image文件包含了ro和rw.
arm程序 是指在arm系统中正在执行的程序,而非保存在rom中的bin映像文件。一个arm程序包含3部
分:r0,rw,和zi
ro是程序中的指令和常量
rw是程序中的已初始化变量
zi是程序中的未初始化变量
#include "config.h"
#define BEEPCON 1<<7
void __irq IRQ_Eint3(void)
{
uint32 i;
i = IO0SET; //当前io0set的值
if((i&BEEPCON) == 0)
{
IO0SET = BEEPCON; //if IO0SET'S 第7位为0,则让io0set该位变为1,对应位输出高电平。
}
else
{
IO0CLR = BEEPCON; //if io0set's第7位为1,则让io0clr将该位变为1,即输出低电平。
}
while((EXTINT&1)!=0)
{
EXTINT = 1<<3;
}
VICVectAddr = 0;
}
int main(void)
{// add user source code
IRQEnable();
PINSEL1 = 3<<8; //作用为将P0.20设置为Eint3.参见书本194页
IO0DIR = BEEPCON; //BEEPCON is 10000000,p0.7 is output
VICIntSelect = 0x00000000; //all the interput is irq.
VICDefVectAddr =(int)IRQ_Eint3; //set the address of defvector interput irq_eint3
EXTMODE = 0x00; //level trigger
EXTINT = 1<<3; //1000,clear eint3 interprrupt flag
VICIntEnable =1<<17; //使能中断,见书本208页,eint3的vic为17
while(1);
return 0;
}