[发明专利]一种无线通信模块软件自主空中升级的方法、装置及系统有效
申请号: | 200910082649.1 | 申请日: | 2009-04-23 |
公开(公告)号: | CN101539885A | 公开(公告)日: | 2009-09-23 |
发明(设计)人: | 姜锋;夏华;唐富华 | 申请(专利权)人: | 大唐微电子技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;H04W8/24 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 龙 洪;霍育栋 |
地址: | 100094*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 无线通信 模块 软件 自主 空中 升级 方法 装置 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种无线通信模块软件自主空中升级的方法、装置及系统。
背景技术
当前,各厂家所开发的GSM(Global System for Mobile Communications,全球移动通讯系统)/GPRS(General Packet Radio Service,通用分组无线业务)模块大部分是没有升级功能的。有些带有升级功能的GSM/GPRS模块是通过在本地增加外围设备,例如增加通信接口、模块外存储设备或配合PC机来进行升级。但是,这种方式需要升级专用软硬件设备,并需要专人值守,而且大部分升级范围有限,例如只能升级脚本等,无法进行软件子模块的升级或整个协议栈软件的升级等。当模块作为产品出售后会发往全国各地,如果进行升级则需要大量的人力物力。若将使用现有方案的模块扩展为空中升级则需要添加专用的数据下载软硬件和模块外部存储设备,提高了模块的使用成本。
而且,在目前协议栈程序开发过程中,一般是将所有的子模块都编译成库文件,最后整合在主工程中进行链接,因此每次链接后各个子模块的链接地址会发生变化。这样如果单独升级子模块,较难掌握子模块的烧写位置。在每次链接后子模块内的函数地址会发生变化,而子模块中的一些函数或全局变量可能被其他子模块调用或使用,在调用模块未升级情况下,被调用函数的地址发生变化将会导致调用模块找不到被调用函数的地址。
另外,现有技术中在升级前需要现将升级数据下载到本地设备,但由于空中下载过程需要执行模块程序,因此下载时模块程序不能擦除。也就是说下载和升级需要分步进行,这就需要将下载数据暂时保存在模块中的闪速存储器(Flash Memory)中。而作为嵌入式系统,模块中的flash存储器空间非常有限,无法存储全部的升级代码。
发明内容
本发明要解决的技术问题是提出一种无线通信模块软件自主空中升级的方法、装置及系统,可以实现无线通信模块软件的自主空中升级,无须专人职守,无须外部存储设备,并且可以升级协议栈任意子模块,甚至全部协议栈软件。
为了解决上述技术问题,本发明提出一种无线通信模块的数据组织方法,包括:
在无线通信模块中,通过修改分散加载文件将各子模块链接并烧写至存储器中固定的地址;在每一子模块中,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过修改分散加载文件将该段链接到该子模块的首地址。
进一步地,上述方法还可具有以下特点:
在各子模块之间预留出升级所需的存储空间。
进一步地,上述方法还可具有以下特点:
当调用子模块调用被调用子模块中的函数或者使用被调用子模块中的全局变量时,先访问被调用子模块的首地址处指向该函数或者该全局变量的指针,再通过该指针来调用被调用子模块中的该函数或者使用被调用子模块中的该全局变量。
为了解决上述技术问题,本发明还提出一种无线通信模块,包含至少一个子模块,其中:
所述无线通信模块,通过分散加载文件将所述各子模块链接并烧写至存储器中固定的地址;所述每一子模块,将指向该子模块中需要被其它子模块调用的函数或使用的全局变量的指针放在一个独立的段中,并通过分散加载文件将该段链接到该子模块的首地址。
进一步地,上述无线通信模块还可具有以下特点:
所述各子模块之间预留有升级所需的存储空间。
进一步地,上述无线通信模块还可具有以下特点:
所述子模块包含调用子模块和被调用子模块;
调用子模块调用被调用子模块中的函数或者使用被调用子模块中的全局变量时,先访问被调用子模块的首地址处指向该函数或者该全局变量的指针,再通过该指针来调用被调用子模块中的该函数或者该全局变量。
进一步地,上述无线通信模块还可具有以下特点:
所述无线通信模块具有通用分组无线业务功能;所述无线通信模块内部固化有服务器的地址信息;
所述无线通信模块入网后定时启动通用分组无线业务功能,根据其内部固化的服务器的地址信息通过无线网络连接服务器,将其当前各子模块的软件版本告知服务器,与服务器进行信令交互,自动完成升级数据的下载和子模块升级。
为了解决上述技术问题,本发明还提出一种无线通信模块软件自主空中升级的方法,用于对上述无线通信模块进行软件自主空中升级,包括:
无线通信模块入网后定时启动通用分组无线业务功能,通过无线网络连接服务器,并将其当前各子模块的软件版本告知服务器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐微电子技术有限公司,未经大唐微电子技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910082649.1/2.html,转载请声明来源钻瓜专利网。