TI C2000系列DSP FLASH烧写解决方案.ppt
《TI C2000系列DSP FLASH烧写解决方案.ppt》由会员分享,可在线阅读,更多相关《TI C2000系列DSP FLASH烧写解决方案.ppt(69页珍藏版)》请在三一办公上搜索。
1、TI C2000 系列DSP FLASH 烧写解决方案,Ver A.,综述,TI C2000系列DSP从硬件构架和开发环境上可以划分为F28x、F240 x、F240与F206几类。而Flash的烧写问题一直是开发过程中,编程人员比较关注的问题。本文从最后出现的F28x的Flash烧写方法开始,依次介绍这三种DSP的Flash烧写的方法和步骤。首先是详细介绍F28系列的烧写工具和方法 由于C2000系列DSP的烧写方法大同小异所以简要描述F240与F206的烧写方法,并归纳和总结F240 x烧写的一些经验 最后一部分以F2812为例介绍用户自定义的嵌入式Flash编程(API),第一部分:TM
2、S320F28x Flash 烧写指南,第一章:F28x FLASH 特点和应用,这部分主要讲述以下几方面内容:F28x Flash的特点F28x Flash的存储器映像F28x Flash的电源模式F28x Flash的访问F28x Flash流水线F28x Flash的寄存器,F28x Flash的特点,F2812片内FLASH 128K,地址为3D8000h-3F7FFFh。F2810片内FLASH 64K,地址为3E8000h-3F7FFFh。即可映像到程序空间,也可映像到数据空间。采用分区操作可单独擦写某一个区段。可以通过单独的、可改善性能的Flash流水线进行操作。基于CPU频率可
3、进行调整的等待周期。低功耗模式。受代码安全模块CSM的保护。,F28x Flash的存储器映像,F2812存储器区段地址,F28x Flash的存储器映像,F2810存储器区段地址,F280 x 与F281x 在Flash上的差别,F280 x与F281x在Flash的结构和烧写的方法上是完全相同不同点如下:从容量来说是依次减小的,同时段的长度也是不断变化 F2808:64K X 16 Flash F2806:32K X 16 Flash F2801:16K X 16 FlashAPI的算法和配置是不同的,并且相互之间不兼容性其他相关内容请参照相对应的用户手册,本文以F281x为主,F28x
4、Flash的电源模式,复位和休眠状态复位状态、最低功耗待机状态 CPU读和取指访问都将暂停CPU激活或读状态 最大功耗变为低功耗:改变PWR模式位变为高功耗:改变FPWR寄存器 通过读访问或程序取指操作,F28x Flash的访问,CPU对FLASH的读或取指操作有如下形式:32位取指指令16位或32位数据空间读操作16位程序空间读操作存储器访问类型:Flash存储器随机访问Flash存储器页访问NOTES:对存储器应先取得写操作被忽略 保护后读操作是正常的周期但返回0 支持零等待访问但CPU需要适应访问时间,F28x Flash 流水线模式,Flash一般用于保护用户代码。为了改善代码执行性
5、能,采用了Flash流水线模式。通过FOPT寄存器中的ENPIPE位控制流水线模式使能该模式独立于CPU流水线该模式下使用了预取机能,减少了Flash对整个代码执行过程的影响。改善了FLASH代码执行效率。,位0 ENPIPE 使能流水线/流水线使能时等待状态必须大于0,F28x Flash 寄存器,Flash选择寄存器FOPTFlash电源寄存器FPWRFlash状态寄存器FSTATUSFlash待机等待寄存器FSTDBYWAITFlash待机到激活等待计数器寄存器FACTIVEWAITFlash等待状态寄存器FBANKWAIT 以上寄存器的设置,已经包含在相应的FLASH烧写工具中。不在此
6、详细介绍,可以通过TI的相关文档和CCS中包含的用户手册进行查询。FLASH的烧写过程不包括这些寄存器的设置,对参数设置的过程实际上就是通过TI或第三方软件对寄存器的设置。,第二章:F28x Flash烧写基础,本部分主要讲述以下几方面内容:Flash烧写的硬件条件Flash算法相关描述Flash的烧写步骤-擦写操作-编程操作,F28x Flash 烧写的硬件条件,具备什么样的硬件条件才可以进行烧写 Flash操作Flash必须是完好的。Flash有可能因为意外导致毁坏,比如在擦写过程中断电或死机。此时虽然DSP程序可以在RAM中运行但是除非更换DSP,否则无法再进行Flash烧写。CSM必须
7、是可用的。您必须是设备的合法使用者。Flash受CSM的保护。Flash的烧写必须处于非安全模式下(CSM unlock)。VDD3VFL管脚必须可靠接到3.3V电源上。Flash的编程和读出都需要这个电源,必须被连接。Notes:当该电源未连接时,口线输出也有可能是3.3V。而且某些TI评估板上在此处放置了跳线或未焊接的电阻封装。因此必须通过相应测试切实保证这个电压正常。,F28x Flash 执行算法的一般要求,F281x的设备编程以后是通过时间边缘算法(time-critical algorithms)在DSP上执行的 这个算法包含一个时间边缘的延时环 这个算法必须在单周期的SARAM中
8、执行 必须根据DSP的时钟频率来设置这个算法 为了保证程序可以正确执行,应该在系统最快的时钟频率上执行这个算法 这个算法绝对不能使用中断 这个算法是FLASH编程的基本构架算法,它可以通过相应的插件、工具或自行编写的API程序实现。以上是Flash烧写的基本要求。,F28x Flash 编程算法的操作,Flash烧写的操作包括如下两个基本步骤:擦写 擦写算法的执行结果通常是将FLASH的一个段中的所有的位都置成1。这个擦写算法包含以下3个步骤:擦除:将一个段中所有的位都置0。擦写:将一个段中所有的位都置1。效验:纠正所有耗尽的位,保证所有位都变成1。编程 编程算法的执行结果是将应用代码或数据中
9、的特定位改写成0。,F28x Flash 的擦写操作,Flash擦写操作的相关描述Flash的出厂设置是已经擦写过的状态。也就是所有Flash段中的位都是1。这个擦写算法是将一个段中所有的位都置1。一次可以擦写的最小内存单元是一个段。擦写操作只适用于Flash,OTP不能进行擦写。,F28x Flash 的编程操作,Flash擦写操作的相关描述编程操作使Flash中某些特定的位变成0编程操作不能使某一个位由0变成1编程操作可以对FLASH和OTP进行操作编程操作每次操作是针对16位中的一位进行,F28x Flash 烧写方法概述,TI及其第三方提供的烧写软件主要有两种:一个是TI提供的TMS3
10、20C2000 Code Composer Studio on-chip Flash programmer plug-in。其最新版本是1.1102。发行日期是2005-1-11,可以从TI网站上下载或者向SEED索取。(www.TI.com)另一个工具是Spectrum Digital公司提供的SDFlash。这个软件在TI的CCS插件推出之前比较受欢迎,但是有 了上面更方便的插件以后因为使用的限制用得比较少。其最新版本是1.63。包含在CCS2.21以上的版本中,当 然也可以单独下载升级包进行安装。可以从其官方网站 或者向SEED索取。()接下来的两章分别介绍这两种工具的使用。,第三章:F
11、28x Flash CCS插件,Code Composer Studio Plug-in 的特点:完美的整合到CCS中,并且提供大量的TI在线帮助 开发特定的CCS Flash设备并且提供了多样的设定。不需要关闭CCS和开关工具即可实现Flash烧写和设置支持CCS2.2及以上版本,F28x CCS插件的功能框图,F28x CCS 插件的安装,1.安装CCS C2000V2.2 2.安装2.2 to 2.21补丁C2000-2.20.00-FULL-to-C2000-2.21.00-FULL3.安装C2000-2.00-SA-to-TI-FLASH2x到CCS目录。4.设置好CCS,打开CCS
12、系统自动提示发现插件点击确认使插件生效。,F28x CCS 插件的调用,点击toolsF28xx On Chip Flash Programmer。点击插件图标。,F28x CCS 插件的界面,F28x CCS 插件的API设置,图中所示的API为经过确认的版本,而不是beta版如果没有这个版本,则说明下载的插件版本不够新可能无法正常烧写F281x,F28x CCS 插件的频率设定,F28x CCS 插件频率配置的测试,NOTE:ToggleTest 不会自动停止必须通过用户手动停止(后面API的相关部分在使用时也存在同样的问题),F28x CCS 插件的烧写步骤,现在描述一下如何通过CCS插
13、件完成一个程序的烧写Step 1:选择一个工程。这个工程应该是调试通过的,并且可以在CCS调试状态下正常运行。Step 2:对这个工程的CMD文件进行增加Flash的内存分配的内容。最好同时编制两份CMD文件:一份给烧写Flash用,一份仿真和试验使用。Step 3:需要时对工程的文件进行修改,增加Flash API、程序搬移等文件。以扩展程序的有效运行和应用。,F28x CCS 插件烧写步骤,Step 4:编译这个文件以生成插件可识别的COFF文件Step 5:打开CCS插件,设置时钟和相关内容Step 6:配置插件的APIStep 6:测试时钟和工作频率Step 7:选择需要擦写的段Ste
14、p 8:选择擦写、编程、效验的集合操作Step 9:选择执行操作等待插件自动执行烧写过程设置硬件跳线 GPIOF4_SCITXDA 为高(硬件已设置好),则上电后,复位矢量直接跳转到flash处执行至此一个使用Flash的烧写全过程就执行完了,在去掉仿真器的情况下上电程序就可以自动执行了。,F28x CCS 插件烧写的一些经验,在擦写的过程中意外或异端终止有可能造成Flash烧毁通常的非破坏性的错误操作不会影响到CSM,但是要注意SCM也在Flash,不要将此段地址烧入内容不要试图将Flash所有位置0,这样CSM将永远是安全的也就是说该芯片不能再调试和编程通常Flash毁坏DSP依然可以进行
15、不牵扯Flash的仿真和调试CCS插件有时候会出现死机。但并不意味着Flash已经毁坏通过再次或不同环境下的烧写有可能挽救和恢复绝对不可以在烧写过程中断电烧写过程中不要试图运行程序对Flash自由等待和页等待的设置可以提高Flash执行速度,理论最大120Mhz。,关于F28x CCS 插件,除了上述问题外CCS插件因为软硬件bug还可能出现一些意料不到的问题。以下列举了一些常见的不正常状况和相应的解决方法。1.上电初始CCS处于运行状态烧写时出现错误提示不能正常进行。-Flash本身已经有程序,需停止后再进行烧写。2.烧写过程中程序死在擦除状态,关掉CCS插件再开状况依旧。-硬件重新上电并重
16、启CCS,同时移除所有断点。3.在没有非法操作时出现Flash不能正常Unlock。-通常需要在其他系统中重新烧写一次Flash后,插件恢复正常。4.烧写过程中出错并且无法正常进行。-按上述1-3步骤进行,同时需要检查硬件电压和软件版本支持。5.烧写完成但是程序运行错误或者过度缓慢。-需要关注相应的设置和系统是否处于正常状态。必要时有可能需要重新安装CCS和插件,第四章 SDflash,SDFlash烧写工具的特点:SDFlash是Spectrum Digital公司推出的Flash编程接口SDFlash不依赖于CCS可以独立的运行。只需要连接设备的JTAG 仿真器上电就可以进行 JTAG 编
17、程不支持USB仿真器工程的组织形式与CCS略有不同适合于大批量芯片的烧写,SDFlash的功能框图,SDflash 工程,SDFlash工程由文本文件用储存用户的擦写和编程设置,通过 SDFlash GUI 界面可以观看和编辑SDFlash工程在TI的例程中包含了算法文件在自建工程时可以借用,SDflash 设置-目标,SDflash 设置-擦写,SDflash 设置-编程,SDflash 频率配置,在SDFlash28x_Wrapper.h中进行PLLCR 的相关设定通过修改 Flash281x_API_Config.h进行CPU频率的设定重建算法文件关闭CCS运行频率触发测试来检验CPU频
18、率设置,CCS中的SDFlash JTAG算法工程,SDflash 频率配置2,SDflash 的操作步骤,打开工程/新建工程。新建工程时算法文件和各项设定参考TI提供的例程,一步一步的建立Programming Setting参照前几页的叙述将擦写、编程、效验各个参数设置好点击DeviceFlash选择所需操作点击Start 由此可见在参数都设置好的情况下,当有大量芯片需要烧写时不必每次都开关CCS。这也是SDFlash的一大优势。但是在程序调试过程中还是推荐通过插件来进行。,SDflash 的一些经验,在设置时最好参照TI的例程烧写28时为了免除麻烦最好直接下载最新的版本当CPU不能复位时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TI C2000系列DSP FLASH烧写解决方案 C2000 系列 DSP FLASH 解决方案
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2820603.html