写器无法写入数据。为了解决这个问题,采用仿真器在线编程方式将引导装载表数据写入Flash,它具有节约开发成本、减小器件尺寸、编程灵活的特点。 对于图2a所示的系统,在仿真器仿真状态下,将引导装载表读入DSP数据区的0000h~7FFFh空间,然后使用Flash在线编程方法将数据写入Flash中,最后在Flash的FFFFh处写入引导装载表在Flash中的起始地址。编程完毕,复位系统即可实现装载过程。 对于图2(b)所示的系统,仿真器在线编程则要复杂得多。由于在仿真状态下,程序空间与Flash的0页空间重叠,Flash的0页被屏蔽,程序无法操作到Flash的存储空间。为此,程序将Flash的0页空间作为“虚拟扩展程序空间”,以便程序写入引导装载表。具体实现过程是:设置外部控制信号=1,此时译码电路将A18地址线信号取反,虚拟扩展程序空间开放。Flash的0页空间虚拟成为扩展程序空间的040000h~04FFFFh空间。这样,仿真器在线编程040000h~04FFFFh空间即相当于对Flash的0页编程。编程完毕后,设置外部控制信号=0,复位系统后即可实现装载过程。 本文分析了TMS320VC5402的引导装载程序的装载过程,给出了两个经常使用的外部并行装载典型电路。针对两个典型电路设计了仿真器在线编程装载方法。利用此方法实现了一个以128K×16bit的SRAM作为程序和数据空间,以1M×16bit的Flash作为扩展程序空间和系统程序代码存储器的系统。该系统无需Flash烧写器进行Flash数据写入,并且完全利用了TMS320VC5402的全部存储空间,充分发挥了DSP的效能。 |