您的位置: 嵌入式在线 > 技术中心 > 在线手册 > AT91X40启动引导说明

AT91X40启动引导说明

2006-11-10      嵌入式在线      收藏 | 打印

    复位使AT91X40进入引导模式,初始化用户接口寄存器,使其变为缺省直。除了PC为0以外,ARM核内部的其它寄存器无定义。

    AT91X40复位时,存储器映射将NVM放在0页面,片内RAM重定位到0X00300000。片内32位NVM或片外的8/16位NVM映射到0X00000000(片外NVM由NCS0选择)。重映射命令,即重映射寄存器的RCB位写1,可以使AT91X40退出引导模式,存储器映射返回到常规的映射关系。此时0页面处映射为片内RAM,以存放动态的(可修改的)异常向量表。外部的存储器映射到用户在片选寄存器0中定义的地址。注意: 如果这个寄存器没有写入相应的值,将会产生内部的冲突。

   如果要访问外部芯片(即使用NCS1到NCS7),重映射命令是必须的。

   重映射命令执行前后的AT91R40807 内存映射:

注意:在任何时间,内部的 RAM 和外部的引导存储器都在 2 个不同的地址。有两个不同的方法执行 Remap 命令。第一个是标准的。将在引导存储器(与 CS0 联接的)中的程序拷贝到片内 RAM 。然后 remap 能安全地执行。第二个是利用 ARM 核的流水线技术。下面的系列描述允许在不拷贝任何代码的情况下执行 remap 。这个例子被 AT91 库使用, 在文件 /Library/Init/in_reset.s 中。- 拷贝存储控制器的映像 ldr  r10 , PtInitTableEBI  mov  r10 , r10 , LSL  #12  mov  r10 , r10 , LSR  #12- 装载要跳转的地址ldr  r12 , PtInitRemap- 拷贝片选寄存器映像到存储控制器和命令 remap  ldmia  r10 !,{ r0-r9 , r11 } stmia  r11 !,{ r0-r9 }- 在它的新地址跳到 ROMmov pc, r12PtInitTableEBIDCD InitTableEBI PtInitRemapDCD InitRemap PtInitVectorDCD __main - 程序启动InitRemap在这种情况中, " MOV  pc , r12 " 指令在前面的“ STMIA ”执行以前,映射到地址 0 的外部引导 ROM 中取指。然后 " MOV pc , lr " 执行并且这跳到外部的引导区 ROM 的连接地址。/*******************************************************************在复位期间,BMS和NTRI须保持一个有效的电平。NTRI的输入电平决定了AT91X40进入正常模式还是三态模式。BMS告诉芯片引导程序的位置。        BMS                     启动模式         1      无片内NVM       外部8位的存储器(CS0)                有片内NVM       内部的32位NVM         0                     外部的16位存储器(CS0)看门狗引起的复位不重新检查BMS和NTRI的电平值。********************************************************************/          

 

本文来源:英蓓特信息技术有限公司    作者:
关于AT91X40 引导说明 的资讯
热点资讯(一周点击率)
热评博文
评一评已有 0 位网友对此文发表了看法。  我也来评一下

验证码:  看不清?换一张

 

快乐大本营
工程师之星
高福东
擅长嵌入式开发及单片机应用开发
  • 王波涛  熟悉单片机及其接口技术
  • 朱伟平  熟悉51单片机系统LCD驱动程序编写及调试。
热门招聘
论坛热贴