做化工类网站内容,为什么选php语言做网站,常熟市建设局网站,小程序权限超时1. ARM中一些常见英文缩写解释 MSB#xff1a;最高有效位#xff1b; LSB#xff1a;最低有效位#xff1b; AHB#xff1a;先进的高性能总线#xff1b; VPB#xff1a;连接片内外设功能的VLSI外设总线#xff1b; EMC#xff1a;外部存储器…1. ARM中一些常见英文缩写解释 MSB最高有效位 LSB最低有效位 AHB先进的高性能总线 VPB连接片内外设功能的VLSI外设总线 EMC外部存储器控制器 MAM存储器加速模块 VIC向量中断控制器 SPI全双工串行接口 CAN控制器局域网一种串行通讯协议 PWM脉宽调制器 ETM嵌入式跟踪宏 CPSR当前程序状态寄存器 SPSR程序保护状态寄存器 2. MAM 使用注意事项 当改变 MAM 定时值时必须先通过向 MAMCR 写入 0 来关闭 MAM然后将新值写入 MAMtiM。最后将需 要的操作模式的对应值写入MAMCR再次打开MAM。 对于低于 20MHz 的系统时钟MAMTIM 设定为 001。对于 20MHz 到 40MHz 之间的系统时钟建议将 Flash访问时间设定为2cclk而在高于40MHz的系统时钟下建议使用3cclk。 3. VIC 使用注意事项 如果在片内RAM当中运行代码并且应用程序需要调用中断那么必须将中断向量重新映射到Flash地址0x0 。这样做是因为所有的异常向量都位于地址0x0及以上。通过将寄存器MEMMAP位于系统控制模块当中配置 为用户RAM模式来实现这一点。用户代码被连接以便使中断向量表装载到0x4000 0000。
4. ARM启动代码设计 ARM启动代码直接面对处理器内核和硬件控制器进行编程一般使用汇编语言。启动代码一般包括 中断向量表 初始化存储器系统 初始化堆栈初始化有特殊要求的端口、设备 初始化用户程序执行环境 改变处理器模式 呼叫主应用程序 5. IRQ 和 FIQ 之间的区别 IRQ和FIQ是ARM处理器的两种编程模式。IRQ是指中断模式FIR是指快速中断模式。对于 FIQ 你必须尽快 处理你的事情并离开这个模式。IRQ 可以被 FIQ 所中断但 IRQ 不能中断 FIQ。为了使 FIQ 更快所以这 种模式有更多的影子寄存器。FIQ 不能调用 SWI软件中断。FIQ 还必须禁用中断。如果一个 FIQ 例程必 须重新启用中断则它太慢了并应该是 IRQ 而不是 FIQ。 6. ARM处理器对异常中断的响应过程 ARM处理器对异常中断的响应过程如下所述 保存处理器当前状态、中断屏蔽位以及各条件标志位 设置当前程序状态寄存器CPSR中的相应位 将寄存器lr_mode设置成返回地址 将程序计数器值PC设置成该异常中断的中断向量地址跳转到相应异常中断处执行。 7. ARM指令与Thumb指令的区别 在ARM体系结构中ARM指令集中的指令是32位的指令其执行效率很高。对于存储系统数据总线为16位的 应用系统ARM体系提供了Thumb指令集。Thumb指令集是对ARM指令集的一个子集重新编码得到的指令长度为 16位。通常在处理器执行ARM程序时称处理器处于ARM状态当处理器执行Thumb程序时称处理器处于Thumb 状态。Thumb指令集并没有改变ARM体系地层的程序设计模型只是在该模型上加上了一些限制条件。Thumb指 令集中的数据处理指令的操作数仍然为32位指令寻址地址也是32位的。 8. 什么是ATPCS 为了使单独编译的C语言程序和汇编程序之间能够相互调用必须为子程序之间的调用规定一定的规则。 ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。这些规则包括寄存器使用规则数据栈的使用规则 参数的传递规则等。 9. ARM程序和Thumb程序混合使用的场合 通常Thumb程序比ARM程序更加紧凑而且对于内存为8位或16位的系统使用Thumb程序效率更高。但是 在下面一些场合下程序必须运行在ARM状态这时就需要混合使用ARM和Thumb程序。 强调速度的场合应该使用ARM程序 有些功能只能由ARM程序完成。如使用或者禁止异常中断 当处理器进入异常中断处理程序时程序状态切换到ARM状态即在异常中断处理程序入口的一些指令是ARM 指令然后根据需要程序可以切换到Thumb状态在异常中断程序返回前程序再切换到ARM状态。 ARM处理器总是从ARM状态开始执行。因而如果要在调试器中运行Thumb程序必须为该Thumb程序添加一个 ARM程序头然后再切换到Thumb状态执行Thumb程序。 10. ARM处理器运行模式 ARM微处理器支持7种运行模式分别为 用户模式usrARM处理器正常的程序执行状态 快速中断模式fiq用于高速数据传输或通道管理 外部中断模式irq用于通用的中断处理 管理模式svc操作系统使用的保护模式 数据访问终止模式abt当数据或指令预取终止时进入该模式用于虚拟存储及存储保护 系统模式sys运行具有特权的操作系统任务 未定义指令中止模式und当未定义指令执行时进入该模式可用于支持硬件协处理器的软件仿真。 11. ARM体系结构所支持的异常类型 ARM体系结构所支持的异常和具体含义如下圈里面的数字表示优先级 复位①当处理器的复位电平有效时产生复位异常程序跳转到复位异常处执行异常向量0x0000,0000 未定义指令⑥当ARM处理器或协处理器遇到不能处理的指令时产生为定义异常。可使用该异常机制进行软件仿真异常向量0x0000,0004 软件中断⑥有执行SWI指令产生可用于用户模式下程序调用特权操作指令。可使用该异常机制现系统功能调用异常向量0x0000,0008 指令预取中止⑤若处理器的预取指令的地址不存在或该地址不允许当前指令访问存储器会向理器发出中止信号当预取指令被执行时才会产生指令预取中止异常异常向量0x0000,000C 数据中止②若处理器数据访问的指令的地址不存在或该地址不允许当前指令访问产生数据中异常异常向量0x0000,0010 IRQ④外部中断请求当处理器的外部中断请求引脚有效且CPSR中的I位为0时产生IRQ异常。系统的外设可以该异常请求中断服务异常向量0x0000,0018 FIQ③快速中断请求当处理器的快速中断请求引脚有效且CPSR中的F位为0时产生FIQ异常异常向量0x0000,001C。 说明其中异常向量0x0000,0014为保留的异常向量。 12. ARM体系结构的存储器格式 ARM体系结构的存储器格式有如下两种 大端格式字数据的高字节存储在低地址中字数据的低字节存放在高地址中 小端格式与大端存储格式相反高地址存放数据的高字节低地址存放数据的低字节。 13. ARM寄存器总结 ARM有16个32位的寄存器r0到r15。 r15充当程序寄存器PCr14link register存储子程序的返回地址r13存储的是堆栈地址。 ARM有一个当前程序状态寄存器CPSR。 一些寄存器r13r14在异常发生时会产生新的instances比如IRQ处理器模式这时处理器使用 r13_irq和r14_irq ARM的子程序调用是很快的因为子程序的返回地址不需要存放在堆栈中。 14. 存储器重新映射Remap的原因 使Flash存储器中的FIQ处理程序不必考虑因为重新映射所导致的存储器边界问题 用来处理代码空间中段边界仲裁的SRAM和Boot Block向量的使用大大减少 为超过单字转移指令范围的跳转提供空间来保存常量。 ARM中的重映射是指在程序执行过程中通过写某个功能寄存器位操作达到重新分配其存储器地址空间的映 射。一个典型的应用就是应用程序存储在Flash/ROM中初始这些存储器地址是从0开始的但这些存储器的读 时间比SRAM/DRAM长造成其内部执行频率不高故一般在前面一段程序将代码搬移到SRAM/DRAM中去然后重 新映射存储器空间将相应SRAM/DRAM映射到地址0重新执行程序可达到高速运行的目的。 15. 存储异常向量表中程序跳转使用LDR指令而不使用B指令的原因 LDR指令可以全地址范围跳转而B指令只能在前后32MB范围内跳转 芯片具有Remap功能。当向量表位于内部RAM或外部存储器中用B指令不能跳转到正确的位置。 16. 锁相环PLL注意要点 PLL在芯片复位或进入掉电模式时被关闭并旁路在掉电唤醒后不会自动恢复PLL的设定 PLL只能通过软件使能 PLL在激活后必须等待其锁定然后才能连接 PLL如果设置不当将会导致芯片的错误操作。 17. ARM7与ARM9的区别 ARM7内核是0.9MIPS/MHz的三级流水线和冯S226;诺伊曼结构ARM9内核是五级流水线提供 1.1MIPS/MHz的哈佛结构。 ARM7没有MMUARM720T是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位为1AA位为0 发送从机地址I2DAT控制I2CONSET发送 判断总线状态I2STAT进行数据传输控制 发送结束信号I2CONSET。 I2C从机基本操作方法 设置I2C管脚连接 设置自身的从机地址I2ADR 使能I2CI2CONSET的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作为占空比控制。