当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]微处理器的二次引导加载方案

引 言

  在嵌入式系统中,微处理器的运行程序通常保存在其内部或外部非易失性存储器(如EPROM、EEPROM或Flash)中。对中低速的微处理器来说,系统运行时程序可直接从非易失性存储器读取并解释执行;对高速微处理器来说,非易失性存储器的读取速度较低,不能满足系统运行时程序代码直接读取的要求,需采用引导加载(Boot-load)方式将程序代码从低速非易失性存储器中加载到高速的存储器(如SRAM或DRAM)中,系统运行时直接从高速存储器中读取程序代码,实现系统的高速运行。微处理器用一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小,重量轻和容易模块化等优点。微处理器的基本组成部分有:寄存器堆、运算器、时序控制电路,以及数据和地址总线。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。
 

  1 DSP上电加载分析

  TMS320VC5509(简称“5509”)是TI公司的一款高性能、低功耗的定点数字信号处理芯片。5509片内具有128K字高速静态RAM,内部只读ROM中固化了引导加载程序(Bootloader)。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内部固化的引导程序将一个自编的引导程序加载到片内,然后通过二次引导加载程序将最终需要执行的程序加载到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所示。General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus?或SPI?接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。每个GPIO端口可通过软件分别配置成输入或输出。Maxim的GPIO产品线包括8端口至28端口的GPIO,提供推挽式输出或漏极开路输出。提供微型3mm x 3mm QFN封装。

  

 

  在程序加载过程中,由于并行二次引导加载程序对引导表的读入方式与固化引导程序相同(不同的地方,只是在于如何寻址大于16K字程序地址),因此省略了流程图中具体读引导表的步骤。

  在二次加载程序中,加载开始之后,首先设置GPIO[7:6]为00h,读入第1页数据。如果程序在计数到8K之后仍未读完,则对GPIO[7:6]修改翻页,进行下一个8K的读入。

   [!--empirenews.page--]并行二次加载程序流程如图3所示。

 

  

 

  3 串行方式下的二次加载设计

  针对串行加载存在的加载速度低的问题,采用二次加载方案,自行设定同步串口时钟分频倍数,以较快的速度完成程序的加载。加载的速度,就只受到外部SPI接口的EERPOM速度限制。通用SPI接口EEPROM(如Atmel公司的AT25256)速度一般均可达到1Mbps以上。下面以外接12MHz晶振为例,DSP内部2倍频之后,同步串口0时钟按照12分频,串行加载电路如图4所示。

  串行二次加载程序中,初始化部分对DSP及其同步串口O相应控制器进行设置,使SPI接口时钟工作在2MHz。然后采用与DSP固化引导程序相同的方式,利用GPIO4以及同步串口O模拟SPI接口对EEPROM进行顺序读入。读完之后,跳转到程序入口执行。

  程序流程如图5所示。

  

 

  4 结论

  二次加载方法克服了5509固化引导加载程序的弊端,可以根据不同的条件,实现比较灵活的加载方式。二次引导加载程序采用汇编语言编写,代码简单短小。经实际验证,以上两种二次引导加载方式均能成功加载。此方法不仅可用在5509DSP中,同样也可以利用在其他类似的高速微处理器系统引导加载方案中。

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

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

双核心 Arm Cortex-A35、图形加速、高速连接能力,及内建硬件安全功能

关键字: 微处理器 电动车充电站 智能家居

2024年3月12日,中国 -- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了新一代的STM32MP2系列工业级微处理器 (...

关键字: 微处理器 智能工厂 CPU

今天,小编将在这篇文章中为大家带来数字信号处理器DSP的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: DSP 数字信号处理器

控制器,又称作控制单元或微处理器,是一种能够对电子设备进行控制和管理的计算机芯片。它具有很强的处理能力、高可靠性和稳定性,能够适应各种复杂的工作环境。控制器的主要特点如下:

关键字: 控制器 控制单元 微处理器

运动控制器作为自动化设备的核心部件之一,其作用和原理对于理解自动化设备的工作原理具有重要意义。本文将为您详细介绍运动控制器的工作原理。

关键字: 运动控制器 微处理器 嵌入式硬件

嵌入式控制器是一种集成了微处理器、存储器、输入输出接口以及其他外设的微型计算机系统,广泛应用于各种场合。本文将为您详细介绍嵌入式控制器的应用场合。

关键字: 嵌入式系统 嵌入式控制器 微处理器

DSP的国产替代不会是一件很容易的事情,但受到当前国际竞争态势的影响,本土开发者亟需拥有降本优势、供应链安全保证,以及能协助打造极高竞争力产品的DSP芯片。也就是说,发展国产DSP是不二选择。

关键字: DSP
关闭
关闭