TI C2000系列DSP Flash烧写解决方案 (Rev[1]. A)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1Q05
F28x CCS 插件烧写的一些经验
1. 在擦写的过程中意外或异端终止有可能造成Flash烧毁 2. 通常的非破坏性的错误操作不会影响到CSM,但是要注 3. 4. 5. 6. 7. 8.
1Q05
第三章: F28x Flash CCS插件
Code Composer Studio Plug-in 的特点: 完美的整合到CCS中,并且提供大量的TI在线帮助 开发特定的CCS Flash设备并且提供了多样的设定. 不需要关闭CCS和开关工具即可实现Flash烧写和设置 支持CCS2.2及以上版本
TI C2000 系列DSP FLASH 烧写解决方案
Rev. A
1Q05
综述
TI C2000系列DSP从硬件构架和开发环境上可以划分为 F28x,F240x,F240与F206几类.而Flash的烧写问题一直是 开发过程中,编程人员比较关注的问题. 本文从最后出现的F28x的Flash烧写方法开始,依次介绍这 三种DSP的Flash烧写的方法和步骤. 首先是详细介绍F28系列的烧写工具和方法 由于C2000系列DSP的烧写方法大同小异所以简要描述F240与 F206的烧写方法,并归纳和总结F240x烧写的一些经验 最后一部分以F2812为例介绍用户自定义的嵌入式Flash编程 (API)
1Q05
F28x Flash 流水线模式
Flash一般用于保护用户代码.为了改善代码执行性能, 采用了Flash流水线模式. 通过FOPT寄存器中的ENPIPE位控制流水线模式使能 该模式独立于CPU流水线 该模式下使用了预取机能,减少了Flash对整个代码执 行过程的影响. 改善了FLASH代码执行效率.
1Q05
F28x Flash的电源模式
复位和休眠状态—复位状态,最低功耗 待机状态– CPU读和取指访问都将暂停CPU 激活或读状态– 最大功耗 变为低功耗:改变PWR模式位 变为高功耗:改变FPWR寄存器 通过读访问或程序取指操作
1Q05
F28x Flash的访问
CPU对FLASH的读或取指操作有如下形式: 32位取指指令 16位或32位数据空间读操作 16位程序空间读操作 存储器访问类型: Flash存储器随机访问 Flash存储器页访问 NOTES:对存储器应先取得写操作被忽略 保护后读操作是正常的周期但返回0 支持零等待访问但CPU需要适应访问时间
1Q05
F28x CCS插件的功能框图
1Q05
F28x CCS 插件的安装
1.安装CCS C2000V2.2
2. 安装2.2 to 2.21补丁 C2000-2.20.00-FULL-toC2000-2.21.00-FULL 3. 安装C2000-2.00-SA-to-TI-FLASH2x到CCS目录. 4. 设置好CCS,打开CCS系统自动提示发现插件点击确 认使插件生效.
1Q05
F28x Flash的存储器映像
地址范围 0x3D8000-0x3D9FFF 0x3DA000-0x3DBFFF 0x3DC000-0x3DFFFF 0x3E0000-0x3E3FFF 0x3E4000-0x3E7FFF 0x3E8000-0x3EBFFF 0x3EC000-0x3EFFFF 0x3F0000-0x3F3FFF 0x3F4000-0x3F5FFF 0x3F6000-0x3F7FF6-0x3F7FF7 0x3D8000-0x3D9FFF 程序和数据空间 段J,8K*16 段I,8K*16 段H,16K*16 段G,16K*16 段F,16K*16 段E,16K*16 段D,16K*16 段C,16K*16 段B,8K*16 段A,8K*16 boot到Flash的入口处 (此处有程序分支) 安全密码(128位)
您必须是设备的合法使用者.Flash受CSM的保护. Flash的烧写必须处于非安全模式下(CSM unlock). – VDD3VFL管脚必须可靠接到3.3V电源上. Flash的编程和读出都需要这个电源,必须被连接. Notes: 当该电源未连接时,口线输出也有可能是3.3V. 而且某些TI评估板上在此处放置了跳线或未焊接的电阻 封装.因此必须通过相应测试切实保证这个电压正常.
1Q05
第一部分: TMS320F28x Flash 烧写指南
1Q05
第一章:F28x FLASH 特点和应用
这部分主要讲述以下几方面内容: F28x Flash的特点 F28x Flash的存储器映像 F28x Flash的电源模式 F28x Flash的访问 F28x Flash流水线 F28x Flash的寄存器
15 保留R-0 0 ENPIPE
位0 ENPIPE 使能流水线/流水线使能时等待状态必须大于0
1Q05
F28x Flash 寄存器
1. Flash选择寄存器FOPT 2. Flash电源寄存器FPWR 3. Flash状态寄存器FSTATUS 4. Flash待机等待寄存器FSTDBYWAIT 5. Flash待机到激活等待计数器寄存器FACTIVEWAIT 6. Flash等待状态寄存器FBANKWAIT
以上寄存器的设置,已经包含在相应的FLASH烧写工 具中.不在此详细介绍,可以通过TI的相关文档和 CCS中包含的用户手册进行查询.FLASH的烧写过程 不包括这些寄存器的设置,对参数设置的过程实际上 就是通过TI或第三方软件对寄存器的设置.
1Q05
第二章: F28x Flash烧写基础
本部分主要讲述以下几方面内容: Flash烧写的硬件条件 Flash算法相关描述 Flash的烧写步骤 -擦写操作 -编程操作
1Q05
F28x CCS 插件的调用
1. 点击tools
F28xx On Chip Flash Programmer.
2. 点击插件图标.
1Q05
F28x CCS 插件的界面
1Q05
F28x CCS 插件的API设置
图中所示的API为经过确 认的版本,而不是beta版 如果没有这个版本,则说 明下载的插件版本不够新 可能无法正常烧写F281x
F2812存储器区段地址
1Q05
F28x Flash的存储器映像
地址范围 0x3E8000-0x3EBFFF 0x3EC000-0x3EFFFF 0x3F0000-0x3F3FFF 0x3F4000-0x3F5FFF 0x3F6000-0x3F7FF6-0x3F7FF7 0x3D8000-0x3D9FFF 程序和数据空间 段E,16K*16 段D,16K*16 段C,16K*16 段B,8K*16 段A,8K*16 boot到Flash的入口处 (此处有程序分支) 安全密码(128位)
1Q05
F28x Flash 执行算法的一般要求
F281x的设备编程以后是通过时间边缘算法 (time-critical algorithms)在DSP上执行的 这个算法包含一个时间边缘的延时环 这个算法必须在单周期的SARAM中执行 必须根据DSP的时钟频率来设置这个算法 为了保证程序可以正确执行,应该在系统最快的时 钟频率上执行这个算法 这个算法绝对不能使用中断 这个算法是FLASH编程的基本构架算法,它可以通过 相应的插件,工具或自行编写的API程序实现.以上是 Flash烧写的基本要求.
1Q05
F28x Flash 烧写的硬件条件
具备什么样的硬件条件才可以进行烧写 Flash操作 – Flash必须是完好的.
Flash有可能因为意外导致毁坏,比如在擦写过程中断电 或死机.此时虽然DSP程序可以在RAM中运行但是除非 更换DSP,否则无法再进行Flash烧写.
– CSM必须是可用的.
F2810存储器区段地址
1Q05
F280x 与F281x 在Flash上的差别
F280x与F281x在Flash的结构和烧写的方法上是完全相同不同点如下: 从容量来说是依次减小的,同时段的长度也是不断变化 F2808: 64K X 16 Flash F2806: 32K X 16 Flash
F2801: 16K X 16 Flash API的算法和配置是不同的,并且相互之间不兼容性 其他相关内容请参照相对应的用户手册,本文以F281x为主
Flash擦写操作的相关描述 编程操作使Flash中某些特定的位变成0 编程操作不能使某一个位由0变成1 编程操作可以对FLASH和OTP进行操作 编程操作每次操作是针对16位中的一位进行
1Q05
F28x Flash 烧写方法概述
TI及其第三方提供的烧写软件主要有两种: 一个是TI提供的TMS320C2000 Code Composer Studio on-chip Flash programmer plug-in.其最新 版本是1.1102.发行日期是2005-1-11,可以从TI网站 上下载或者向SEED索取.() 另一个工具是Spectrum Digital公司提供的SDFlash. 这个软件在TI的CCS插件推出之前比较受欢迎,但是有 了上面更方便的插件以后因为使用的限制用得比较少. 其最新版本是1.63.包含在CCS2.21以上的版本中,当 然也可以单独下载升级包进行安装.可以从其官方网站 或者向SEED索取.() 接下来的两章分别介绍这两种工具的使用.
1Q05
F28x CCS 插件烧写步骤
Step 4 : 编译这个文件以生成插件可识别的COFF文件 Step 5 : 打开CCS插件,设置时钟和相关内容 Step 6 : 配置插件的API Step 6 : 测试时钟和工作频率 Step 7 : 选择需要擦写的段 Step 8 : 选择擦写,编程,效验的集合操作 Step 9 : 选择执行操作等待插件自动执行烧写过程 设置硬件跳线 GPIOF4_SCITXDA 为高(硬件已设置好), 则上电后,复位矢量直接跳转到flash处执行 至此一个使用Flash的烧写全过程就执行完了,在去掉仿 真器的情况下上电程序就可以自动执行了.
1Q05
F28x Flash 的擦写操作
Flash擦写操作的相关描述 Flash的出厂设置是已经擦写过的状态.也就是所有 Flash段中的位都是1. 这个擦写算法是将一个段中所有的位都置1. 一次可以擦写的最小内存单元是一个段. 擦写操作只适用于Flash,OTP不能进行擦写.
1Q05
F28x Flash 的编程操作
1Q05
F28x CCS 插件的频率设定
1Q05
F28x CCS 插件会自动停止必须通过用户手动停止(后面 API的相关部分在使用时也存在同样的问题)
1Q05
F28x CCS 插件的烧写步骤
现在描述一下如何通过CCS插件完成一个程序的烧写 Step 1 : 选择一个工程.这个工程应该是调试通过的,并 且可以在CCS调试状态下正常运行. Step 2 : 对这个工程的CMD文件进行增加Flash的内存分 配的内容.最好同时编制两份CMD文件:一份给烧写 Flash用,一份仿真和试验使用. Step 3:需要时对工程的文件进行修改,增加Flash API, 程序搬移等文件.以扩展程序的有效运行和应用.
1Q05
F28x Flash 编程算法的操作
Flash烧写的操作包括如下两个基本步骤: 擦写 擦写算法的执行结果通常是将FLASH的一个段中的所 有的位都置成1. 这个擦写算法包含以下3个步骤: 1. 擦除:将一个段中所有的位都置0. 2. 擦写:将一个段中所有的位都置1. 3. 效验:纠正所有耗尽的位,保证所有位都变成1. 编程 编程算法的执行结果是将应用代码或数据中的特定位 改写成0.
1Q05
F28x Flash的特点
◇F2812片内FLASH 128K,地址为3D8000h-3F7FFFh. F2810片内FLASH 64K,地址为3E8000h-3F7FFFh. ◇即可映像到程序空间,也可映像到数据空间. ◇采用分区操作可单独擦写某一个区段. ◇可以通过单独的,可改善性能的Flash流水线进行操作. ◇基于CPU频率可进行调整的等待周期. ◇低功耗模式. ◇受代码安全模块CSM的保护.
相关文档
最新文档