




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档基于FLASH的TMS320C6416 DSP ROM加载方法摘要:简单介绍TMS320C6416的引导方法。通过CCS把用户的应用程序烧到FLASH中。当DSP复位时引导装载程序装载位于FLASH的前1KB中的二次引导程序放在DSP的存储器0处。传输完成后DSP从0地址开始执行程序 ,二次引导程序加载用户应用程序。关键词:DSP 闪烁存储器 二次引导装载 Rom Boot Method of TMS320C6416 Dsp Based on Flash WANG Min-zhi ,CAO yuan-jiang ,CHEN Xing-hu(Nanjing Marine Radar In
2、stitute, Nanjing 210003, China)Abstract: This paper introduces the characteristics and the program method of the dspTMS320C6416.The program is written to the flash by the CCS.The second bootloador program which is in the first 1KB of the flash is transferred to memory located at the address 0.At the
3、 end of the transfer,the CPU remove from the reset and start from memory location 0,then,the second bootloador program boots the users program.Keyword: DSP; flash; second bootloador1、 引言对于TI公司C6000系列DSP的ROM加载过程是:位于CE1空间的ROM中的代码首先通过DMA/EDMA被搬入地址0开始的内部存储器。加载过程在复位信号撤消之后开始 ,此时CPU内部保持复位状态 ,由DMA/EDMA执行1个单
4、帧的数据块传输。传输完成后 ,CPU退出复位状态 ,开始执行地址0处的指令。对于C62x/C67x ,用户可以指定外部加载ROM的存储宽度 ,EMIF会自动将相邻的8bit/16bit数据合成为32bit的指令。对C620x/C670x,ROM中的程序必须按little-endian的存储模式存储;对C621x/C671x,ROM中的程序存储格式应当与芯片的endian模式设置一致。C64x只支持8bit的ROM加在 ,ROM中的程序存储格式需要与芯片的endian模式设置一致。对于不同的芯片 ,加载过程还略有不同。 对C620x/C670x,DMA从CE1空间中拷贝64KB数据到地址0处 对
5、C621x/C671x/C64x,EDMA从CE1空间(对C64x是EMIFB的CE1空间)中拷贝1KB数据到地址0处 图1 TMS320C6000 ROM BOOT 过程2、 TMS320C6416芯片的性能特点TMS320C6416是TI公司最新推出的高性能定点DSP ,其时钟频率可达720MHz ,最高处理能力为5760MIPS ,软件与C62X完全兼容 ,采用先进的甚长指令结构(VLIW)的DSP内核有6个ALU(32/40bit) ,每个时钟周期可以执行8条指令 ,所有指令都可以条件执行。该DSP具有Viterbi译码协处理器(VCP)和Turbo译码协处理器(TCP);采用两级缓存
6、结构 ,一级缓存(L1)由128Kbit的程序缓存和128Kbit的数据缓存组成 ,二级缓存(L2)为8Mbit;有2个扩展存储器接口(EMIF) ,一个为64bit(EMIFA) ,一个为16bit(EMIFA) ,可以与异步存储器(SRAM、EPROM)或同步存储器(SDRAM、SBSRAM、ZBTSRAM、FIFO)实现无缝连接 ,最大可寻址空间为1280MB;具有扩展的直接存储器访问控制器(EDMA) ,可以提供64条独立的DMA通道;主机接口(HPI)总线宽度可由用户配置(32/16bit) ,具有32bit/33MHz ,3.3V的PCI主/从接口 ,该接口符合PCI标准2.2版
7、,有3个多通道串口(McBSPs) ,每个McBSPs最多可支持256个通道 ,能直接与T1/E1、MVIP、SCSA接口 ,并且与Motorola的SPI接口兼容 ,片内还有一个16位的通用输入输出接口(GPIO)。3、 SST39VF160的主要特点及编程方法SST39VF160是SST公司新推出的1M16位产品 ,具有以下主要特点:(1)支持单电源操作 ,可分为满负荷电压供电(2.7V3.6V)和电压范围可调节(3.0V3.6V)供电两种方式。满负荷电压供电压供电方式主要用于电池供电的应用中 ,而电压范围可调节供电方式直接与3.3V的高性能DSP接口 ,简化了系统的电源要求。(2)最快的
8、存取速度高达70ns ,CMOS工艺 ,具有100000次写入/擦写寿命,数据可保持100年不丢失。(3)低功耗(4uA的自动休眠电流 ,4uA的待命电流 ,15mA的编程/擦除电流)。(4)灵活的块结构支持整片擦除、块擦除。段擦除18ms ,块擦除18ms ,整片擦除70ms,字编程14us。(5)数据查询位和数据切换位 ,可以通过软件方法检测编程/擦除操作的状态。(6)Ready/Busy#管脚 ,可以通过硬件方法检测编程/擦除操作的状态。(7)内嵌的擦除/编程算法能自动对整个芯片或某几个块进行擦除编程操作。 4、通过CCS烧写FLASH的方法TI公司提供了一个烧写FLASH的软件 ,但是
9、那需要将程序编译后生成的OUT文件再转换成ROM格式;或者是先将应用程序编译后导出到一个二进制文件中 ,再通过CCS编程序从这个二进制文件中一个一个的读入并写进FLASH。笔者要介绍的方法与上述两个方法不同。根据SST39VF160的时序 ,编写一个搬运程序 ,注意与DSP的BOOT程序的区别 ,这里的搬运程序是将在CCS中打开的工程的内容原封不动的搬到FLASH中 ,如此完成FLASH的烧写。根据这个思想 ,需要编写两个工程:一个主程序工程(即用户应用程序 ,其中包括二次引导程序) ,一个搬运程序工程。搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间 ,以免覆盖。烧写时 ,同时打
10、开主程序和搬移程序的PROJECT ,先LOAD主程序 ,再LOAD搬移程序 ,然后执行搬移程序 ,烧写OK!该方法应该是最简单的方法 ,只要在搬运程序中合理的调用下面列出的子程序 ,即可完成FLASH的擦除与编程。图2 片擦除和编程命令流程图1)、FLASH擦除子程序 FLASH编写之前 ,应对FLASH进行擦除 ,使其每个数据位恢复1状态 ,即全FF状态。void erase_flash() *(unsigned volatile char*)FLASH_ADR1=0x00aa; *(unsigned volatile char*)FLASH_ADR2=0x0055; *(unsigned
11、 volatile char*)FLASH_ADR1=0x0080; *(unsigned volatile char*)FLASH_ADR1=0x00aa; *(unsigned volatile char*)FLASH_ADR2=0x0055; *(unsigned volatile char*)FLASH_ADR1=0x0010; delay(); 这里FLASH_ADR1代表0x64005555、FLASH_ADR2代表0x64002AAA。2)、FLASH单字编程子程序void Program_One_Word (BYTE SrcWord, BYTE *Dst) BYTE *Dest
12、Buf; BYTE *Temp; DestBuf = Dst;Temp = (BYTE *)(WORD)FLASH_START+(0x5555); /* set up address to be 6400:5555h */ *Temp = 0xAA; /* write data 0xAAAA to the address */ Temp = (BYTE *)(WORD)FLASH_START+(0x2AAA); /* set up address to be 6400:2AAAh */ *Temp = 0x55; /* write data 0x5555 to the address */ T
13、emp = (BYTE *)(WORD)FLASH_START+(0x5555); /* set up address to be 6400:5555h */ *Temp = 0xA0; /* write data 0xA0A0 to the address */ *DestBuf = SrcWord; /* transfer the byte to destination */ Check_Toggle_Ready(DestBuf); /* wait for TOGGLE bit to get ready */void Check_Toggle_Ready (BYTE *Dst) BYTE
14、Loop = TRUE; BYTE PreData; BYTE CurrData; unsigned long TimeOut = 0; PreData = *Dst; PreData = PreData & 0x4040; while (TimeOutA4 | mvkl SOURCE_START,B4 ;flash start address -B4 mvkh CODE_START,A4 | mvkh SOURCE_START,B4 zero A1_boot_loop2: ldb *B4+,B5 mvkl CODE_SIZE,B6 ;B6 = BOOT_SIZE -1024 add 1,A1
15、,A1 ;A1+=1,inc outer counter | mvkh CODE_SIZE,B6 cmplt A1,B6,B0 nop stb B5,*A4+ B0 b _boot_loop2 nop 5 RESET_RST: mvkl .S2 _c_int00, B0 mvkh .S2 _c_int00, B0 B .S2 B0 nop 5结束语把程序烧写入Flash后 ,复位C6416 ,使用示波器测试定时器输出引脚 ,观察程序运行正确与否。通过上述方法可完成C6416对SST39VF160 Flash 的烧写 ,很好地实现了C6416上电后的用户程序自举引导功能。 参考文献:1TMS320C6000系列DSPs的原理与应用. 任丽香 马淑芬 李方慧编著 电子工业出版社2TMS320C6x Optimizing C Compiler Users Guide .Texas Instruments Incorporated,19993. TMS320C6x Assembly Language Tools Users Guide. Texas Instruments Incorporated,19994
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国茶碱缓释片市场发展状况及营销战略研究报告
- 2025-2030年中国纤维素醚市场十三五规划及发展建议分析报告
- 云南轻纺职业学院《商务谈判与销售管理》2023-2024学年第二学期期末试卷
- 廊坊师范学院《数字逻辑与数字系统A》2023-2024学年第二学期期末试卷
- 海南卫生健康职业学院《图案原理》2023-2024学年第二学期期末试卷
- 2025年陕西省安全员B证(项目经理)考试题库
- 大连财经学院《微机原理及接口技术B》2023-2024学年第二学期期末试卷
- 湖北财税职业学院《生物医学检验仪器》2023-2024学年第二学期期末试卷
- 浙江农林大学暨阳学院《素描(三)》2023-2024学年第二学期期末试卷
- 亳州职业技术学院《语言技能实训II》2023-2024学年第二学期期末试卷
- 第一章染整工厂设计
- 上虞市化工、印染企业名单-企业负责人信息及联系方式
- DL-T 736-2021 农村电网剩余电流动作保护器安装运行规程
- YS/T 431-2009铝及铝合金彩色涂层板、带材
- SB/T 10439-2007酱腌菜
- 与食品经营相适应的主要设备设施布局和操作流程文件
- 八年级数学下册-全一册-教学课件-(新版)浙教版
- 农产品电子商务培训资料课件
- 传热学课后习题答案
- 酒店员工奖惩管理规章制度
- 视频号精细化运营培训课件
评论
0/150
提交评论