原创 ARM学习笔记[2]

2008-5-10 13:52 1467 6 6 分类: MCU/ 嵌入式
13.    ARM寄存器总结:
?    ARM有16个32位的寄存器(r0到r15)。
?    r15充当程序寄存器PC,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址。
?    ARM有一个当前程序状态寄存器:CPSR。
?    一些寄存器(r13,r14)在异常发生时会产生新的instances,比如IRQ处理器模式,这时处理器使用r13_irq和r14_irq
?    ARM的子程序调用是很快的,因为子程序的返回地址不需要存放在堆栈中。

14.    存储器重新映射的原因:
?    使Flash存储器中的FIQ处理程序不必考虑因为重新映射所导致的存储器边界问题;
?    用来处理代码空间中段边界仲裁的SRAM和Boot Block向量的使用大大减少;
?    为超过单字转移指令范围的跳转提供空间来保存常量。

15.    存储异常向量表中程序跳转使用LDR指令,而不使用B指令的原因:
?    LDR指令可以全地址范围跳转,而B指令只能在前后32MB范围内跳转;
?    芯片具有Remap功能。当向量表位于内部RAM或外部存储器中,用B指令不能跳转到正确的位置。

16.    锁相环(PLL)注意要点:
?    PLL在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复PLL的设定;
?    PLL只能通过软件使能;
?    PLL在激活后必须等待其锁定,然后才能连接;
?    PLL如果设置不当将会导致芯片的错误操作。

17.    ARM7与ARM9的区别:
?    ARM7内核是0.9MIPS/MHz的三级流水线和冯?诺伊曼结构;ARM9内核是五级流水线,提供1.1MIPS/MHz的哈佛结构。
?    ARM7没有MMU,ARM720T是MMU的;ARM9是有MMU的,ARM940T只有Memory protection unit.不是一个完整的MMU。
?    ARM7TDMI提供了非常好的性能——功耗比。它包含了Thumb指令集快速乘法指令和ICE调试技术的内核。ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线。

18.    VIC的基本操作如下:
答:设置IRQ/FIQ中断,若是IRQ中断则可以设置为向量中断并分配中断优先级,否则为非向量IRQ。然后可以设置中断允许,以及向量中断对应地址或非向量中断默认地址。当有中断后,若是IRQ中断,则可以读取向量地址寄存器,然后跳转到相应的代码。当要退出中断时,对向量地址寄存器写0,通知VIC中断结束。当发生中断时,处理器将会切换处理器模式,同时相关的寄存器也将会映射。

19.    使用外部中断注意
?    把某个引脚设置为外部中断功能后,该引脚为输入模式,由于没有内部上拉电阻,所以必须外接一个上拉电阻,确保引脚不被悬空;
?    除了引脚连接模块的设置,还需要设置VIC模块,才能产生外部中断,否则外部中断只能反映在EXTINT寄存器中;
?    要使器件进入掉电模式并通过外部中断唤醒,软件应该正确设置引脚的外部中断功能,再进入掉电模式。

20.    UART0的基本操作方法
?    设置I/O连接到UART0;
?    设置串口波特率(U0DLM、U0DLL);
?    设置串口工作模式(U0LCR、U0FCR);
?    发送或接收数据(U0THR、U0RBR);
?    检查串口状态字或等待串口中断(U0LSR)。

21.    I2C的基本操作方法
答:I2C主机基本操作方法:
?    设置I2C管脚连接;
?    设置I2C时钟速率(I2SCLH、I2SCLL);
?    设置为主机,并发送起始信号(I2CONSET的I2EN、STA位为1,AA位为0);
?    发送从机地址(I2DAT),控制I2CONSET发送;
?    判断总线状态(I2STAT),进行数据传输控制;
?    发送结束信号(I2CONSET)。
I2C从机基本操作方法:
?    设置I2C管脚连接;
?    设置自身的从机地址(I2ADR);
?    使能I2C(I2CONSET的I2EN、AA位为1);
?    判断SI位或等待I2C中断,等待主机操作;
?    判断总线状态I2STAT,进行数据传输控制。

22.    PWM基本操作方法:
?    连接PWM功能管脚输出,即设置PINSEL0、PINSEL1;
?    设置PWM定时器的时钟分频值(PWMPR),得到所要的定时器时钟;
?    设置比较匹配控制(PWMMCR),并设置相应比较值(PWMMRx);
?    设置PWM输出方式并允许PWM输出(PWMPCR)及锁存使能控制(PWMLER);
?    设置PWMTCR,启动定时器,使能PWM;
?    运行过程中要更改比较值时,更改之后要设置锁存使能。
使用双边沿PWM输出时,建议使用PWM2、PWM4、PWM6;使用单边PWM输出时,在PWM周期开始时为高电平,匹配后为低电平,使用PWMMR0作为PWM周期控制,PWMMRx作为占空比控制。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条