当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]TMS320VC5509的二次引导加载方法

引 言
    在嵌入式系统中,微处理器的运行程序通常保存在其内部或外部非易失性存储器(如EPROM、EEPROM或Flash)中。对中低速的微处理器来说,系统运行时程序可直接从非易失性存储器读取并解释执行;对高速微处理器来说,非易失性存储器的读取速度较低,不能满足系统运行时程序代码直接读取的要求,需采用引导加载(Boot-load)方式将程序代码从低速非易失性存储器中加载到高速的存储器(如SRAM或DRAM)中,系统运行时直接从高速存储器中读取程序代码,实现系统的高速运行。因此引导加载是高速微处理器系统的关键技术之一。


1 DSP上电加载分析
    TMS320VC5509(简称“5509”)是TI公司的一款高性能、低功耗的定点数字信号处理芯片。5509片内具有128K字高速静态RAM,内部只读ROM中固化了引导加载程序(Bootloader)。5509支持多种引导加载方式,上电复位之后,片内引导程序根据不同的加载方式完成加载。5509引导表格式如图1所示。

    从引导表的格式可以看出,引导加载程序首先读入双字程序入口地址,然后读入需要修改的寄存器数,接着是寄存器地址以及赋值,再读入段字节数、段起始地址以及段内容,引导表以读入双字的O值为结束,读完引导表后跳转到加载程序入口执行。不论以何种方式加载,只是读入的方式不同,引导表的格式不变。
    下面分别针对固化引导程序中的并行加载方式(16位)以及串行加载方式(16位SPI接口EEPROM),来分析DSP上电加载可能遇到的问题。
    对16位并行加载方式,默认从片外扩展地址0x200000(5509对应片选引脚输出为CEl)开始读入引导表,由于TQFP封装的5509内部24根地址线只引出了14根,因此并行加载方式只能寻址外部214=16K字存储空间,对超过16K字长的引导表,引导程序无法加载。
    对16位SPI接口的EEPROM串行加载方式,5509默认利用其同步串口0(McBSP0)来模拟SPI接口,引导程序固定收发时钟为DSP时钟频率的244分频。由于引导加载过程中,5509时钟频率等于外部晶振频率,因此对于24MHz时钟频率,加载频率约为100kHz,对于一段仅10K字长的引导程序,完成加载需要244×lO×103×16/24×106≈1.63s;即使工作在DSP最高主频144 MHz,完成加载也需要约244×10×103×16/144×105≈27l ms。这对要求上电后迅速运行的系统来说,系统启动时间过长。
    针对以上两种加载方式存在的问题,提出了利用二次引导加载方式来解决的办法。
    二次引导加载是采用引导加载的原理,在上电复位时,DSP内部固化的引导程序将一个自编的引导程序(即二次加载程序,其编写格式按照DSP内部固化引导程序的格式完成)加载到片内,然后通过二次引导加载程序将最终需要执行的程序加载到DSP中,从而实现更加灵活的程序加载。

2 并行方式下的二次加载设计
   
针对16位并行加载方式中存在的加载程序容量有限的问题,并行二次加载方案中利用DSP的GPIO口来扩展地址线,解决大于16K字程序的加载问题。这里使用两片铁电存储器FM18L08(32K×8位)作为32K字外扩程序存储器,55509地址线A[l3:1]与铁电存储器地址线A[12:0]相连,扩展5509的通用I/O口GPIO[7:6],用作高位地址线与铁电存储器地址线A[14:1 3]相连。在二次引导加载程序中,利用软件控制GPIO[7:6]输出高低电平,来达到控制高位地址线的目的,电路如图2所示。GPIO[7:6]电平的不同,相当于将32K字存储器空间划分为4页8K字空间,每当程序内容超过一页时,设置GPIO[7:6],实现软件翻页,读入下一页内容。

    在程序加载过程中,由于并行二次引导加载程序对引导表的读入方式与固化引导程序相同(不同的地方,只是在于如何寻址大于16K字程序地址),因此省略了流程图中具体读引导表的步骤。
    在二次加载程序中,加载开始之后,首先设置GPIO[7:6]为00h,读入第1页数据。如果程序在计数到8K之后仍未读完,则对GPIO[7:6]修改翻页,进行下一个8K的读入。如此,直到程序全部读完,跳转到程序入口执行为止。
    并行二次加载程序流程如图3所示。

3 串行方式下的二次加载设计
   
针对串行加载存在的加载速度低的问题,采用二次加载方案,自行设定同步串口时钟分频倍数,以较快的速度完成程序的加载。加载的速度,就只受到外部SPI接口的EERPOM速度限制。通用SPI接口EEPROM(如Atmel公司的AT25256)速度一般均可达到1Mbps以上。下面以外接12MHz晶振为例,DSP内部2倍频之后,同步串口0时钟按照12分频,即加载频率设置为2MHz,如此,加载速度将是固化引导程序的20倍。串行加载电路如图4所示。
    串行二次加载程序中,初始化部分对DSP及其同步串口O相应控制器进行设置,使SPI接口时钟工作在2MHz。然后采用与DSP固化引导程序相同的方式,利用GPIO4以及同步串口O模拟SPI接口对EEPROM进行顺序读入。读完之后,跳转到程序入口执行。
    程序流程如图5所示。

4 结论
   
二次加载方法克服了5509固化引导加载程序的弊端,可以根据不同的条件,实现比较灵活的加载方式。二次引导加载程序采用汇编语言编写,代码简单短小。经实际验证,以上两种二次引导加载方式均能成功加载。

    以上介绍的二次加载方法不仅可用在5509DSP中,同样也可以利用在其他类似的高速微处理器系统引导加载方案中,实现灵活的程序加载。对高速DSP采集系统的设计应用有比较好的实际借鉴价值。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭