[发明专利]一种嵌入式软件驱动管理方法有效
申请号: | 200610170241.6 | 申请日: | 2006-12-21 |
公开(公告)号: | CN101206566A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 赵玉海 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京安信方达知识产权代理有限公司 | 代理人: | 许志勇;颜涛 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 软件 驱动 管理 方法 | ||
技术领域
本发明涉及嵌入式软件,具体涉及一种嵌入式软件驱动管理方法。
背景技术
以前操作驱动是显示调用一个一个全局驱动函数,使得应用随处可见调用驱动接口方法。如果驱动实现方式改变而导致不得不改变接口的话,应用也得跟着改变。实际上,要在成千上行应用代码中找到这个驱动接口,并遵照驱动接口来修改应用的相应处理是一件十分麻烦的事情。后来的系统设计为了规避这个问题,采用统一的驱动入口函数。调用驱动的接口对应用来说只有一个入口。把驱动的变化性缩小到只在驱动模块内部。其实现的方式如下:
1.定义一个驱动管理层,对应用只提供一个入口函数。简化应用对驱动的依赖。
2.驱动管理者内部通过命令代码来识别并完成具体操作业务。为了便于驱动识别应用具体操作意图,驱动管理层对命令代码的编码规则做了明确的规定。比如,操作A芯片的B业务其命令码为xx-xx-xxxxH,其具体处理如图1所示,包括驱动管理者入口函数、Switch(命令代码)和具体驱动操作接口。
以上这种实现存在以下几个问题:
1)通过命令码的编码方式来区别不同的业务操作,使得入口函数switch分支条件很多,且还要维护命令码编码规则文档。对于上千种驱动业务操作,这种维护和函数的臃肿可想而知。
2)如果驱动新增业务处理,也就是新增一条命令代码,要把这个命令代码加入switch分支中,用户就不得不修改入口函数。否则就得重写入口函数的实现。
3)如果驱动想删除一条陈旧的命令,将这个命令代码赋予给一个新的业务处理,用户也不得不修改入口函数。否则就得重写入口函数的实现。
4)对于具体的一项业务处理,可能这个板在A芯片上实现,另一个板在B芯片上实现。不管在那个芯片上,这里区别仅仅是对象实例不同,它们的处理方式都一样。那么怎么规避这种变化从而使得不管具体业务在那种芯片上处理驱动管理层都一样呢?上述还没有提出一个有效的解决办法。
上述四个问题都导致系统可扩展性和维护性较差。
发明内容
本发明需要解决的技术问题是提供一种嵌入式软件驱动管理方法,能够降低应用和驱动耦合,并使得驱动管理易扩展,易维护。
本发明的上述技术问题这样解决,提供一种嵌入式软件驱动管理方法,采用面向对象和函数映射表,包括以下步骤:
1.1)应用通过统一入口函数调用驱动管理对象;
1.2)驱动管理对象接收所述调用并依据其中的关键字参数在所述函数映射表中查找对应处理函数;
1.3)封装在驱动管理对象内的所述处理函数完成通用处理后通过IC芯片对象接口委托选定的IC芯片对象进一步处理。
按照本发明提供的驱动管理方法,所述统一入口函数不限制具体形式,可以包括关键字参数、输入驱动报文参数和输出驱动报文参数。
按照本发明提供的驱动管理方法,所述函数映射表的任一记录包括所述关键字数据项和对应处理函数的指针数据项。
按照本发明提供的驱动管理方法,所述函数映射表可以增加、删除或修改。
按照本发明提供的驱动管理方法,所述驱动管理对象还向对应处理函数传递所述驱动报文参数;所述处理函数还进行驱动报文参数处理。
按照本发明提供的驱动管理方法,所述驱动管理对象包括共同基类,所述基类的处理函数调用IC芯片对象接口并进行驱动报文参数通用处理。
按照本发明提供的驱动管理方法,所述通用处理包括但不限于针对驱动报文参数进行通用校验。
按照本发明提供的驱动管理方法,所述驱动管理对象是所述基类的实例,用户可以通过继承但不限于继承的方式获得所述通用处理或通过覆盖修改原有驱动报文参数的处理。针对具体的单板可以自由个性化适合自己的驱动管理对象,而一些通用的共性操作都可以从基类中继承过来,降低用户的开发工作量。
按照本发明提供的驱动管理方法,用户可以通过扩展获得新增驱动报文参数的处理。
本发明提供的嵌入式软件驱动管理方法,对上层应用采用窄口径,屏蔽应用对具体芯片驱动的依赖,对驱动本身的共性进行抽取然后集中在驱动管理对象共同基类中完成,将驱动变化留给用户来提供,其提供方式包括但不限制于注册方式和抽象接口,与现有技术相比,降低了应用和驱动耦合,针对具体的单板可以自由个性化适合自己的驱动管理对象,且一些通用的共性操作都可以从基类中继承过来,降低用户的开发工作量,真正达到了易扩展,易维护,从而提高了软件模块可重用特性,避免了各个项目各自开发一套的局面,提高了系统适用性和实用性。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610170241.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种药物中间体的生产工艺方法
- 下一篇:基于密钥和时间戳的身份认证系统和方法