C6000系列DSP Flash二次加载技术研究

C6000系列DSP Flash二次加载技术研究,第1张

 

  TI公司C6000系列DSP具有强大的处理能力,在嵌入式系统中有着广泛的应用。由于程序在DSP内部存储器的运行速度远大于片外存储器的运行速度,通常需要将程序从外部加载到DSP内部运行。由于C6000系列DSP均没有片上非易失性存储器,而最常用的方式为采用非易失Flash存储器进行程序的存储和加载。然而,该系列DSP的推出是一个渐进的过程,其芯片内部结构随着上市时间的先后有着较大的不同,而TI公司没有给出统一的加载方式。针对该问题,本文全面研究了不同DSP芯片的加载方法与差异,并根据这些特点提出了通用的二次加载方法。

  1 TI公司提供的二次加载方法

  TI公司的DSP芯片二次加载的原理是一致的,加载步骤如下:

  ①通过一次加载将二次加载程序载入DSP片内或片外存储器;

  ②运行二次加载程序加载剩余的程序与数据来完成后续加载;

  ③跳转到主程序入口,完成加载。

  但是由于芯片内部结构不同,TI公司提供了不同的加载方法。根据程序与数据空间存储映射的不同,主要分为两类:分离存储映射的加载方式和混合存储映射的加载方式。

  1.1 分离存储映射的加载方式

  在TI公司最初推出的C6000 DSP中,程序与数据空间采用分离的存储映射方式,代表芯片为C6201和C6701。在这种方式下,程序空间与数据空间是分离的,片内程序空间只能在第一次加载时被写入;而在二次加载的过程中,只能对片内数据空间或外部存储空间进行访问。而且运行第一次加载程序时,就要将存放在Flash中首64 KB的数据全部搬入DSP程序空间中,而数据空间就需要二次加载来完成。二次加载的流程如图1所示。

  

C6000系列DSP Flash二次加载技术研究,第2张

 

  从图1中可知,采用这种加载方式存在如下问题:

  ①对程序大小有限制,二次加载程序与主程序总和不能大于64 KB,无法完成正确的加载。

  ②加载方式较不灵活,DSP内部的程序空间在第一加载后就无法更改,二次加载一般只能加载数据。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2445089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-03
下一篇 2022-08-03

发表评论

登录后才能评论

评论列表(0条)

保存