CN2921952Y - 一种可智能加载硬件的移动终端 - Google Patents

一种可智能加载硬件的移动终端 Download PDF

Info

Publication number
CN2921952Y
CN2921952Y CN 200520130591 CN200520130591U CN2921952Y CN 2921952 Y CN2921952 Y CN 2921952Y CN 200520130591 CN200520130591 CN 200520130591 CN 200520130591 U CN200520130591 U CN 200520130591U CN 2921952 Y CN2921952 Y CN 2921952Y
Authority
CN
China
Prior art keywords
module
hardware
operating system
load
loading
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.)
Expired - Fee Related
Application number
CN 200520130591
Other languages
English (en)
Inventor
黄泳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200520130591 priority Critical patent/CN2921952Y/zh
Application granted granted Critical
Publication of CN2921952Y publication Critical patent/CN2921952Y/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本实用新型公开了一种可智能加载硬件的移动终端,包括操作系统内核模块,其特征在于,还包括硬件识别模块、至少一个硬件驱动模块、加载模块;其中,加载模块与所述硬件识别模块相连,读取不同硬件的寄存器,识别出不同型号的硬件,并生成硬件标志文件;所述加载模块还与所述硬件驱动模块相连,根据由所述硬件识别模块生成的硬件标志文件,将对应的硬件驱动模块插入所述内核模块。本终端克服了传统移动终端操作系统中驱动程序加载的缺点,既能够解决手机存储空间资源有限的问题,也能够自动兼容多种同类型硬件并存的状况,同时能够非常方便地进行扩充和升级。这样移动终端程序版本售后维护也更方便,节省人力和成本。

Description

一种可智能加载硬件的移动终端
技术领域
本实用新型涉及一种可加载硬件的移动终端,特别涉及一种可智能加载硬件的移动终端。
背景技术
智能移动终端按操作系统可分为Symbian系统、WinCE系统以及Linux系统。目前移动终端操作系统对相关的移动终端硬件驱动程序的加载实现,仍然主要采用传统方式,具体有两种加载方法。
一、把驱动程序模块和移动终端操作系统内核做成一个整体。这种方法的主要缺点是耗费存储空间,移动终端本身的存储空间容量有限,而且随着移动终端功能日渐强大,硬件外设种类繁多,如果都采用这种方式,那存储空间就会非常紧张。同时,一旦器件升级就必须重新生成新的软件版本,非常复杂,也不便于维护版本。
二、把驱动程序单独加载。这种方法虽然可以解决存储空间问题,但是如果硬件一旦需要升级,就要根据不同硬件加载不同的驱动程序,这样就需要维护多个版本,导致了使用、维护起来很不方便。
目前所使用这些移动终端操作系统的移动终端还不能解决节约移动终端存储空间问题,同时也不能自动兼容多种同类型硬件并存的状况,对移动终端进行升级和扩充十分不方便。
实用新型内容
本实用新型解决的技术问题在于提供了一种可智能加载硬件的移动终端,以解决节约移动终端存储空间问题,同时能自动兼容多种同类型硬件并存的状况,方便的对移动终端进行升级和扩充。
为解决上述技术问题,本实用新型提供了一种可智能加载硬件的移动终端,包括操作系统内核模块,其特征在于,还包括硬件识别模块、至少一个硬件驱动模块、加载模块;其中,加载模块与所述硬件识别模块相连,读取不同硬件的寄存器,识别出不同型号的硬件,并生成硬件标志文件;所述加载模块还与所述硬件驱动模块相连,根据由所述硬件识别模块生成的硬件标志文件,将对应的硬件驱动模块插入所述内核模块。
可以进一步包括:
删除模块,与操作系统内核模块相连,在加载完成后,从系统内核中删除所述硬件识别模块。
可以进一步包括:
标志文件删除模块,与操作系统内核模块相连,在加载完成后,删除所述生成的标志文件。
所述硬件识别模块可以包括:
寄存器读取模块,与标志文件生成模块相连,读取不同硬件的寄存器,识别出不同型号的硬件;
标志文件生成模块,与寄存器读取模块和操作系统内核模块相连,根据不同硬件,生成硬件标志文件。
所述标志文件生成模块可以包括:依次相连的取得并保存当前进程的用户空间地址范围的模块、取得内核空间地址范围的模块;将当前的用户空间地址范围指向内核空间地址范围的模块、在内核地址空间操作所述硬件标志文件的写入的模块、完成写操作后,恢复保存的用户空间地址范围的模块。
所述加载模块可以包括:
硬件识别加载模块,与硬件识别模块和操作系统内核模块相连,将硬件识别模块加载入操作系统内核模块;
驱动加载模块,与驱动模块和操作系统内核模块相连,将驱动模块加载入操作系统内核模块;
所述驱动加载模块可以包括:
宏定义模块:根据需要兼容的硬件数据,定义对应数量的宏;
插入控制模块:根据宏定义,控制不同硬件驱动程序的插入过程的模块。由于在本实用新型的移动终端中,驱动模块是独立编写的,所以以后移动终端硬件升级换代也只需要增加新的模块即可,有一定的前瞻性和兼容性,便于软件的维护。本实用新型通过对移动终端传统驱动程序加载方式的改进,取得了移动终端可以根据器件的不同而动态加载对应驱动程序的进步,达到了智能识别同类型器件的效果,节省了后续软件研发成本,提高了产品的稳定性、可靠性、多样性。
附图说明
图1为本实用新型实施例中移动终端的结构图;
图2为本实用新型实施例中移动终端的标志文件生成模块的结构图;
图3是本实用新型实施例中移动终端采用Linux操作系统时智能加载驱动程序的实施流程图。
具体实施方式
下面结合具体实施方式来说明本实用新型。
首先本实施例为了能够解决移动终端中存储空间有限的问题提供了一个硬件驱动模块,它是把驱动程序编译成独立软件模块,单独加载,这样可以减少内核存储空间。对驱动主程序,采用定义多个宏的方法,辅之以条件编译的方法来控制程序的执行流程。这样做的最大好处是可以在一个驱动程序的框架中实现多个型号的器件驱动功能,并且能大大减少目标代码的大小,从而达到节省存储空间的目的,还便于源代码的修改维护。
有几种硬件需要实际兼容,就在程序中来定义几个宏。由于智能移动终端上使用的操作系统是可裁剪的,因此在操作系统配置菜单中定义几个和相关硬件器件对应的选项,就能方便程序编译。这样即使以后升级器件,也只需要编译新的模块就可以了,不用替换整个操作系统。
其次为了能够自动兼容多种类型并存的硬件,通过程序来识别同类器件的不同型号的方法中。由于同类型器件和CPU的控制连接方式基本是一样,所以能够按相同的通讯方法来读取器件的寄存器,从而识别出器件型号。因此除了在驱动软件模块外,本实施例还提供了一个硬件识别模块来区分不同的器件。
当硬件识别模块中的寄存器读取模块识别出特定的硬件器件后,就由硬件识别模块生成一个特殊的标志文件。然后系统根据不同的标志文件来插入不同的硬件驱动模块。这个硬件识别模块由于功能非常简单,所以文件也很小,一般不到几千字节。
本实施例中硬件识别模块和驱动模块之间的联系方式是通过标识不同文件来实现的。因为对文件的操作都是在手机用户空间进行,而硬件识别模块是运行在操作系统的内核空间。硬件识别模块写标志文件的过程,涉及到通过内核空间向用户空间写文件的方法。所以硬件识别模块首先需要取得并保存当前进程的用户空间地址范围,再取得内核空间地址范围,把当前的用户空间地址范围指向内核空间地址范围,这样就能够在操作系统的内核空间操作文件的读写。写完后再恢复保存的用户空间地址范围就能完成两个模块之间的联系了。
下面以操作系统中常采用的Linux操作系统为例来说明本实用新型,图1所示为说明本实施例中的Linux手机驱动程序智能加载系统的结构图。
如图1所示:实施例提供的移动终端中中含有:
Linux操作系统内核模块10、硬件识别模块11、至少一个硬件驱动模块12、加载模块13,其中,加载模块13分别与硬件识别模块11和硬件驱动模块12相连。
加载模块13将硬件识别模块11插入操作系统内核模块10,它在硬件识别模块11读取不同硬件的寄存器,识别出不同型号的硬件后,并根据不同硬件,生成硬件标志文件,加载模块13再根据标志文件,将对应的硬件驱动模块12插入操作系统内核模块10对硬件进行驱动。
加载模块13中包括:
硬件识别模块加载模块131,用于加载硬件识别模块11;驱动加载模块132,用于加载驱动模块12;
其中,驱动加载模块132又包括:
宏定义模块1321:根据需要兼容的硬件数据,定义对应数量的宏;插入控制模块1322:根据宏定义,控制不同硬件驱动程序的插入过程的模块。
硬件驱动模块12包括有若干被编译成独立的模块,如第一硬件驱动模块、第二硬件按驱动模块、......第N硬件驱动模块用于给需要驱动的硬件提供驱动软件。
硬件识别模块11含有寄存器读取模块111用于识别硬件和标志文件生成模块112用于生成标志文件。
移动终端还进一步包括:
删除模块14,用于在加载完成后,从系统内核中删除硬件识别模块11;标志文件删除模块15,用于在加载完成后,删除所述生成的标志文件。这样做的目的是进一步释放操作系统的内核存储空间。
如图2所示,是硬件识别模块11中标志文件生成模块112的结构图。其中包括:
取得并保存当前进程的用户空间地址范围的模块1121;取得内核空间地址范围的模块1122;将当前的用户空间地址范围指向内核空间地址范围的模块1123;在内核地址空间操作所述硬件标志文件的写入的模块1124:完成写操作后,恢复保存的用户空间地址范围的模块1125。
下面结合图3来说明本实施例中的具体实施过程。
图3是本实用新型实施例的Linux手机驱动程序智能加载系统的实施流程图。其实施步骤如下:
步骤301、手机开机上电后,首先运行嵌入式Linux操作系统,由操作系统初始化必要的软硬件环境;
步骤302、操作系统启动完毕;
步骤303、由加载模块中的硬件识别模块加载模块插入硬件识别模块;
步骤304、硬件识别模块中的寄存器读取模块通过读硬件寄存器识别出特定型号的硬件;
步骤305、硬件识别模块中的标志文件生成模块生成标志文件;
步骤306、加载模块中的硬件驱动模块加载模块根据不同的标志文件来插入相对应的硬件驱动模块;
步骤307、硬件驱动模块加载成功,系统调用相应的硬件驱动程序模块对硬件进行驱动;
步骤308、删除模块从内核中删除硬件识别模块以增加内存,同时标志文件删除模块删除标志文件。
本实用新型通过模块加载方式避免了移动终端中操作系统存储空间的不足,以后移动终端的硬件升级换代也只需要增加新的模块即可,有一定的前瞻性和兼容性,便于移动终端软件的维护。通过对传统移动终端驱动程序加载方式的改进,取得了移动终端可以根据硬件不同而动态加载对应驱动程序的进步,达到了智能识别同类型器件的效果,节省了后续软件研发成本,提高了产品的稳定性、可靠性、多样性。
在本实用新型的移动终端中,由于采用了将每个硬件驱动程序编译成独立的软件模块,克服了传统移动终端操作系统内核中手机存储空间资源有限的问题,同时因为增加了硬件识别模块来识别不同硬件后,生成标志文件上报给移动终端操作系统,便于操作系统能够根据需要加载所需的驱动程序,本移动终端使得移动终端操作系统不但能够自动兼容多种同类型硬件,同时还能够非常方便地进行扩充和升级。这样移动终端硬件程序版本售后维护也更方便,节省人力和成本。

Claims (3)

1、一种可智能加载硬件的移动终端,包括操作系统内核模块,其特征在于,还包括硬件识别模块、至少一个硬件驱动模块、加载模块;其中,加载模块与所述硬件识别模块相连,读取不同硬件的寄存器,识别出不同型号的硬件,并生成硬件标志文件;所述加载模块还与所述硬件驱动模块相连,根据由所述硬件识别模块生成的硬件标志文件,将对应的硬件驱动模块插入所述内核模块。
2、如权利要求1所述的移动终端,其特征在于,所述硬件识别模块,包括:
寄存器读取模块,与标志文件生成模块相连,读取不同硬件的寄存器,识别出不同型号的硬件;
标志文件生成模块,与寄存器读取模块和操作系统内核模块相连,根据不同硬件,生成硬件标志文件。
3、如权利要求1所述的移动终端,其特征在于,所述加载模块,包括:
硬件识别加载模块,与硬件识别模块和操作系统内核模块相连,将硬件识别模块加载入操作系统内核模块;
驱动加载模块,与驱动模块和操作系统内核模块相连,将驱动模块加载入操作系统内核模块;
CN 200520130591 2005-11-09 2005-11-09 一种可智能加载硬件的移动终端 Expired - Fee Related CN2921952Y (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200520130591 CN2921952Y (zh) 2005-11-09 2005-11-09 一种可智能加载硬件的移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200520130591 CN2921952Y (zh) 2005-11-09 2005-11-09 一种可智能加载硬件的移动终端

Publications (1)

Publication Number Publication Date
CN2921952Y true CN2921952Y (zh) 2007-07-11

Family

ID=38254427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200520130591 Expired - Fee Related CN2921952Y (zh) 2005-11-09 2005-11-09 一种可智能加载硬件的移动终端

Country Status (1)

Country Link
CN (1) CN2921952Y (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520990A (zh) * 2011-12-01 2012-06-27 太仓市同维电子有限公司 支持嵌入式系统跨平台兼容的通用应用装置及其载入方法
CN102662708A (zh) * 2012-03-31 2012-09-12 中标软件有限公司 一种Linux操作系统及其显卡驱动装置
CN107015807A (zh) * 2017-04-06 2017-08-04 青岛海信宽带多媒体技术有限公司 一种设备驱动管理方法
CN109582610A (zh) * 2018-12-05 2019-04-05 上海航天电子通讯设备研究所 一种VxWorks系统环境下跨显控平台兼容控制的方法及其模块

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520990A (zh) * 2011-12-01 2012-06-27 太仓市同维电子有限公司 支持嵌入式系统跨平台兼容的通用应用装置及其载入方法
CN102662708A (zh) * 2012-03-31 2012-09-12 中标软件有限公司 一种Linux操作系统及其显卡驱动装置
CN102662708B (zh) * 2012-03-31 2016-03-16 中标软件有限公司 一种Linux操作系统及其显卡驱动装置
CN107015807A (zh) * 2017-04-06 2017-08-04 青岛海信宽带多媒体技术有限公司 一种设备驱动管理方法
CN109582610A (zh) * 2018-12-05 2019-04-05 上海航天电子通讯设备研究所 一种VxWorks系统环境下跨显控平台兼容控制的方法及其模块

Similar Documents

Publication Publication Date Title
CN100472440C (zh) 一种智能加载手机硬件驱动程序的方法
CN100473090C (zh) 一种智能加载手机硬件驱动程序的系统
CN101110039B (zh) 终端设备自安装及自启动系统及方法
CN101694621B (zh) 一种升级移动终端软件的方法和移动终端
CN100461105C (zh) 一种智能化设备软件升级与修复的方法和系统
CN103176864B (zh) 一种基于安卓系统的备份方法、装置以及移动终端
CN103729210B (zh) 一种实现一个刷机包支持多种制式智能终端的方法及装置
CN102841802B (zh) 移动终端的软件升级方法
CN2921952Y (zh) 一种可智能加载硬件的移动终端
CN103761129B (zh) 一种在Bootloader层实现SDIO接口驱动的方法
CN101894028A (zh) Linux内核镜像数据支持多种CPU的实现方法及装置
CN102609285B (zh) 一种驱动智能匹配加载的方法
CN113656076A (zh) 一种基于硬件复用通道的bios启动方法及装置
CN101887374B (zh) 终端设备安装的方法及系统
CN100465891C (zh) 通过即插即用储存装置更新手持式设备操作功能的方法
CN101795328A (zh) 一种机卡分离的手机及其实现卡初始化的方法
CN101917779A (zh) 一种自动适配不同网络制式无线模块的方法及装置
CN101083817B (zh) 一种动态更换移动台字库模块的方法
US20040181777A1 (en) Method and device for programming electronic devices using a uniform parameter format
CN116719724A (zh) eMMC多平台测试方法和装置、电子设备
CN105446767A (zh) 智能台后装的生产测试中终端软件升级方法与系统
CN101489078A (zh) 一种数字电视终端和基于中间件的内存扩展方法及系统
CN107436783A (zh) 一种用于移动终端的差分升级方法、存储介质及移动终端
CN101625648B (zh) 一种即插即用设备及其固件升级方法和装置
CN102750167A (zh) 应用程序启动方法、装置和计算机系统

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070711

Termination date: 20131109