当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]C6000系列DSP Flash二次加载技术研究

引言
    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所示。


    从图1中可知,采用这种加载方式存在如下问题:
    ①对程序大小有限制,二次加载程序与主程序总和不能大于64 KB,无法完成正确的加载。
    ②加载方式较不灵活,DSP内部的程序空间在第一加载后就无法更改,二次加载一般只能加载数据。[!--empirenews.page--]
1.2 混合存储映射的加载方式
    继推出C6201和C6701后,TI公司又推出了程序与数据空间混合存储映射的DSP芯片。这种映射方式是当前C6000 DSP的主流,典型的芯片包括C6211、C6711、DM642、C6455等。在这些芯片中,程序空间与数据空间是统一编址的,程序与数据可以混放。在加载时,不论一次加载还是二次加载,均能访问DSP片内任意的存储空间。第一次加载程序首先将存放在Flash中首1 KB的数据搬入DSP内部存储器,然后运行二次加载程序,将后续的程序或数据搬入DSP片上存储器。加载的流程如图2所示。


    在该模式下,二次加载程序能够访问任意的DSP内部地址,突破了被加载程序长度的限制,具有更高的灵活性,因此TI公司后续的C6000芯片中均采用了该加载方式。

2 通用的二次加载方法
    由于内部存储映射方式的不同,C6201、C6701与其他C6000系列DSP芯片的二次加载方式有各自的特点,这在工程应用中带来了很多不便,因此需要将这些特点统一起来,建立通用的加载方法。下面介绍两种通用的二次加载方法:非结构化的加载方式和结构化的加载方式,分别对应于不同的应用场合。
2.1 非结构化的加载方式
    非结构化的加载方式是指在加载时直接将Flash中的数据搬运到DSP中,而不对这些数据进行解析。该方法非常简单,适合程序空间不大于DSP内部存储空间的应用场合。
    在生成可烧写到Flash中的文件时,首先将可执行文件通过调试接口下载到DSP内部(包括二次加载程序),然后将DSP内部存储器中的数据完全导出(内部存储器大小)。如果是C6201或C6701芯片,需要分别导出程序空间与数据空间的数据(分别为64 KB);如果是其他C6000芯片,则不用区分,导出连续的存储空间即可。然后采用转换软件将导出的数据转换为二进制可烧写文件,最后将数据文件按照固定的地址烧写到Flash中。生成流程如图3所示。

[!--empirenews.page--]
    加载时,二次加载程序不解析任何数据包结构,只将固定地址、固定长度的数据段加载到DSP内部空间。具体的加载流程如图4所示。


    该方法通用于两种不同存储映射的DSP芯片,使用前提是程序规模不超过片上存储器的大小(如C6701为64 KB,C6455为2 MB)。非结构化加载方式在生成烧写文件时,首先直接将DSP内部存储器的内容完全导出为数据文件,然后对该数据文件进行处理转换为二进制文件,最后将数据文件按照固定的地址烧写到Flash中。
    需要注意的是,对于C6201或C6701芯片,二次加载时仅加载数据文件,而其他C6000芯片则加载程序与数据混合的文件。非结构化的加载方式浪费了大量的空间,例如当程序与数据并没有使用DSP所有的内部空间时,仍然使用最大程序空间来生成烧写文件。
2.2 结构化的加载方式
    结构化加载方式是指在生成烧写文件的过程中对程序中的各种数据进行分类并添加结构,形成多个数据段,然后通过分析这些结构化的数据段进行加载。具体方法为:在生成烧写文件时采用TI公司提供的烧写文件生成工具hex6x.exe,将程序编译后生成的.out文件转换为相
应的结构化可烧写文件。生成过程如图5所示。在生成的结构化文件中主要包含了主程序入口、每个程序段的目标地址、长度以及结束标志等内容。加载流程如下:


    ①上电时,DSP通过EMIF接口将二次加载程序读入芯片内部;
    ②运行二次加载程序,对DSP的EMIF接口进行配置;
    ③解析Flash中结构化的程序数据,将主程序入口地址进行暂存;
    ④对数据段i(i=1,2,…,n)进行解析,首先获取数据段在DSP中的目的地址和数据段长度,然后从Flash中读取数据段内容,最后将数据段内容载入DSP中对应地址。
    ⑤循环执行步骤④,直到遇到结束标志为止。[!--empirenews.page--]
    ⑥读取暂存的主程序入口地址,二次加载程序跳转到该地址,完成加载。
    结构化方式的加载过程如图6所示。


    该方法对两种不同存储映射的DSP芯片通用,能够将程序段或数据段放置于DSP存储资源的任何位置,不区分片内或片外存储,同时没有程序段大小的限制;而且,在采用结构化的加载方式后,烧写文件的大小能够预先确定,从而有效利用Flash的存储空间。因此,采用结构化的加载方法具有良好的灵活性和扩展性,是二次加载的首选方法。
    需要注意的是,该方法不能用于C6201和C6701的片内程序加载(因为这些芯片上的程序空间在一次加载后无法更改),但是适用于放置于外部SRAM或SDRAM中的程序加载。

结语
    本文首先对C6000系列DSP芯片的二次加载方式进行了分析,指出了各种DSP芯片在二次加载时的特点与异同;然后从通用的角度出发,提出了非结构化的加载方式和结构化的加载方式,并介绍了这两种加载方法的特点与适用范围。本文提出的方法能够解决一大类C6000系列DSP芯片的二次加载问题,具有较高的工程价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭