一种基于DSP的Flash芯片引导加载方法技术

技术编号:14339763 阅读:37 留言:0更新日期:2017-01-04 12:16
本发明专利技术涉及一种基于DSP的Flash芯片引导加载方法。本发明专利技术采用了一种先将Flash芯片引导加载的过程烧写到监控程序的方法,利用串口进行数据传输,先将一个监控程序烧写到Flash芯片前半部分中,然后重新上电自启动该监控程序,将应用程序烧写进Flash芯片的后半部分,切换开关再次上电即实现对应用程序的自启动。整个过程在烧写应用程序时脱离了JTAG仿真器的束缚,使外场试验时系统软件的升级和维护更加便捷和可操作。同时将Bootloader程序控制在1K字节内,避免了需要两次编写运行Bootloader的麻烦。

【技术实现步骤摘要】

本专利技术属于航空计算技术,具体涉及一种基于DSP的Flash芯片引导加载方法
技术介绍
随着计算机技术的飞速发展,数字信号处理器(DigitalSignalProcessor,DSP)技术的应用范围越来越广泛,几乎在整个电子、信息产业都有应用。其中应用最广泛的是美国TI公司生产的DSP系列产品。在这些DSP系列的系统设计中,引导程序设计是其中的难点之一,系统启动引导的成功与否决定了应用程序的运行环境是否能正确构建,即系统启动成功是正确应用运行的前提。目前,大多数数字信号处理器不带内部可擦写存储器,程序一般在系统上电时,从外部只读存储器(Read-OnlyMemory,ROM)读入DSP程序空间随机存取记忆体(RandomAccessMemory,RAM)中,然后从指定的地址开始运行程序空间RAM中的指令,该过程称为DSP程序的引导加载过程。TMS320C672x系列没有自带的Flash芯片,一般程序要烧写到外扩的Flash芯片中,再由Flash芯片引导自启动。Bootloader程序运行在DSP中,用来将Flash芯片的数据复制搬移到DSP的1K字节大小的RAM内。传统TMS320C6727的Flash芯片自启动往往需要利用JTAG仿真器将程序烧写到Flash芯片中去,如果更改程序必须拆开机箱连上仿真器才能重新烧写,这样在外场试验时很不方便。
技术实现思路
本专利技术的目的是:为了避免在烧写程序的过程中对仿真器的依赖性,本专利技术提供了一种采用烧写Monitor工程和外部离散量开关切换的原理,通过串口进行数据传输,实现了在脱离JTAG仿真器条件下APP端的基于TMS320C672xDSP的Flash芯片引导加载方法。本专利技术采取的技术方案为:一种基于DSP的Flash芯片引导加载方法,其利用串口进行数据传输,先将一个监控程序烧写到Flash芯片前半部分中,然后重新上电自动运行这个监控程序,在此监控程序的操作过程中将应用程序烧写进Flash芯片的后半部分;同时在外部硬件FPGA逻辑中设定外部离散量开关,用于切换Flash芯片的前后部分,切换这个开关量到另一端,再重新上电即实现对应用程序的自启动了,其中,所述监控程序包含把Flash芯片中存放的应用程序代码复制到DSP的RAM中的Bootloader程序。所述的基于DSP的Flash芯片引导加载方法,其在上电复位之后,DSP会自动去搬移Flash芯片起始地址开始的1K字节内容,这1K字节内容搬移到DSP的内部RAM起始地址开始的1K字节内存中,当DSP开始执行程序时,首先从内部RAM的起始地址开始执行程序,即开始执行DSP的启动程序Bootloader,而Bootloader把Flash芯片中存放的应用程序代码复制到DSP的RAM中,当Bootloader程序在DSP的RAM中执行完成后,所有的应用程序从Flash芯片复制到DSP的RAM中,然后DSP跳转到复位中断去执行,开始执行应用程序,实现了DSP的Flash芯片引导自启动。一旦监控程序被烧写进Flash芯片,就对Flash芯片的监控程序内容进行锁定保护,以防止非法修改此监控程序。每次切换到监控程序一端,自动运行监控程序,在此完成应用程序的烧写;切换到应用程序一端,即可自动运行应用程序。所述的基于DSP的Flash芯片引导加载方法,其包含如下具体步骤,其中,监控工程用Monitor端表示,应用工程用APP端表示:步骤1设置Monitor端加载方式外部离散量开关设置为下载程序运行状态,即打开Monitor端的加载模式,并且引导模式设置为从Flash芯片引导;步骤2配置串口信息参数在上位机上运行串口终端调试工具,该工具用于终端调试以及Monitor端的状态信息显示,设置正确的串口号和波特率配置参数;步骤3目标机CPU寄存器初始化Monitor对目标机CPU内的EMIF、PLL和SDRAM寄存器进行初始化;步骤4烧写Monitor端连接JTAG仿真器,通过串口传输数据将Monitor端烧写到Flash芯片中;步骤5运行Monitor端断电后,脱离JTAG仿真器,上电复位,自动运行Monitor端;步骤6烧写APP端在Monitor端工程的运行界面中,通过串口传输数据将APP端烧写到Flash芯片中;步骤7设置APP端加载方式外部离散量开关设置为应用程序运行状态,即打开APP端的加载模式,并且引导模式设置为从Flash芯片引导;步骤8运行APP端断电后,上电复位,自动运行APP端。本专利技术具有有益效果:本专利技术给出了一种基于DSP的Flash芯片引导加载方法的设计与实现,该方法通过串口传输数据将Monitor烧写到Flash芯片中,并利用Monitor将APP烧写到Flash芯片中,实现了APP端脱离仿真器的烧写和引导自启动过程,不仅为嵌入式软件的调试提供了方便,而且有助于嵌入式系统的软硬协同设计开发。经过试验验证是方便、稳定和可靠的,并在工作使用中取得了满意的效果,具有较大的实用性和应用价值。附图说明图1是本专利技术的基于TMS320C672xDSP的Flash芯片引导加载系统开发架构图;图2是本专利技术的Bootloader功能模块结构图;图3是本专利技术的基于TMS320C672xDSP的Flash芯片引导加载具体流程图。具体实施方式下面结合说明书附图对本专利技术的具体实施方式做进一步说明。在本专利技术的引导加载系统实例中,以TMS320C6727DSP为例,通过在其导航计算机板上实施Flash芯片自启动程序设计的改进方案,从而实现了一个全新的Flash芯片引导加载系统。该导航计算机板的资源主要包括以下几部分:(1)处理器:TMS320C6727,工作频率:240MHz。(2)程序存储器(FLASH芯片):容量1M×16bit。(3)数据存储器(SDRAM):容量2M×32bit。(4)在线程序存储器加载能力:加载功能受“允许加载”控制,“允许加载”接地为“允许加载”,悬空为“禁止加载”。(5)JTAG接口:程序在线调试及加载。基于TMS320C672x的Flash芯片引导加载系统的设计实例中,主要包括两个项目工程:监控工程(Monitor端)和应用工程(APP端)。其系统开发架构如图1所示。无论哪一个工程,核心在于Bootloader程序的编写。Bootloader程序的功能就是把烧写在Flash芯片中的程序代码和有用信息全部复制到DSP内存空间中去执行,然后指向_c_int00中断去执行程序。由于本项目实例中APP端的应用程序代码较大,必须被分配到外部SDRAM地址空间中,所以在Bootloader程序中必须初始化SDRAM和PLL。另外在Bootloader程序中必须实现从Flash芯片到RAM搬移数据的功能,这样必然涉及到Flash芯片的读写操作。而在本项目实例中配置的是16MB的Flash芯片,由于TMS320C672x的地址总线只有13根,不足以寻址整个Flash芯片存储空间,所以必须根据代码的大小对Flash芯片进行翻页操作。Bootloader程序的功能模块结构图如图2所示。总而言之,在Bootloader程序中,我们实现了以下功能用于完成Flash芯片的引导加载:(1)SDRAM的初始化:包括SDCR、SD本文档来自技高网...
一种基于DSP的Flash芯片引导加载方法

【技术保护点】
一种基于DSP的Flash芯片引导加载方法,其特征在于,利用串口进行数据传输,先将一个监控程序烧写到Flash芯片前半部分中,然后重新上电自动运行这个监控程序,在此监控程序的操作过程中将应用程序烧写进Flash芯片的后半部分;同时在外部硬件FPGA逻辑中设定外部离散量开关,用于切换Flash芯片的前后部分,切换这个开关量到另一端,再重新上电即实现对应用程序的自启动了,其中,所述监控程序包含把Flash芯片中存放的应用程序代码复制到DSP的RAM中的Bootloader程序。

【技术特征摘要】
1.一种基于DSP的Flash芯片引导加载方法,其特征在于,利用串口进行数据传输,先将一个监控程序烧写到Flash芯片前半部分中,然后重新上电自动运行这个监控程序,在此监控程序的操作过程中将应用程序烧写进Flash芯片的后半部分;同时在外部硬件FPGA逻辑中设定外部离散量开关,用于切换Flash芯片的前后部分,切换这个开关量到另一端,再重新上电即实现对应用程序的自启动了,其中,所述监控程序包含把Flash芯片中存放的应用程序代码复制到DSP的RAM中的Bootloader程序。2.根据权利要求1所述的基于DSP的Flash芯片引导加载方法,其特征在于,在上电复位之后,DSP会自动去搬移Flash芯片起始地址开始的1K字节内容,这1K字节内容搬移到DSP的内部RAM起始地址开始的1K字节内存中,当DSP开始执行程序时,首先从内部RAM的起始地址开始执行程序,即开始执行DSP的启动程序Bootloader,而Bootloader把Flash芯片中存放的应用程序代码复制到DSP的RAM中,当Bootloader程序在DSP的RAM中执行完成后,所有的应用程序从Flash芯片复制到DSP的RAM中,然后DSP跳转到复位中断去执行,开始执行应用程序,实现了DSP的Flash芯片引导自启动。3.根据权利要求1所述的基于DSP的Flash芯片引导加载方法,其特征在于,一旦监控程序被烧写进Flash芯片,就对Flash芯片的监控程序内容进行锁定...

【专利技术属性】
技术研发人员:刘芳马永忠鹿雪玲
申请(专利权)人:中国航空工业集团公司西安飞行自动控制研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1