新闻  |   论坛  |   博客  |   在线研讨会
《TMS320F281x Boot ROM Serial Flash Programming》(SPRAAQ2)——二
luge1983 | 2010-05-14 18:06:14    阅读:4462   发布文章




2 方法论

这里描述的过程,关键是:
● F281x引导ROM SCI-A方式
● 通讯内核与Flash API(CKFA)
● 你的应用代码(AppCode)

基本过程是:
● 在引导ROM控制下将CKFA由SCI传送到F281x内部RAM
● 在CKFA控制下将AppCode传送到F281x RAM并烧写到Flash

注意:
本应用报告中使用的CKFA代码源自《TMS320F2810,TMS320F2811 and TMS320F2812 Flash API》(以下简称《Flash API》)Flash API样例代码,因此,《Flash API》对API、随API提供的样例代码,以及本文档来说都是极佳的参考书。在修改CKFA源代码之前,务必详尽阅读《Flash API》。

2.1 将CKFA传送到F281x RAM

首先,通过引导ROM SCI-A方式将CKFA二进制文件传送到非安全RAM中的加载地址(Figure 2)。由于F281x可能处于加锁状态,因此CKFA代码必须首先从非安全RAM开始运行。更多信息,参考《TMS320x281x DSP System Control and Interrupts Reference Guide》(SPRU078)的代码安全模块(CSM)章节。

【Figure 2 将CKFA传送到RAM加载地址】

引导ROM代码一旦结束CKFA传输,就将控制权由F281x CPU转移给CKFA(Figure 3)。在CSM被解锁后,CKFA代码可以访问所有内部RAM和Flash。

【Figure 3 CKFA将自己传送到RAM运行地址】

CKFA代码使用的cmd文件定义了加载地址。如果解锁成功,CKFA代码将自己的主要部分从非安全RAM中的加载地址拷贝到安全RAM中的运行地址。如果解锁不成功,CKFA会将状态通过SCI发出来。

CKFA的目标不是使用安全RAM,而是使H0大RAM可用于上传AppCode。如果CKFA软件足够小,则它将被传送到M0/M1非安全RAM,并从那里执行。

2.2 传送应用代码并烧写

在CKFA代码开始执行并控制了目标DSP的SCI-A外设的情况下,应用代码的二进制文件被传送到4K word RAM buffer 1 (Figure 4). 这个buffer满了以后,开始Flash烧写,并且CKFA代码将应用代码的下一个4K word传送到RAM buffer 2 (Figure 5)。

【Figure 4 CKFA将AppCode传送到RAM buffer #1】

Flash API函数提供了一个call-back函数,当烧写Flash时,它允许SCI继续将数据传送到RAM。CKFA代码使用call-back函数功能烧写Flash:
● 当向RAM buffer 2传送下一个AppCode块时,从RAM buffer 1烧写Flash;
● 当向RAM buffer 1传送下一个AppCode块时,从RAM buffer 2烧写Flash;

当RAM buffer 1填满时,Flash烧写就开始了。当烧写Flash时,SCI的16级FIFO仍在持续的接收SCI字符,从而减少了总的烧写时间。

本应用文档中使用的方法要求对F2810的整个64K word空间都可以访问。这也适用于F2811和F2812的128K word Flash。Flash的所有地址都应可配置。因此,本文中的代码的Flash烧写开始地址,对于F2810都是固定的0x3E8000,对于F2811都是固定的0x3D8000。芯片的memroy map和Flash扇区参见附录A和附录B。

【Figure 5 CKFA开始Flash烧写】

2.3 烧写结束,定义应用代码的Entry Point

当烧写结束时,F281x程序计数器指向Flash的entry point(0x3F7FF6)(Figure 5与附录B)。DSP现在已经准备好运行烧写在Flash中的应用代码了。如果引导GPIO引脚被配置为Flash执行模式,则在重启后将运行这些代码(Figure 6)。

【Figure 6 Flash烧写结束】


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
技术心得、资料备忘、自翻译文档。
最近文章
NE555工作原理
2010-06-19 10:34:01
讲CMD格式的文档
2010-06-11 10:00:18
DSP/BIOS空间裁剪
2010-06-10 09:37:44
推荐文章
最近访客