保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

在MPC555中实现从RAM的快速引导


  
  如果程序被烧录到微处理器的内部ROM,可以通过MPC555的特有功能——双重映射法把内部FLASH的地址映射到外部RAM,以实现快速引导运行。在使能双重映射功能时,内部FLASH区对应的地址不起作用,而映射的外部RAM区地址起作用。
  
  具体操作时,首先把程序烧录到内部FLASH,然后在上电时把程序从内部FLASH拷贝到外部RAM,最后再使能微处理器的双重映射功能。这样,程序就可以在外部RAM中运行了。图1所示是其流程图。具体的程序代码如下:
  
  INTVectors?
  
  /*系统复位*/
  
  .skip0x0100?.INTVectors?
  
  start?
  
  #/*设置RAM和ROM存储区*/
  
  #/*OR2=0xFFF00000片选RAM大小1M*/
  
  lisr5?0xfff0
  
  orir5?r5?0x0000
  
  lisr4?OR2@ha
  
  stwr5?OR2@l?r4?
  
  #/*BR2=0x0400003RAM基址0X400000
  
  32位口大小*/
  
  lisr5?0x40
  
  orir5?r5?0x0003
  
  lisr4?BR2@ha
  
  stwr5?BR2@l?r4?
  
  #/*拷贝内部Flash到外部RAM*/
  
  lir6?0x0
  
  lisr4?0x40
  
  orir4?r4?0x0000
  
  lisr5?0xfff0
  
  orir5?r5?0x0
  
  loop1?
  
  lhzxr7?r6?r5
  
  sthxr7?r6?r4
  
  addir6?r6?0x2
  
  lir8?0xb00
  
  cmpr6?r8
  
  bneloop1
  
  #/*使CS2的片选区无效*/
  
  #/*BR2=0x0400003基本寄存器2*/
  
  lisr5?0xfff0
  
  orir5?r5?0x0000
  
  lisr4?BR2@ha
  
  stwr5?BR2@l?r4?
  
  #/*双重映射使能*/
  
  #/*DMOR=0xFFF00000片选双重映射区
  
  大小256k*/
  
  lisr5?0x7000
  
  orir5?r5?0x0000
  
  lisr4?OR2@ha
  
  stwr5?OR2@l?r4?
  
  #/*DMBR=0x0400003双重映射区基址
  
  0X032位口大小*/
  
  lisr5?0x0
  
  orir5?r5?0x0005
  
  lisr4?BR2@ha
  
  stwr5?BR2@l?r4?
  
  baINTInitialize
  
  …
  
  3.2复制法
  
  对于与MPC500同系列中的MPC561和MPC562等芯片,由于微处理器内部没有ROM,所以必须外扩ROM。在这种情况下,可以把程序烧录到外部ROM,然后在上电时再把程序从外部ROM拷贝到外部RAM中,从而使程序能够在外部RAM中运行。以MPC555为例的流程图如图2所示。
  
  在这种方法中,程序仅在重新配置存储区前运行在外部ROM,而在重新配置存储区后运行在外部RAM中,因此提高了程序的运行速度。该方法在操作时,首先把程序用仿真器烧录到外部FALSH,入口地址为0xfff00000,然后脱机运行。本例中,外部FLASH是16位总线,外部RAM是32位总线。下面以MPC555为例给出具体程序代码。
  
  INTVectors?
  
  /*系统复位*/
  
  .skip0x0100-?.-INTVectors?
  
  start?
  
  #/*设置RAM和ROM存储区*/
  
  #/

《在MPC555中实现从RAM的快速引导(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/165356.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。