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

TMS320C5410烧写Flash实现并行自举引导


h内部的编程或擦除算法可自动完成编程或擦除操作,但我们必须了解其内部的操作检测机制,以便知道操作是否完成或正确。常用检测的状态位有:跳变位(DQ6)、超时标志位(DQ5)、数据查询位(DQ7)和Ready/Busy引脚(RY/)。检测的方法有三种。第一种是判断引脚RY/的状态,在编程、擦除或擦除挂起操作过程中,RY/引脚一直为"0",操作完成后变为"1"。第二种是检测跳变位DQ6,在编程或擦除时对任何地址进行连续的读均引起DQ6连续跳变,直至操作结束才停止跳变。最后一种是使用数据线的DQ7、DQ5:DQ7位在编程或擦除过程中输出的数是写入该位数据的反码,当操作完成时输出才变为写入该位的数据;DQ5的状态为"1"时表示操作超时,此时应再读一次DQ7的状态,若DQ7输出仍不是写入的数据,则操作失败,复位Flash,其流程如图1所示。
  
  检测程序如下:
  
  _JUDGE.macropar,pdr;检测宏程序。par是编程地址寄存
  
  ;器,pdr是存放编程数据的寄存器
  
  _JUDGEBEGIN?:PSHMAR1
  
  LDpdr,B;获取写入的数据
  
  AND#00FFh,B;取被写入数据的DQ7~DQ0
  
  LDpar,A;读被烧写地址的数据
  
  AND#00FFh,A;取DQ7~DQ0
  
  STLA,TEMP;保存
  
  LDA,-7,A;读DQ7状态
  
  XORB,-7,A;是否是反码?
  
  BC_JUDGESUCCESS?,AEQ
  
  ;DQ7不是反码而是写入数据表示操作成功
  
  BITFTEMP,#20h
  
  BC_JUDGEBEGIN?,ntc
  
  ;DQ5=1表示操作超时
  
  LDpar,A;再读被烧写地址的数据
  
  AND#00FFh,A
  
  LDA,-7,A
  
  XORB,-7,A
  
  BC_JUDGESUCCESS?,AEQ
  
  ;DQ7不是写入数据,表示操作失败
  
  _JUDGEERRO?
  
  _RESETFlash;复位Flash
  
  _JUDGESUCCESS?
  
  POPMAR1
  
  .endm
  
  2C5410的自举引导
  
  脱离仿真器独立运行程序一般有两种方式:一种是上电后用户程序直接在Flash存储器中运行,这种运行速度比较慢;另一种是上电或复位后将用户程序从Flash存储器引导到高速数据存储器中运行,此方法最常用,可以较低的成本实现高速的运行。为了实现这个过程就必须运用DSP自举引导功能。
  
  (1)自举引导
  
  C5410上电复位后,首先检查MP/MC状态:如果为高电平,说明DSP处于微处理器工作方式,即从外部程序存储器0FF80H地址开始执行用户程序;若为低电平,说明DSP被设置为微计算机工作方式,从片内ROM的0FF80H地址开始执行程序。0FF80H地址存放的是中断向量表,它实为一条分支转移指令(BD0F800H),使程序跳转至0F800H执行自举引导程序(Bo

《TMS320C5410烧写Flash实现并行自举引导(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174622.html

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