DSP在Flash上的多核烧写启动方法及系统技术方案

技术编号:32534497 阅读:13 留言:0更新日期:2022-03-05 11:29
本发明专利技术提供了一种DSP在Flash上的多核烧写启动方法及系统,包括:将环境变量、二级BootLoader、主核操作系统镜像和预设数量的从核裸机程序烧入Flash;利用DSP内置的ROM Bootloader从Flash的0地址加载二级Bootloader并运行;二级Bootloader从Flash中读取环境变量,获取主核操作系统镜像在Flash中的地址;二级Bootloader加载主核操作系统镜像,并跳转到主核操作系统镜像地址运行;主核操作系统镜像根据业务需求在预设时间点从Flash中读取环境变量,获取预设数量的从核裸机程序在Flash中的烧写地址;根据环境变量选择从核裸机程序并启动,主核操作系统镜像加载启动的从核裸机程序,将从核裸机程序的运行地址设置到从核的BOOT_MAGIC_ADDRESS地址处,给从核发IPC中断,使从核运行。使从核运行。使从核运行。

【技术实现步骤摘要】
DSP在Flash上的多核烧写启动方法及系统


[0001]本专利技术涉及嵌入式设备上电自引导
,具体地,涉及一种DSP在Flash上的多核烧写启动方法及系统。

技术介绍

[0002]目前,DSP以其高性能,在信号处理领域得到越来越广泛的应用。市面上常用的高性能DSP为TI公司的TMS320C6678芯片以及替代的国产DSP芯片。它们的启动模式都包含了EMIF、SRIO、Ethernet、PCIE、I2C、SPI、UART、NAND等多种。本地启动通常使用SPI Flash或者EMIF Flash启动。TMS320C6678芯片以及替代的国产DSP芯片对这两种启动模式都做了详尽说明,但它们在ROM Bootloader加载完程序后就会跳到加载的程序执行,让出了控制权,给予用户很大的发挥空间。用户只需要让ROM Bootloader加载的程序满足其要求的格式即可。ROM Bootloader加载的程序可以是二级Bootloader,也可以是业务程序。有某些场景下,需要主核运行操作系统,从核运行裸机程序。检索现有的专利,尚未发现直接对该场景的解决方案。另一方面,对于烧写方法,TMS320C6678芯片官方例子提供了通过JTAG仿真器运行一次例子程序烧写一个文件的方法,需要多次运行烧入多个文件,不够灵活;国产DSP厂商提供了基于SPI Flash启动的多核烧写例子,需要使用专用工具对各个核生成的ELF格式的out文件进行合并和格式转换,得到一个待烧写的dat文件,不能单独烧写各个核的程序,也不够灵活。
[0003]专利文献CN101178658A(申请号200710171619.9),公开了一种基于DSP的升级系统以及升级方法,用于对基于DSP的嵌入式系统进行升级,其包括:通过解复用模块用于从传输流中得到升级数据;利用启动加载模块执行硬件设备的初始化,并对储存有启动加载的程序以及DSP主程序的闪存进行分配;借由交互模块提供使用者实时了解所述嵌入式系统升级进行的状况,利用本专利技术的升级系统以及升级方法能够解决现有升级系统的人工服务问题,从而节省后期的人工成本,为项目的实施以及后期增值模块的升级提供了便捷、可靠并且低廉的实施方法。
[0004]专利文献CN111506334A(申请号:202010345859.1),公开了一种DSP芯片程序在线升级方法及系统,其通过DSP芯片的FLASH接收上位机发送的在线升级指令和程序文件,依据在线升级指令更新FLASH中的启动程序,并将启动程序在FLASH中的存储位置数据写入CMD文件;重启DSP芯片,DSP芯片的R AM依据CMD文件的指令导入FLASH中更新的启动程序并运行启动程序,从而将DSP程序从FLASH搬运到RAM运行,从而提高了程序运行速率,下次上电自动从新升级程序运行,且升级过程中出错则运行程序不会崩溃。
[0005]专利文献CN110427223A(申请号:201910587781.1)公开了一种基于上位机PCIE总线动态加载多核DSP的方法,所述方法包括:使多核DSP与上位机通讯连接;将程序传输至所述多核DSP;触发PCIE MSI中断,以使得所述多核DSP运行所述程序;其中,所述多核DSP通过PCIE DMA方式从所述上位机接收数据,并将运行所述程序的运算结果返回到所述上位机。根据本专利技术的方法和系统成本较小、功耗较低,且系统体积小携带方便,可脱离外场快速进
行相关调试;由于可以在系统不重启的情况下实现程序的快速加载启动,应用灵活,节省了调试时间;并且系统数据传输效率较高,由于采用PCIE2.0协议,实际传输效率远高于常用的千兆网接口。
[0006]专利文献CN103955376A(申请号:201410056275.7)公开了一种DSP自启动二次按需加载方法,包括:将DSP外接的ROM中存放的程序按功能模块化,将其划分为初始引导模块BOOT、主框架引导模块BOOT2和应用模块,所述应用模块包含不同功能的子应用程序模块;DSP上电复位后,自动从ROM中加载初始引导模块BOOT,所述初始引导模块BOOT用于加载主框架引导模块BOOT2;DSP运行初始引导模块BOOT,进而从ROM中加载主框架引导模块BOOT2;DSP运行主框架引导模块BOOT2,然后根据主控单元的需求,从ROM应用模块中加载对应的子应用程序模块。本专利技术有效避免传统一次程序加载方法带来的功能模块整合过程,从而最大化的使用DSP硬件内部资源。
[0007]专利文献CN205692152U(申请号:CN201521044700.7),公开了一种DSP启动方式的改进结构,包括单向连接的Flash、DSP,其中,所述DSP中包括CPU和内存;所述Flash通过EMIF总线与DSP相连接;所述Flash中包括搬移程序块和应用程序块;所述应用程序块通过所述搬移程序块进入所述DSP中的所述内存;本技术在Flash中存放boot程序,上电后DSP先执行boot程序,把应用程序先从Flash中搬移到DSP内存中,再从内存开始执行程序,这样使得执行速度更加快速,提高了运行效率。
[0008]专利文献CN106293807A(申请号:201610595947.0)公开了一种基于DSP的Flash芯片引导加载方法。本专利技术采用了一种先将Flash芯片引导加载的过程烧写到监控程序的方法,利用串口进行数据传输,先将一个监控程序烧写到Flash芯片前半部分中,然后重新上电自启动该监控程序,将应用程序烧写进Flash芯片的后半部分,切换开关再次上电即实现对应用程序的自启动。整个过程在烧写应用程序时脱离了JTAG仿真器的束缚,使外场试验时系统软件的升级和维护更加便捷和可操作。同时将Bootloader程序控制在1K字节内,避免了需要两次编写运行Bootloader的麻烦。
[0009]专利文献CN106569833A(申请号:201610998885.8)公开了一种具有二级BOOT的DSP程序在线升级方法,首先将一段二级BOOT程序由ROM区复制至RAM区并从二级BOOT程序的首地址开始执行;然后DSP将在线升级程序从ROM区引导至RAM区并运行;上位机通过通信模块下发程序的数据帧;ROM操作模块将数据帧写入ROM区后,回复确认帧至上位机至数据帧下发完成;ROM区中的功能程序区进行校验将校验结果传输至上位机。本专利技术提出的在线升级程序与功能程序是相对独立存在的,可以有效节约运行时RAM开销。本专利技术提出的二级BOOT程序段短小,可以快速启动,并引导功能区或在线升级区程序至RAM并运行,非常适合对实时性要求严格的工业场合。
[0010]专利文献CN107506208A(申请号:201710574750.3)公开了一种设备防烧死的DSP固件在线升级方法,在FLASH划分出两个分区:一个应用程序分区和一个安全烧写固件分区;应用程序分区用于安装实现产品功能的DSP应用程序固件;安全烧写固件分区用于安装安全烧写固件,安全烧写固件用于实现在线升级DSP应用程序固件;安全烧写固件分区的固件在出厂前烧写好,在后续的使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种DSP在Flash上的多核烧写启动方法,其特征在于,包括:步骤S1:将环境变量、二级BootLoader、主核操作系统镜像和预设数量的从核裸机程序烧入Flash;步骤S2:利用DSP内置的ROM Bootloader从Flash的0地址加载二级Bootloader并运行;步骤S3:二级Bootloader从Flash中读取环境变量,获取主核操作系统镜像在Flash中的地址;步骤S4:二级Bootloader加载主核操作系统镜像,并跳转到主核操作系统镜像地址运行;步骤S5:主核操作系统镜像根据业务需求在预设时间点从Flash中读取环境变量,获取预设数量的从核裸机程序在Flash中的烧写地址;步骤S6:根据环境变量选择从核裸机程序并启动,主核操作系统镜像加载启动的从核裸机程序,并将从核裸机程序的运行地址设置到从核的BOOT_MAGIC_ADDRESS地址处,给从核发IPC中断,使从核运行。2.根据权利要求1所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述DSP为TMS320C6678芯片或国产的替代芯片;所述Flash为SPI Flash或EMIF Flash。3.根据权利要求1所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述步骤S1包括:步骤S1.1:在Flash中规划环境变量、二级BootLoader、主核的操作系统镜像和预设数量从核的裸机程序分别占用的空间;步骤S1.2:使用JTAG仿真器将环境变量、二级BootLoader、主核的操作系统镜像和预设数量从核的裸机程序一次性烧入Flash。4.根据权利要求3所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述在Flash中规划环境变量、二级BootLoader、主核的操作系统镜像和预设数量从核的裸机程序分别占用的空间,互相不重叠;预设数量从核的裸机程序占用预设数量的Flash空间。5.根据权利要求1所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述步骤S2包括:二级Bootloader编译生成的文件格式按照DSP内置的ROM Bootloader加载程序的要求进行转换。6.根据权利要求1所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述环境变量烧入Flash包括:将环境变量烧写到Flash中相应的地址,根据环境变量设置主核的操作系统镜像和预设数量从核的裸机程序在Flash中的烧写地址;并根据环境变量设置,选择加载启动相应从核的裸机程序。7.根据权利要求1所述的DSP在Flash上的多核烧写启动方法,其特征在于,所述主核操作系统镜像和预设数量从核的裸机程序都是ELF格式,ELF格式由CCS开发环境和Rede开...

【专利技术属性】
技术研发人员:张鹏程肖博峰周舟张昭
申请(专利权)人:上海华元创信软件有限公司
类型:发明
国别省市:

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

1