CN217640186U - 一种基于tms320f28335的iap在线升级模组 - Google Patents
一种基于tms320f28335的iap在线升级模组 Download PDFInfo
- Publication number
- CN217640186U CN217640186U CN202221947418.XU CN202221947418U CN217640186U CN 217640186 U CN217640186 U CN 217640186U CN 202221947418 U CN202221947418 U CN 202221947418U CN 217640186 U CN217640186 U CN 217640186U
- Authority
- CN
- China
- Prior art keywords
- module
- iap
- control panel
- sram
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本实用新型涉及一种基于TMS320F28335的IAP在线升级模组,所述在线升级模组搭建应用在TMS320F28335DSP控制板设备中,包括CCS编译模块、上位机模块、DSP控制板模块和外扩SRAM模块,所述的CCS编译模块内设有格式转换单元,且可以输入指令将应用程序进行格式转换,同时CCS编译模块与上位机模块之间数据相连,且所述的上位机模块与DSP控制板模块中的IAP模块之间设有串口通讯连接,同时DSP控制板模块上还增设有外扩SRAM模块,其中外扩SRAM模块与IAP模块之间数据相连,外扩SRAM模块可存储DSP控制板接收到的应用程序数据。本实用新型所述的基于TMS320F28335的IAP在线升级模组,可以避免TMS320F28335DSP在升级过程中需要执行打开嵌入式设备、额外配置GPIO管脚电平或单独开发专用上位机软件的操作。
Description
技术领域
本实用新型涉及嵌入式技术领域,尤其是指一种基于TMS320F28335的IAP在线升级模组。
背景技术
TMS320F28335是TI公司生产的一款高性能32位浮点DSP处理器,该DSP处理器采用哈佛结构和流水线技术,其接口资源丰富,控制精度高,运算速度快,被广泛应用于嵌入式系统的各类领域。在实际应用中,嵌入式系统设计完成后,一般都需要将调试完成的应用程序固化到非易失性存储器中,便于应用程序的持续运行。TMS320F28335DSP处理器直接在片上集成了256K×16bit的Flash存储器,十分适用于应用程序的固化。
目前,TMS320F28335DSP的应用程序固化到片上Flash主要有三种方式:在电路编程(ICP,In CircuitPrograming)、在系统编程(ISP,InSystemPrograming)和在应用编程(IAP,InApplication Programing)。其中,ICP固化主要通过TMS320F28335DSP的JTAG接口连接仿真器,并使用CCS集成环境实现;ISP固化主要通过配置TMS320F28335DSP的GPIO管脚高低电平来改变启动模式,并利用内置的BootLoader程序实现;IAP固化通过定制的BootLoader程序实现。
以上三种应用程序的固化方式中,ICP方式利用仿真器进行烧写,因此升级应用程序时必须打开嵌入式设备,这给升级过程带来极大不便;ISP方式需要采用人工接线的方式额外配置TMS320F28335DSP的GPIO管脚高低电平来改变启动模式,升级完成后还需要重新恢复GPIO管脚原状态,操作繁琐且存在一定的安全隐患;IAP方式无需打开嵌入式设备,也无需更改TMS320F28335DSP的Flash启动模式,是一种便捷、安全的固化方法,但传统的IAP方式需要针对定制的BootLoader程序编写专用的上位机软件,该专用上位机软件需求各异,且开发繁琐,无法形成统一标准。
实用新型内容
为此,本实用新型所要解决的技术问题在于克服现有技术中TMS320F28335DSP在升级过程中需要执行打开嵌入式设备、额外配置GPIO管脚电平或单独开发专用上位机软件的操作的问题,从而提供能够便捷、高效地实现TMS320F28335DSP嵌入式设备的软件在线升级功能的模组。
为解决上述技术问题,本实用新型的一种基于TMS320F28335的IAP在线升级模组,所述在线升级模组搭建应用在TMS320F28335DSP控制板设备中,包括CCS编译模块、上位机模块、DSP控制板模块和外扩SRAM模块,所述的CCS编译模块内设有格式转换单元,且可以输入指令将应用程序进行格式转换,同时CCS编译模块与上位机模块之间数据相连,且所述的上位机模块与DSP控制板模块中的IAP模块之间设有串口通讯连接,同时DSP控制板模块上还增设有外扩SRAM模块,其中外扩SRAM模块与IAP模块之间数据相连,外扩SRAM模块可存储DSP控制板接收到的应用程序数据。
在本实用新型的一个实施例中,所述的CCS编译模块中通过编译生成的应用程序可执行文件为.out格式的文件,格式转换后可用于烧写的应用程序文件为.bin格式的文件。
在本实用新型的一个实施例中,所述的上位机模块不需根据IAP在线升级逻辑重新开发专用的上位机软件。
在本实用新型的一个实施例中,所述的DSP控制板模块采用的DSP处理器芯片的型号为TI公司生产的TMS320F28335。
在本实用新型的一个实施例中,所述的外扩SRAM模块通过XINTF接口与DSP控制板之间连接,外扩SRAM的存储空间大于应用程序bin文件大小。
在本实用新型的一个实施例中,所述的IAP在线升级模组通过SCI中断、定时器中断、应用程序烧写到片上Flash和应用程序跳转的过程实现,其中,应用程序烧写到片上Flash过程可通过调用TMS320F28335DSP的API函数实现。
本实用新型的上述技术方案相比现有技术具有以下优点:本实用新型所述的基于TMS320F28335的IAP在线升级模组,可以避免TMS320F28335DSP在升级过程中需要执行打开嵌入式设备、额外配置GPIO管脚电平或单独开发专用上位机软件的操作,能够便捷、高效地实现TMS320F28335DSP嵌入式设备的软件在线升级功能。
附图说明
为了使本实用新型的内容更容易被清楚的理解,下面根据本实用新型的具体实施例并结合附图,对本实用新型作进一步详细的说明。
图1是本实用新型的在线升级模组的原理框图;
图2是本实用新型所述的IAP在线升级流程图。
具体实施方式
如图1所示,本实施例提供一种基于TMS320F28335的IAP在线升级模组,所述在线升级模组搭建应用在TMS320F28335DSP控制板设备中,包括CCS编译模块、上位机模块、DSP控制板模块和外扩SRAM模块,所述的CCS编译模块内设有格式转换单元,且可以输入指令将应用程序进行格式转换,同时CCS编译模块与上位机模块之间数据相连,且所述的上位机模块与DSP控制板模块中的IAP模块之间设有串口通讯连接,同时DSP控制板模块上还增设有外扩SRAM模块,其中外扩SRAM模块与IAP模块之间数据相连,外扩SRAM模块可存储DSP控制板接收到的应用程序数据。
进一步,所述CCS编译模块用于将应用程序的可执行文件进行格式转换,生成可用于烧写的应用程序文件。具体地,通常应用程序在CCS环境下编译后生成的可执行文件为.out格式,而.out格式的文件只能通过JTAG下载到DSP中,不能直接通过在线升级方法烧写到DSP中。为了实现在线升级功能,可在CCS编译环境中使用格式转换命令,通过调用TI提供的数据转换工具Hex2000和mkhex4bin,来实现将应用程序的.out格式文件转换为可用于烧写的.bin格式的二进制文件。所述上位机模块用于发送在线升级指令并将格式转换后的应用程序文件发送给DSP控制板设备进行数据处理。具体地,该上位机为通用的串口上位机软件,只需使用满足串口通信要求,能够实现命令和文件发送功能即可,发送的升级命令为“BOOT”,发送的文件为可用于烧写的应用程序的.bin格式文件。当DSP控制板模块接收到上位机的升级命令后将启动IAP在线升级逻辑,该逻辑通过串口中断方式不断接收上位机发送过来的.bin格式数据,并存储在外扩的SRAM中,当.bin格式的数据接收完毕后将启动烧写步骤,将应用程序固化到DSP的片上Flash中,从而实现在线升级功能。
如图2所示,为本实用新型的IAP在线升级流程图。IAP程序预先通过仿真器烧写到DSP的片上Flash中,上电复位后即可执行在线升级流程。
具体地,DSP控制板重新上电后,PC指针跳转到复位向量处,并根据复位向量的内容跳转到DSP的片上BootROM位置,执行初始化引导函数和模式选择函数,最终选择Flash引导模式后,程序退出BootROM并转向IAP程序入口地址处执行IAP程序。
进一步地,进入IAP程序后将首先执行初始化功能。该初始化的实现包括系统初始化、外扩SRAM初始化、Flash程序搬移、SCI模块初始化和中断配置、定时器模块初始化和中断配置、全局中断使能、启动定时器等步骤。其中需要注意的是Flash程序搬移,IAP程序被固化在了DSP的片上Flash区间,在线升级是将应用程序烧写到DSP的片上Flash区间,而DSP不支持代码在Flash中运行的同时去操作Flash,因此,需要将操作Flash的相关函数代码搬移到DSP的片上SRAM中执行。此外,由于DSP的片上SRAM运行速率远远大于片上Flash运行的速率,因此,对时间要求较严格的函数(如延时函数)代码也需要从DSP的片上Flash搬移到片上SRAM中执行。DSP的Flash程序搬移功能通过CMD文件和MemCopy函数实现。
进一步地,执行完IAP程序的初始化功能后,将进入IAP程序主循环。IAP程序主循环的功能主要是通过定时器的定时时间来判断是否有应用程序的在线升级需求,如果有升级需求,将通过串口完成应用程序的升级过程,升级完成后将跳转到新的应用程序处执行;如果没有升级需求,则执行之前的应用程序。IAP程序主循环功能的实现主要包含以下几个步骤:
步骤一、升级时机判断。本实用新型通过定时器中断不断累加计数,在计数到达3s这段时间内通过串口中断函数不断监测串口端的指令,当串口端收到升级指令“BOOT”时将进行升级操作。当定时时间到达3s后仍然没有收到串口端的升级指令“BOOT”时,软件将直接跳转到之前的应用程序入口地址处执行该应用程序。
步骤二、应用程序bin数据接收。当DSP接收到升级指令“BOOT”后,将启动升级操作。通过串口上位机软件将应用程序生成的bin数据发送给DSP,DSP在串口中断函数中实时接收bin数据,并将bin数据存储在外扩的SRAM空间中。
步骤三、bin数据接收完毕判断。将应用程序生成的bin数据不断存储在外扩SRAM时,必须要判断bin数据接收完毕的时机,只有bin数据接收完毕后才能进行烧写过程。本实用新型通过定时器完成bin数据接收完毕的时机判断,定义定时器计数值变量,在串口中断函数中将该值清零,当启动升级操作后在定时器中断函数中对该值进行累加,当该值累加到定时时间1s时,则表示串口端的bin数据接收完毕。
步骤四、应用程序烧写。应用程序生成的bin数据接收完毕后,可以开始应用程序的烧写操作,该烧写操作是将存储在外扩SRAM中的应用程序bin数据写入DSP片上Flash的指定区域。烧写操作通过调用擦除函数Flash_Erase()、编程函数Flash_Program()和校验函数Flash_Verify()实现。其中,擦除函数用于擦除应用程序要固化的片上Flash区间;编程函数函数用于将应用程序生成的bin数据烧写至指定的片上Flash扇区,从而实现应用程序的烧写功能;校验函数用于将接收缓冲区的数据和写入Flash中的数据进行比较校验。
步骤五、跳转执行应用程序。当应用程序烧写完成后,可通过指令跳转到刚刚烧写的应用程序的入口地址处执行应用程序,该跳转功能通过定义的函数指针实现。
完成以上步骤,即完成了本实用新型提供的一种基于TMS320F28335的IAP在线升级模组运行的全部过程。该方案可避免TMS320F28335DSP在升级过程中需要执行打开嵌入式设备、额外配置GPIO管脚电平或单独开发专用上位机软件的操作,能够便捷、高效地实现TMS320F28335DSP嵌入式设备的软件在线升级功能。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本实用新型创造的保护范围之中。
Claims (6)
1.一种基于TMS320F28335的IAP在线升级模组,所述在线升级模组搭建应用在TMS320F28335DSP控制板设备中,其特征在于,包括CCS编译模块、上位机模块、DSP控制板模块和外扩SRAM模块,所述的CCS编译模块内设有格式转换单元,且可以输入指令将应用程序进行格式转换,同时CCS编译模块与上位机模块之间数据相连,且所述的上位机模块与DSP控制板模块中的IAP模块之间设有串口通讯连接,同时DSP控制板模块上还增设有外扩SRAM模块,其中外扩SRAM模块与IAP模块之间数据相连,外扩SRAM模块可存储DSP控制板接收到的应用程序数据。
2.根据权利要求1所述的基于TMS320F28335的IAP在线升级模组,其特征在于:所述的CCS编译模块中通过编译生成的应用程序可执行文件为.out格式的文件,格式转换后可用于烧写的应用程序文件为.bin格式的文件。
3.根据权利要求1所述的基于TMS320F28335的IAP在线升级模组,其特征在于:所述的上位机模块不需根据IAP在线升级逻辑重新开发专用的上位机软件。
4.根据权利要求1所述的基于TMS320F28335的IAP在线升级模组,其特征在于:所述的DSP控制板模块采用的DSP处理器芯片的型号为TI公司生产的TMS320F28335。
5.根据权利要求1所述的基于TMS320F28335的IAP在线升级模组,其特征在于:所述的外扩SRAM模块通过XINTF接口与DSP控制板之间连接,外扩SRAM的存储空间大于应用程序bin文件大小。
6.根据权利要求1所述的基于TMS320F28335的IAP在线升级模组,其特征在于:所述的IAP在线升级模组通过SCI中断、定时器中断、应用程序烧写到片上Flash和应用程序跳转的过程实现,其中,应用程序烧写到片上Flash过程可通过调用TMS320F28335 DSP的API函数实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202221947418.XU CN217640186U (zh) | 2022-07-27 | 2022-07-27 | 一种基于tms320f28335的iap在线升级模组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202221947418.XU CN217640186U (zh) | 2022-07-27 | 2022-07-27 | 一种基于tms320f28335的iap在线升级模组 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN217640186U true CN217640186U (zh) | 2022-10-21 |
Family
ID=83636899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202221947418.XU Active CN217640186U (zh) | 2022-07-27 | 2022-07-27 | 一种基于tms320f28335的iap在线升级模组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN217640186U (zh) |
-
2022
- 2022-07-27 CN CN202221947418.XU patent/CN217640186U/zh active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902556B (zh) | 一种嵌入式设备的多级引导加载方法 | |
US8117587B1 (en) | Microcontroller-resident software development environment supporting application-level asynchronous event handling, interactive debugging and pin variables for embedded systems | |
CN102609286B (zh) | 一种基于处理器控制的fpga配置程序远程更新系统及其方法 | |
CN100386743C (zh) | 一种嵌入式系统的调试方法及其系统 | |
CN109871223A (zh) | 一种基于stm32单片机的IAP方法及系统 | |
CN107704285B (zh) | 现场可编程门阵列多版本配置芯片、系统和方法 | |
CN102955723B (zh) | 一种硬件自动测试方法及系统 | |
CN108519889B (zh) | 一种基于jtag标准的fpga程序远程升级系统及方法 | |
CN102520961A (zh) | 片外在线可编程的soc系统及其控制方法 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN112667320A (zh) | 一种基于MicroBlaze的FPGA及DSP远程加载系统 | |
CN101267623A (zh) | 一种手机启动引导的构建方法 | |
CN104407878A (zh) | C6000数字信号处理器在线升级方法 | |
CN108664264A (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置和方法 | |
CN110413298A (zh) | 基于Labwindows平台进行单片机串行升级和调试的方法 | |
CN111679839B (zh) | 一种mcu flash的在线烧写方法 | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN112199121B (zh) | Dsp按需扩容加载程序方法 | |
JP2008198060A (ja) | 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法 | |
CN217640186U (zh) | 一种基于tms320f28335的iap在线升级模组 | |
CN109683935B (zh) | 应用程序升级方法、装置、变频器以及存储介质 | |
US7680909B2 (en) | Method for configuration of a processing unit | |
CN114996056A (zh) | 一种基于spi的dsp备份启动实现方法 | |
CN112764379B (zh) | 一种基于dsp系统的iap控制方法 | |
KR100952762B1 (ko) | 디지털 시그널 프로세서의 실시간 디버깅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |