一种新型DSP软件在线升级方法的研究与实现(精)

合集下载

一种新型DSP软件在线升级方法的研究与实现

一种新型DSP软件在线升级方法的研究与实现

了Fs l h的存储 分配 结 构 以及 系统 B O a O T程 序 的 设计 。 具有 实现 简单 、 新 方 式灵 活 、 序 可 靠性 高等 更 程 优 点 , 广 泛应 用 于数 字控 制 芯 片领 域 。 可
关 键 词 :D P; 线 升 级 ;ls B O S 在 Fah; O T程 序
1 s I 3 F微 控 制 器 及 地 址 空 间分 配 d P C 3
1 1 d PC3 F 微 控 制 器 . sI 3
美 国 Mirc i cohp公 司 设 计 生 产 的 dPC 3 sI 3 F微 控 制 器
采 用 1 i 改 良的 哈 佛 架 构 和 C编 译 器 优 化 的 指 令 集 , 6bt
其 带 有 1 i 的 数 据 总 线 和 2 i指 令 , 及 4MB指 令 6bt 4bt 以 字 的 线 性 程 序 存 储 空 间 , 址 范 围 最 大 6 B。 由 于其 寻 4K 本 身 内 部 集 成 了 多 达 2 6 K 的 Fah程 序 存 储 器 和 5 B ls 3 B的 数 据 S M, 0K RA 因此 , 需 要 上 电 复 位 电 路 和 外 部 只
等) 同 时 , 了满 足 不 断 变 化 的应 用 需 求 , 般 会 在 相 。 为 一 应 的 软 件 程 序 设 计 中 加 入 B olae ot dr功 能 , 即 利 用 系 统 o
软件 的切换 。
为 了 克 服 现 有 技 术 的 不 足 , 出 了一 种 新 型 的 软 件 提 版 本 在 线 更 新 方 法 和 3种 更 新 方 式 , 且 在 数 字 控 制 芯 并 片 领 域 中得 到 了 实 际 应 用 。

种新型 D P软件在线升级方法的研究与实现 大 学 钱 江 学 院 电 气 机 械 工 程 系 , 江 杭 州 30 3 ) 杭 浙 10 6

DSP程序在线升级报告(本人觉得最给力的资料)

DSP程序在线升级报告(本人觉得最给力的资料)

DSP程序在线升级唐俊松*******************.cn2015/12/04 1. 引言一般而言,DSP程序更新是在CCS环境下通过JTAG接口来实现的。

但JTAG烧写程序只能实现一对一烧写(即电脑到DSP),且不能远距离烧写程序。

而当产品发布后或需要同时升级多个DSP程序时,通过JTAG烧写程序则很难实现。

在线程序升级的主要思想是通过串口通信更新程序,通过串口通信可实现程序远程升级且可同时实现对多个DSP的程序更新,这有效地解决了JTAG烧写程序所存在的弊端。

1. 通过JTAG更新DSP程序2. 通过串口(RS232)更新DSP程序图1.1 通过不同方式实现DSP程序更新2. 程序在线升级的基本思想基于串口通信的程序在线升级功能框图如图2.1所示,底层程序(Prog Local)和应用程序(Prog App)分别由两个独立的CCS Project产生。

底层程序(Prog Local)是产品发布前通过JTAG烧写固化在DSP指定Flash空间中的程序,不允许用户修改和擦除,主要用于实现与上位机的通信,同时在需要升级程序时将上位机发送过来的程序代码烧写到FLASH中。

应用程序(Prog App)是可以更新的程序。

通过CCS编译产生程序代码文件(hex),然后通过RS232通信将程序代码发送到DSP,继而由底层程序(Prog Local)将应用程序代码烧写到应用程序所对应FLSH空间(Prog App)中。

图2.1 DSP程序在线升级功能框图在线升级程序流程图如图2.2所示。

DSP上电复位后先运行底层程序,在底层程序中判断是否需要升级,如不需要升级,则跳转到应用程序执行。

如需要升级,则擦除应用程序对应FLASH区,并将升级代码写入到应用程序FLASH区中。

图2.2 DSP程序更新流程图3. 在线程序升级的具体实现3.1 FLASH分配要实现程序在线升级,必须使底层程序和应用程序相互独立。

一种DSP芯片软件在线更新方法和系统[发明专利]

一种DSP芯片软件在线更新方法和系统[发明专利]

专利名称:一种DSP芯片软件在线更新方法和系统专利类型:发明专利
发明人:田富杰,胡世鹏,田清和,张宁
申请号:CN202011205714.8
申请日:20201102
公开号:CN112256304A
公开日:
20210122
专利内容由知识产权出版社提供
摘要:本申请公开了一种DSP芯片软件在线更新方法,用于对DSP芯片进行在线的数据更新。

首先与DSP芯片建立通讯连接并获取DSP芯片的芯片信息,在从一云服务器获取与该芯片信息对应的DSP芯片软件的更新列表和通讯密匙,以依据更新列表从服务器获取加密的待更新数据,并通过通讯密匙验证服务器发出的待更新数据。

再对加密的待更新数据解密后发送给DSP芯片,并接收DSP芯片发回的反馈验证数据,依据反馈验证数据校验已发送的待更新数据与DSP芯片获取的待更新数据相同,当校验成功时结束更新。

由于在从服务器获取待更新数据和向DSP芯片发送待更新数据时,都进行了校验和加密,使得DSP芯片软件在线更新的可靠性和安全性更高。

申请人:深圳市海浦蒙特科技有限公司
地址:518055 广东省深圳市南山区西丽大勘王京坑工业区28栋3楼302
国籍:CN
代理机构:深圳鼎合诚知识产权代理有限公司
更多信息请下载全文后查看。

最新DSP在线升级程序步骤资料

最新DSP在线升级程序步骤资料

目标板:C2000的28335/28069一、主要思路:1、准备升级程序(相当于一个bootloader),作为上电首先运行的程序。

进入升级程序,首先判断需不需要升级,需要升级,进入升级状态,通信完成新的主程序的接收,存入,升级成功后,进入主程序运行。

2、在主程序运行时,收到升级指令,标记升级标志,重启进入升级程序进去升级。

3、板子上电后,会调到flash启动的起始地址0x33FFF6(DSP28335),这个地址存放着程序的codestart 的其实地址。

所以,修改了0x33FFF6的存放的值,那么就能决定执行那一段程序。

还可以通过汇编跳转指令直接跳转到程序codestart执行。

二、升级程序1、具备能力:具备通信能力和Flash读写能力2、准备:Flash API移植、上位机的升级配套程序;存储升级标志位的空间(外部EEPROM,不会随便擦除的内部Flash)3、流程:接收->校验->烧写->跳转三、升级步骤1、数据接收:通过CAN/串口等方式接收数据。

由于28335内存较小,不适合缓存大量的数据,这里是接收一部分数据,校验完成后烧写进Flash,再去接收一部分数据2、数据解析:接收到的数据是hex格式的数据,所以需要解析才能放入对应的flash地址。

但由于28335能力限制,这里采用先在上位机解析完成,采用先告知地址,然后发送数据的方式完成数据通信和传输。

3、校验:这里采用crc校验。

/*******************************************************Name : crc16*Function: crc校验16位*Params : data(UInt8 *):待操作的数组 len:数据长度*Return : UInt16:返回CRC值 CRC校验码为2个字节高位在前*******************************************************/UInt16 crc16(Uint8 *data, UInt16 len){UInt16 CRC = 0xFFFF;UInt8 j, TMP = 0;UInt8 i;for (i = 0; i < len; i++){CRC ^= data[i];for (j = 0; j < 8; j++){TMP = CRC & 0x0001;CRC = CRC >> 1;if(TMP)CRC = CRC ^ 0xA001;}}return CRC;}4、数据烧写flash:运用flash API提供的接收完成数据的烧写。

一种基于DSP在线更新配置程序的实现方法

一种基于DSP在线更新配置程序的实现方法
F G 配 置数 据从 F AS 存 储 器 的 读取 和 配 置 控 制 ,以及 在 P A L H 不 进 行 加 载 配 置 时 , P对 F A H 存 储 器 的访 问 控 制 。DS DS L S P
完 成 和 工 控 机 通 信 , 收 配 置 数 据 , 入 F A H 存 储 器 相 应 接 写 LS
Ab t a t o P sr c : f GA n P p o i o nv r ls s m ei n i t d cn e h i u fo l e p o r m p ai g Us g F a d DS , r v d f ru i e s t d s , n r u i g a tc n q e o n— i r ga u d t . i a y e g o n n n l h f s m e  ̄ a mo so n c n g rt n aa c o e a n wi M CU ’ r g a , kn u e f CP D t u d t a d o f u e t r g o f u ai d t , o p rt g i i o i t h S p o r m ma i g s o L o p ae n c n g r i
总线 与 终 端 硬 件 连 接 ,终 端 硬 件 中 DS P采 用 T 3 0 6 1 , MS 2 C 4 6
F G 和 C L 采 用 A T RA公 司可 编 程 器件 。F A H 存 储 PA PD LE LS 器 芯 片 存 储 DS P相 关 程 序 和 F G 配 置 数 据 。 C L 完 成 PA PD
配 置 数 据 存 储 区 ,对 数 据 进 行 校 验 ,控 制 加 载 更 新 之 后 的程
序。
及互 操 作 能 力 ,越 来 越 多 的 系统 都 是 用能 够 重新 配 置 的软 件

一种基于TMS320F28335的DSP软件在线升级方法[发明专利]

一种基于TMS320F28335的DSP软件在线升级方法[发明专利]

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202011174894.8(22)申请日 2020.10.28(71)申请人 北京航天发射技术研究所地址 100076 北京市丰台区南大红门路1号(72)发明人 李旬 李宏 余海敏 王盛 余胜义 彭惠 王品 焦晨阳 (74)专利代理机构 北京天方智力知识产权代理事务所(普通合伙) 11719代理人 路远(51)Int.Cl.G06F 8/654(2018.01)(54)发明名称一种基于TMS320F28335的DSP软件在线升级方法(57)摘要本发明公开了一种基于TMS320F28335的DSP软件在线升级方法,属于软件在线升级方法技术领域,包括如下步骤:S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域;S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域;S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序。

本发明提高了软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将bootloader引导程序和DSP应用程序放置在不同Flash分区,FlashA区域存储bootloader引导程序,FlashB区域存储DSP应用程序。

权利要求书2页 说明书4页 附图3页CN 112346769 A 2021.02.09C N 112346769A1.一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,包括如下步骤:S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域;S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域;S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序;S4、判断是否有来自上位机RS422/RS232接口的程序升级指令:当有来自上位机RS422/RS232接口的程序升级指令时,执行步骤S41;当没有来自上位机RS422/RS232接口的程序升级指令,执行步骤S42;S41、通过调用Flash28335_API函数将串口发送的新程序搬运至FlashB区域,用以覆盖原DSP应用程序;S42、bootloader引导程序运行完毕后直接跳转至FlashB区域的起始入口,自动执行原DSP应用程序。

基于 RS422 接口的 DSP28335 软件在线自更新升级方法研究

基于 RS422 接口的 DSP28335 软件在线自更新升级方法研究

基于 RS422 接口的 DSP28335 软件在线自更新升级方法研究摘要:本文以某项目研制为背景,开展针对DSP TMS320F28335的嵌入式软件在线升级方法研究,提出了一种基于RS422接口的“软件自更新”解决方案,即在产品内部存储器中只存放有一个产品最终上电工作的DSP软件,在产品DSP软件需要更新升级时,上位机软件可通过RS422接口与产品DSP软件建立通讯,完成产品DSP软件的在线升级更新,解决产品在不拆机情况下的产品DSP软件在线升级问题。

关键词:TMS320F28335;RS422接口;DSP软件;软件自更新1 引言一般而言,DSP嵌入式软件的更新是在CCS开发环境下通过JTAG接口连接仿真器来实现的,但JTAG烧写DSP软件时只能实现一对一烧写,并且,当产品完成整机装配调试后需要升级DSP软件时,想通过JTAG烧写程序则必须对整机进行拆机后方能实施DSP程序的JTAG烧写,这样就显得很不方便,不利产品软件的使用维护。

目前国内已有的DSP28335软件在线更新升级方法多为通过第三方上传软件与上位机软件共同配合,最终实现DSP28335嵌入式软件的更新。

该方法较JTAG接口更新DSP软件的方法,提高了嵌入式软件的使用维护性能,但是该方法存在一个显著的缺点,就是研制和管理第三方上传软件所带来的上传软件外方评测及软件技术状态管理等方面的经济成本,实际应用时,还需预先通过JTAG方式将第三方上传软件烧写入DSP28335片内FLASH指定空间并永久保存,然后才能使第三方上传软件与上位机软件共同配合,完成系统工作用DSP软件的更新升级。

针对上述问题,本文以某项目研制为背景,开展DSP28335的软件在线升级方法研究,并针对产品能在不拆机的情况下能实现软件在线更新升级这一技术难题,创新性的提出一种基于RS422接口的“软件自更新”解决方案,该方案只需研制一个最终系统使用的DSP软件,便可实现产品在不拆机情况下的软件更新升级,不仅提高了产品的使用维护性能,而且降低了软件产品研制成本,具有长远的经济实用价值!2 软件在线自更新升级原理A软件和B软件均为CCS工程产生的DSP软件,其中A软件为待上传更新的DSP软件。

一种DSP程序的在线升级方法、系统、设备及介质[发明专利]

一种DSP程序的在线升级方法、系统、设备及介质[发明专利]

专利名称:一种DSP程序的在线升级方法、系统、设备及介质专利类型:发明专利
发明人:李高明,潘静
申请号:CN202210326400.6
申请日:20220330
公开号:CN114579165A
公开日:
20220603
专利内容由知识产权出版社提供
摘要:本发明提供的一种DSP程序的在线升级方法,在程序烧写成功的条件下,通过二级引导程序BootMain函数,程序入口立即进入main函数中,达到了进入用户程序的实时性;另外,如果在程序升级的过程中,程序烧写失败,则在系统重新配电后,二级引导程序BootMain函数会判断烧写失败标志,进而进入备用程序升级函数中进行程序升级,从而解决了在烧写失败后的断电后无法进行DSP程序的在线升级的技术问题。

申请人:湖北三江航天红峰控制有限公司
地址:432000 湖北省孝感市北京路特8号
国籍:CN
代理机构:武汉东喻专利代理事务所(普通合伙)
代理人:方可
更多信息请下载全文后查看。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一种新型DSP软件在线升级方法的研究与实现孙亚萍,张慧熙时间:2010年05月13日字体: 大中小关键词:<"cblue" "/search/?q=DSP" target='_blank'>DSP<"cblue" "/search/?q=在线升级" target='_blank'>在线升级<"cblue""/search/?q=Flash"target='_blank'>Flash<"cblue" "/search/?q=BOOT 程序" target='_blank'>BOOT程序<"cblue""/search/?q=dsPIC33F"target='_blank'>dsPIC33F<"cblue""/search/?q=Microchip公司"target='_blank'>Microchip公司<"cblue" "/search/?q=Microchip 公司" target='_blank'>Microchip公司摘要:提出并实现了一种新型<"cblue""/search/?q=DSP" title="DSP">DSP系统软件版本<"cblue" "/search/?q=在线升级" title="在线升级">在线升级方法及其3种升级方式,详细论述了<"cblue""/search/?q=Flash" title="Flash">Flash的存储分配结构以及系统<"cblue" "/search/?q=BOOT程序" title="BOOT程序">BOOT程序的设计。

具有实现简单、更新方式灵活、程序可靠性高等优点,可广泛应用于数字控制芯片领域。

关键词: DSP;在线升级;Flash;BOOT程序随着IT技术的迅猛发展,数字化技术已被广泛应用到国民经济的各个领域。

数字化技术的核心包括两个部分:MCU或DSP等数字控制芯片和相应的软件程序。

一般的数字芯片均带有Flash存储空间、丰富的外设模块,其中包括各种常见的通信接口(例如I2C、RS232等)。

同时,为了满足不断变化的应用需求,一般会在相应的软件程序设计中加入Bootloader功能,即利用系统已有的通信接口,依靠BOOT程序在线更新MCU或DSP中的软件。

完成软件更新之后,运行更新版本程序来实现系统功能的扩展或升级。

目前,常用的更新方法有2种:(1)直接刷新Flash中已有的代码来实现软件的升级。

虽然该方法实现简单,但是存在意外风险,即当系统在更新软件过程中意外断电时,MCU或DSP中原有的正常版本程序也将被破坏、无法运行,导致系统崩溃。

(2)在MCU或DSP的Flash中开辟2个空间A和B,分别作为主BOOT区和备BOOT区。

这种方法虽然提高了软件更新的可靠性,但却增加了程序设计或硬件电路的复杂性。

因为MCU或DSP中断向量表的地址一般是固定的,所以只能依靠复杂的版本切换程序或硬件选择器来实现A、B区域中2个版本软件的切换。

为了克服现有技术的不足,提出了一种新型的软件版本在线更新方法和3种更新方式,并且在数字控制芯片领域中得到了实际应用。

1 <"cblue" "/search/?q=dsPIC33F"title="dsPIC33F">dsPIC33F微控制器及地址空间分配1.1 dsPIC33F微控制器美国<"cblue" "/search/?q=Microchip公司" title="Microchip公司">Microchip公司设计生产的dsPIC33F微控制器采用16 bit改良的哈佛架构和C编译器优化的指令集,其带有16 bit的数据总线和24 bit指令,以及4 MB指令字的线性程序存储空间,寻址范围最大64 KB。

由于其本身内部集成了多达256 KB的Flash程序存储器和30 KB的数据SRAM,因此,只需要上电复位电路和外部晶振电路,以及用于主要核心工作模块的3.3 V电源就可以正常工作而无需额外的外围器件支持。

1.2 Flash地址空间分配为了做到故障保护,防止在更新过程中发生更新文件出错、意外断电等灾难性故障,本设计将dsPIC33F的Flash空间分为3个区域,如图1所示。

图中(A)区用于存储应用程序正常版本;(B)区用于存储应用程序更新版本;(C)区用于存储BOOT程序。

其中(A)区、(B)区的分配空间大小相等,因为(B)区的主要用途在于存储(A)区的运行程序的更新版本软件。

在实际应用中,可以根据Flash的大小、程序代码长度等因素灵活调节。

如果采用dsPIC33FJ64GP710控制器,其Flash空间范围为0x0000-0xFFFF,每页的大小为0x100,则dsPIC33FJ64GP710的Flash空间地址典型分配如表1所示。

应用程序更新版本和正常版本的Flash空间大小都为0x7000,而且,不论是应用程序正常版本或是更新版本,其第一个运行的指令都是跳转到BOOT程序,其最后的2组地址都用于存放新的、有效的标志位。

所以,当更新升级程序时,仅需要将应用程序更新版本中的更新程序整体拷入应用程序正常版本中即可,而不需区分其中的标志位、跳转指令和程序本体,简化了BOOT 程序的设计。

2 BOOT功能的设计与实现本软件程序设计主要分为两部分:应用程序的设计和BOOT程序的设计。

出厂时,应用程序的正常版本放在图1中(A)区,而BOOT程序放在图1中(C)区。

更新时,仅对应用程序进行更新。

系统上电复位时,软件首先跳转至BOOT程序开始运行。

BOOT程序首先检测图1(B)区中的更新版本程序是新的、有效的,BOOT程序才会擦除图1(A)区中的正常版本,再将图1(B)区中的更新版本拷入图1(A)区中,覆盖正常版本后在图1(A)区中设置正常版本有效标志位;否则BOOT程序将终止软件版本的更新,并设置更新失败标志。

然后软件将从图1(C)区中BOOT程序跳回图1(A)区中运行应用程序的正常版本。

因为只有在更新版本有效时,才会擦除正常版本,因此,更新版本和正常版本不会同时无效。

系统软件主程序设计具体流程如图2所示。

软件在擦除(A)区的过程中如果出现异常(如系统掉电),将导致(A)区中的应用程序破坏。

然而,此时(B)区中的更新软件是有效的,当系统重新上电运行时,BOOT程序会将(B)区中的更新软件拷入(A)区中,然后从(A)区开始运行,从而可以有效地解决常用版本更新方法存在的意外风险问题。

Boots程序关键函数如下:void EraseFlashPages(void) //用于擦除Flash中所指定区域;void ProgramRow(unsigned char*ptrData,uReg32 SourceAddr)//用于向指定的地址写入ptrData所指向的数据;void ReadRow(unsigned char*ptrData,uReg32 SourceAddr)//用于从指定的地址读取数据到ptrData所指向的位置;void SetFlag(unsigned long FlagAddr) //用于向指定的地址写入有效标志;void ClearFlag(unsigned long FlagAddr) //用于擦除指定地址的有效标志。

3 DSP软件更新方式与更新方法3.1 DSP软件更新方式为了进一步提高系统更新软件的可靠性、灵活性,本文提供了3种更新方式:(1)在下载更新程序结束后,立即执行更新操作;(2)在下载更新程序结束后,PC机通过通信发送更新命令再执行更新操作;(3)在下载更新程序结束后,在系统下一次上电复位后,再执行更新操作。

基于VC编写的DSP软件更新方式选择界面,如图3所示。

其中,更新方式(1)适用于对可靠性要求不是很严格,而且马上需要更新的场合,该方法与现有的、常用的在线升级方式相似,但克服了其存在的不足;更新方式(2)可以让客户根据实际系统的运行需要来选择更新软件的时机,因此可以在合适的时间内进行软件更新,将更新的风险进一步降低;更新方式(3)适合于对可靠性要求非常严格的场合,在系统断电后,重新上电复位后进行更新。

更新方式选择关键函数如下:void UpgradeAppCode(void); //用于执行更新程序操作;void FW_Download(unsigned char DataBuffer, unsigned char RWflag); //通过通信接口,将下载的新程序保存到应用程序更新版本区域。

3.2 更新版本程序下载流程如果软件需要更新时,首先将更新版本软件下载到应用程序更新版本(图1(B))中,在更新版本软件的下载过程中,对更新版本进行校验,如果更新版本下载成功,则在指定的地址中设置更新程序是新的、有效的标志位;反之,则设置无效的标志位。

BOOT程序中更新版本程序下载流程如图4所示。

本文提出了一种高可靠的软件版本在线升级方法和3种更新方式,该软件具有实现简单、更新方式灵活、程序可靠性高等优点,可应用于数字控制芯片领域。

参考文献[1] Microchip Technology Inc. dsPIC33FJXXXMCX06/X08/X10 motor control family data sheet[C]. 2007.[2] Microchip Technology Inc. MPLAB IDE用户指南[Z]. 2005.[3] Microchip Technology Inc. dsPIC30F/33F programmer’s reference manual. preliminary[Z]. 2005.[4] 王江.Bootrom功能改进经验谈[J].电子技术应用,2004,30(10):7-9.。

相关文档
最新文档