gzyueqian
13352868059

想来粤嵌ARM培训吗?先看看这些关于ARM的干货分享(下)

更新时间: 2017-03-18 15:35:24来源: 粤嵌教育浏览量:2895

  想来粤嵌ARM培训吗?今天跟大家分享的是下篇关于ARM的干货分享。

      ARM体系结构的存储器格式有两种,一种是大端格式:字数据的高字节存储在低地址中,字数据的低字节存放在高地址中,另一种是小端格式:与大端存储格式相反,高地址存放数据的高字节,低地址存放数据的低字节。

  ARM有16个32位的寄存器(r0到r15)。r15充当程序寄存器PC,r14(linkregister)存储子程序的返回地址,r13存储的是堆栈地址。ARM有一个当前程序状态寄存器:CPSR。一些寄存器(r13,r14)在异常发生时会产生新的instances,比如IRQ处理器模式,这时处理器使用r13_irq和r14_irqARM的子程序调用是很快的,因为子程序的返回地址不需要存放在堆栈中。

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

  ARM中的重映射是指在程序执行过程中通过写某个功能寄存器位操作达到重新分配其存储器地址空间的映射。一个典型的应用就是应用程序存储在Flash/ROM中,初始这些存储器地址是从0开始的,但这些存储器的读时间比SRAM/DRAM长,造成其内部执行频率不高,故一般在前面一段程序将代码搬移到SRAM/DRAM中去,然后重新映射存储器空间,将相应SRAM/DRAM映射到地址0,重新执行程序可达到高速运行的目的。

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

  UART0的基本操作方法

  1、设置I/O连接到UART0;

  2、设置串口波特率(U0DLM、U0DLL);

  3、设置串口工作模式(U0LCR、U0FCR);

  4、发送或接收数据(U0THR、U0RBR);

  5、检查串口状态字或等待串口中断(U0LSR)。

  I2C主机基本操作方法:
  1、设置I2C管脚连接;
  2、设置I2C时钟速率(I2SCLH、I2SCLL);
  3、设置为主机,并发送起始信号(I2CONSET的I2EN、STA位为1,AA位为0);
  4、发送从机地址(I2DAT),控制I2CONSET发送;
  5、判断总线状态(I2STAT),进行数据传输控制;

  6、发送结束信号(I2CONSET)。

  PWM基本操作方法:

  1、连接PWM功能管脚输出,即设置PINSEL0、PINSEL1;

  2、设置PWM定时器的时钟分频值(PWMPR),得到所要的定时器时钟;

  3、设置比较匹配控制(PWMMCR),并设置相应比较值(PWMMRx);

  4、设置PWM输出方式并允许PWM输出(PWMPCR)及锁存使能控制(PWMLER);

  5、设置PWMTCR,启动定时器,使能PWM;

  6、运行过程中要更改比较值时,更改之后要设置锁存使能。

  7、使用双边沿PWM输出时,建议使用PWM2、PWM4、PWM6;使用单边PWM输出时,在PWM周期开始时为高电平,匹配后为低电平,使用PWMMR0作为PWM周期控制,PWMMRx作为占空比控制。

  8、在网上看到了这篇好文章,跟大家分享一下,希望对大家的学习有所帮助!

  这次的ARM培训干货就分享完了,关注粤嵌官网,更多讲师、学员分享等你来看。


免费预约试听课