CN102830983A - 一种可动态加载不同终端交换芯片驱动的方法 - Google Patents
一种可动态加载不同终端交换芯片驱动的方法 Download PDFInfo
- Publication number
- CN102830983A CN102830983A CN2011101593585A CN201110159358A CN102830983A CN 102830983 A CN102830983 A CN 102830983A CN 2011101593585 A CN2011101593585 A CN 2011101593585A CN 201110159358 A CN201110159358 A CN 201110159358A CN 102830983 A CN102830983 A CN 102830983A
- Authority
- CN
- China
- Prior art keywords
- exchange chip
- eoc
- driving
- terminal
- calling interface
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种可动态加载不同终端交换芯片驱动的方法,该方法利用嵌入式操作系统平台支持可动态加载内核态驱动模块的特性,把终端交换芯片驱动封装为内核态驱动模块,并在EoC头端的控制软件中采用抽象的终端交换芯片驱动调用接口,根据EoC头端下当前连接的EoC终端类型灵活地匹配对应的实际驱动调用接口,并动态加载所需的交换芯片驱动模块,实现对EoC终端的控制与管理。通过本发明能实现不同类型的终端交换芯片驱动的动态加载,并实现EoC头端的控制软件代码与终端交换芯片驱动代码的分离,同时可有选择性地把终端交换芯片驱动放在本地或放在远程的驱动加载服务器上,避免因支持多种类型的交换芯片驱动而造成控制软件体积庞大的问题。
Description
技术领域
本发明涉及一种下一代广播电视网(NGB)应用技术,尤其涉及一种下一代广播电视网应用中可动态加载不同终端交换芯片驱动的方法。
背景技术
目前,在下一代广播电视网(NGB)建设中广泛采用的以太网同轴电缆(EoC)接入系统通常采用主从式(Master-Slave)的通信与管理架构。该架构中,EoC接入系统主要是由部署在楼道用于EoC网络侧接入的EoC头端设备与部署在用户室内用于EoC网络用户侧接入的EoC终端设备组成的,如附图1中所示。其中EoC头端设备管理与调度其下连接的1个或多个EoC终端设备。
EoC头端设备对EoC终端设备的管理主要包括EoC头端对EoC终端的工作模式与状态、VLAN(虚拟局域网,Virtual Local Area Network)、流量控制、QoS(服务质量,Quality of Service)等进行控制与管理。在具体实现中是由EoC头端的管理CPU通过固化在它上面的控制软件对EoC终端中的交换芯片的运行情况进行控制的。由于交换芯片厂商提供的驱动目前是以软件开发包(SDK)的方式提供接口给应用程序调用,因此,在EoC头端运行的控制软件必须以用户态LIB库的方式实现对交换芯片驱动接口的调用进而对EoC终端的交换芯片进行控制。当采用LIB库的方式调用时,控制软件必须把终端交换芯片驱动的LIB库集成进来才能进行运行,而且终端交换芯片的驱动代码必须与控制软件的其他代码捆绑在一起,所以难以实现交换芯片驱动的动态加载。
当一个EoC头端下连接着不同厂商提供的多个类型的EoC终端时,EoC头端的控制软件必须把它所支持的所有类型的EoC终端的交换芯片的软件包SDK以LIB库的形式集成进来。这样不但会造成控制软件体积越来越大从而难以固化在EoC头端设备中,并且每支持一款交换芯片,控制软件就要重新进行代码编写,编译,烧写,重启等一系列工作,当把事先未支持的EoC终端挂载到头端下的时候,为支持该终端的接入,EoC头端将不得不重启,这样会大大影响到其他用户终端的用户体验。
发明内容
本发明目的在于提供一种可动态加载不同终端交换芯片驱动的方法,通过利用嵌入式操作系统平台支持可动态加载内核态驱动模块的特性,把终端交换芯片驱动封装为内核态驱动模块,并在EoC头端的控制软件中采用抽象的终端交换芯片驱动调用接口,根据EoC头端下当前连接的EoC终端类型灵活地匹配对应的实际驱动调用接口,并动态加载所需的交换芯片驱动模块,通过对该驱动的调用实现对EoC终端的控制与管理。
一种可动态加载不同终端交换芯片驱动的方法,包含:
(1)将EoC终端交换芯片驱动封装为内核态驱动模块;
(2)把驱动模块加载到远程服务器端;
(3)在EoC头端的控制软件中,根据EoC头端设备对EoC终端设备的管理与控制功能,抽象定义出交换芯片驱动调用接口;
(4)EoC头端的控制软件运行时,根据当前连接的EoC终端类型,在本地查找相应内核态驱动,如未查找到相应内核态驱动,则从远程服务器上下载对应的内核态驱动,并在本地进行动态加载;
(5)通过抽象调用接口与交换芯片驱动实际调用接口之间的映射,实现对终端交换芯片驱动的调用。
在内核态驱动模块中,主要包含对交换芯片的控制与管理功能模块以及对外提供的调用接口,这个调用接口是在内核态对外提供的。EoC头端所要支持的各类型的EoC终端交换芯片驱动都要封装为内核态驱动模块的形式,并根据实际需要把它们或者放在本地,或者放在远程的驱动加载服务器上,供EoC头端在需要时候进行动态加载。
EoC头端的控制软件中包含抽象驱动调用接口定义、调用接口映射中间件模块及内核态驱动接口调用模块。由于不同类型的交换芯片驱动接口格式都不一样,为能实现对多种类型的交换芯片驱动的统一调用,本发明中增加抽象驱动调用接口。它是根据EoC头端对终端的管理与控制功能来定义,屏蔽了具体的数据类型格式等细节。同时增加调用接口映射中间件模块,用以实现抽象驱动调用接口到具体类型交换驱动调用接口之间的映射,该模块中需要把所要支持的多种类型的交换芯片驱动调用接口的类型定义集成进来。内核态驱动接口调用模块用于实现在用户态对内核态驱动模块的调用。
EoC头端的控制软件启动运行后,EoC头端首先识别它所连接的EoC终端(已上电)的交换芯片品牌与型号,若在本地没找到该类型对应的内核驱动,则到远程的驱动加载服务器下载相应的内核驱动模块,并在本地加载该内核驱动,然后控制软件中的控制与管理应用模块并根据应用要求调用内核驱动提供的功能,对EoC终端进行控制与管理。在实际应用过程中,可在EoC头端中设定默认的交换芯片类型,当遇到非该类型的交换芯片时再去远程的驱动加载服务器查找,然后再加载相应的驱动。
通过本发明,能够有效实现不同类型的终端交换芯片驱动的动态加载,并实现EoC头端的控制软件代码与终端交换芯片驱动代码的分离,同时可有选择性地把终端交换芯片驱动放在本地或放在远程的驱动加载服务器上,避免因支持多种类型的交换芯片驱动而造成控制软件体积庞大的问题。
附图说明
图1EoC接入系统主从式架构图;
图2本发明提供的可动态加载驱动的EoC接入系统架构图;
图3本发明提供的可动态加载不同终端交换芯片驱动的方法基本流程图。
具体实施方式
以下结合各附图对本发明提供的内容进行详细的描述:图2是本发明提出的可动态加载驱动的EoC接入系统的框架图,图3是本发明提供的可动态加载不同终端交换芯片驱动的方法基本流程图。
以一台EoC头端设备下需支持连接的EoC终端设备包括带Marvell88E6031交换芯片的终端、带Marvell 88E6061交换芯片的终端,还有其他Broadcom类型的终端,Marvell 88E6031为默认支持交换芯片为例,本发明提供的解决方法的实施方案如下:
首先,把所要支持的终端交换芯片驱动(包括Marvell 88E6031、Marvell88E6061、其他Broadcom类型)封装为可动态加载的内核驱动模块。同时,把Marvell 88E6031的内核驱动放在本地,把其他类型的内核驱动放在远程的驱动加载服务器上。
在EoC头端的控制软件代码中集成进所要支持交换芯片的驱动调用接口的参数定义代码,以便于进行驱动接口调用。并在EoC头端的控制软件中增加抽象驱动调用接口、调用接口映射中间件模块、内核态驱动接口调用模块。
EoC终端设备运行后,如检测到底下连接的EoC终端用的交换芯片驱动类型与型号,则做如下操作:
1)识别交换芯片品牌与型号,如是Marvell 88E6031就直接加载;如是其他类型的交换芯片则从远程的驱动加载服务器上下载相应的内核驱动模块并在本地进行加载;
2)EoC头端的控制软件根据应用要求调用相应类型交换芯片的内核驱动所提供的功能,对EoC终端进行控制与管理。
Claims (8)
1.一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述方法包含:
(1)将EoC终端交换芯片驱动封装为内核态驱动模块;
(2)把驱动模块加载到远程服务器端;
(3)在EoC头端的控制软件中,根据EoC头端设备对EoC终端设备的管理与控制功能,抽象定义出交换芯片驱动调用接口;
(4)EoC头端的控制软件运行时,根据当前连接的EoC终端类型,在本地查找相应内核态驱动,如未查找到相应内核态驱动,则从远程服务器上下载对应的内核态驱动,并在本地进行动态加载;
(5)通过抽象调用接口与交换芯片驱动实际调用接口之间的映射,实现对终端交换芯片驱动的调用。
2.根据权利要求1所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述内核态驱动模块中主要包含对交换芯片的控制与管理功能模块及对外提供的调用接口,调用接口是在内核态对外提供。
3.根据权利要求1所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述EoC终端交换芯片驱动均封装为内核态驱动模块的形式。
4.根据权利要求1所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述EoC头端所支持的各类型的EoC终端交换芯片驱动均封装为内核态驱动模块的形式,并根据实际需要把它们或者放在本地,或放在远程的驱动加载服务器上。
5.根据权利要求1所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述抽象驱动调用接口根据EoC头端对终端的管理与控制功能来定义。
6.根据权利要求1所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述EoC头端的控制软件中包含抽象驱动调用接口定义、调用接口映射中间件模块及内核态驱动接口调用模块。
7.根据权利要求1或6所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述调用接口映射中间件模块,用以实现抽象驱动调用接口到具体类型交换驱动调用接口之间的映射。
8.根据权利要求1或6所述的一种可动态加载不同终端交换芯片驱动的方法,其特征在于所述内核态驱动接口调用模块用于实现在用户态对内核态驱动模块的调用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101593585A CN102830983A (zh) | 2011-06-14 | 2011-06-14 | 一种可动态加载不同终端交换芯片驱动的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101593585A CN102830983A (zh) | 2011-06-14 | 2011-06-14 | 一种可动态加载不同终端交换芯片驱动的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102830983A true CN102830983A (zh) | 2012-12-19 |
Family
ID=47334133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101593585A Pending CN102830983A (zh) | 2011-06-14 | 2011-06-14 | 一种可动态加载不同终端交换芯片驱动的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102830983A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104375874A (zh) * | 2014-12-11 | 2015-02-25 | 北京奇虎科技有限公司 | 加载Linux内核驱动的方法及装置 |
CN104407887A (zh) * | 2014-11-06 | 2015-03-11 | 航天科工深圳(集团)有限公司 | 一种嵌入式系统内核模块动态加载程序的方法及装置 |
CN107003880A (zh) * | 2016-12-27 | 2017-08-01 | 华为技术有限公司 | 内核更新方法和装置、计算机设备 |
WO2020133691A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京图森未来科技有限公司 | 一种嵌入式系统驱动层的实现方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046606A1 (en) * | 2001-08-30 | 2003-03-06 | International Business Machines Corporation | Method for supporting user level online diagnostics on linux |
CN1777124A (zh) * | 2004-11-16 | 2006-05-24 | 华为技术有限公司 | 协议测试的装置及其实现协议测试的方法 |
CN1866202A (zh) * | 2005-05-18 | 2006-11-22 | 大唐移动通信设备有限公司 | 嵌入式设备的驱动方法 |
CN1881936A (zh) * | 2006-05-09 | 2006-12-20 | 国家数字交换系统工程技术研究中心 | 一种路由器虚拟驱动模块的动态加载与控制方法 |
CN1964525A (zh) * | 2005-11-09 | 2007-05-16 | 中兴通讯股份有限公司 | 一种智能加载手机硬件驱动程序的系统 |
CN101183310A (zh) * | 2007-12-13 | 2008-05-21 | 华为技术有限公司 | 一种建立设备驱动的方法、设备驱动装置及单板 |
CN101206566A (zh) * | 2006-12-21 | 2008-06-25 | 中兴通讯股份有限公司 | 一种嵌入式软件驱动管理方法 |
CN102023882A (zh) * | 2010-12-22 | 2011-04-20 | 福建天晴在线互动科技有限公司 | 计算机自动识别手机并安装手机驱动程序的系统及方法 |
-
2011
- 2011-06-14 CN CN2011101593585A patent/CN102830983A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046606A1 (en) * | 2001-08-30 | 2003-03-06 | International Business Machines Corporation | Method for supporting user level online diagnostics on linux |
CN1777124A (zh) * | 2004-11-16 | 2006-05-24 | 华为技术有限公司 | 协议测试的装置及其实现协议测试的方法 |
CN1866202A (zh) * | 2005-05-18 | 2006-11-22 | 大唐移动通信设备有限公司 | 嵌入式设备的驱动方法 |
CN1964525A (zh) * | 2005-11-09 | 2007-05-16 | 中兴通讯股份有限公司 | 一种智能加载手机硬件驱动程序的系统 |
CN1881936A (zh) * | 2006-05-09 | 2006-12-20 | 国家数字交换系统工程技术研究中心 | 一种路由器虚拟驱动模块的动态加载与控制方法 |
CN101206566A (zh) * | 2006-12-21 | 2008-06-25 | 中兴通讯股份有限公司 | 一种嵌入式软件驱动管理方法 |
CN101183310A (zh) * | 2007-12-13 | 2008-05-21 | 华为技术有限公司 | 一种建立设备驱动的方法、设备驱动装置及单板 |
CN102023882A (zh) * | 2010-12-22 | 2011-04-20 | 福建天晴在线互动科技有限公司 | 计算机自动识别手机并安装手机驱动程序的系统及方法 |
Non-Patent Citations (2)
Title |
---|
宁涛: ""面向嵌入式应用的动态加载机制研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
王宁: ""AT91 RM9200的SPI设备驱动程序开发"", 《电脑知识与技术》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407887A (zh) * | 2014-11-06 | 2015-03-11 | 航天科工深圳(集团)有限公司 | 一种嵌入式系统内核模块动态加载程序的方法及装置 |
CN104375874A (zh) * | 2014-12-11 | 2015-02-25 | 北京奇虎科技有限公司 | 加载Linux内核驱动的方法及装置 |
CN104375874B (zh) * | 2014-12-11 | 2017-05-17 | 北京奇虎科技有限公司 | 加载Linux内核驱动的方法及装置 |
CN107003880A (zh) * | 2016-12-27 | 2017-08-01 | 华为技术有限公司 | 内核更新方法和装置、计算机设备 |
WO2018119662A1 (zh) * | 2016-12-27 | 2018-07-05 | 华为技术有限公司 | 内核更新方法和装置、计算机设备 |
CN107003880B (zh) * | 2016-12-27 | 2020-04-03 | 华为技术有限公司 | 内核更新方法和装置、计算机设备 |
US10635511B2 (en) | 2016-12-27 | 2020-04-28 | Huawei Technologies Co., Ltd. | Kernel update method and apparatus, and computer device |
WO2020133691A1 (zh) * | 2018-12-29 | 2020-07-02 | 北京图森未来科技有限公司 | 一种嵌入式系统驱动层的实现方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451472B (zh) | Android智能设备上多蓝牙芯片的动态管理方法 | |
US9652261B2 (en) | Data card and communication method and system | |
CN103517110A (zh) | 一种多屏互动通信系统和方法 | |
CN102348004B (zh) | 一种业务组件的配置方法、系统及设备 | |
US8776051B2 (en) | Method of providing partially isolated execution environment for multiple applications and digital information apparatus using the same | |
CN104765627A (zh) | 智能设备、可穿戴式设备及其应用程序安装及卸载方法 | |
CN106484464B (zh) | 调谐器芯片驱动方法和电子设备 | |
CN102830983A (zh) | 一种可动态加载不同终端交换芯片驱动的方法 | |
CN101996087B (zh) | 多核处理器阵列程序的动态加载方法 | |
KR101427561B1 (ko) | 안드로이드 어플리케이션의 타이젠 설치가능 패키지 자동변환을 이용한 적응 실행 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
CN112332997B (zh) | 终端设备的配网方法、终端设备及计算机可读存储介质 | |
CN104317257A (zh) | 一种通过无线互联网控制多插座的系统及方法 | |
CN107396183B (zh) | 融合终端设备的开机网络检测方法及系统 | |
CN104933174A (zh) | 基于控件自动化遍历解决手机app机型适配问题的方法 | |
CN103777981A (zh) | 一种适用于x86架构的多操作系统远程加载实现方法 | |
CN103729210A (zh) | 一种实现一个刷机包支持多种制式智能终端的方法及装置 | |
CN101931603A (zh) | 一种在手持智能终端上实现远程调用的方法 | |
US9736529B2 (en) | USB sharing method for combo TV set, combo TV set and computer readable storage medium | |
CN101521600B (zh) | 一种网关设备中业务控制方法和网关设备 | |
CN102063321B (zh) | 终端软件的安装方法、装置和系统 | |
CN105718302B (zh) | 一种基于Docker实现冗余交换机操作系统的方法 | |
CN104506943A (zh) | 一种机顶盒软件定制升级方法 | |
CN102567061A (zh) | 电视机与遥控器双向升级的方法和系统 | |
CN104375866A (zh) | 一种单板的驱动更新方法及装置 | |
CN107526584A (zh) | 数据接入方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 200336 Shanghai city Changning District Honggu Road No. 150 Applicant after: Shanghai B-Star Broadband Technology Co., Ltd. Address before: 200336 Shanghai city Changning District Honggu Road No. 150 Applicant before: Shanghai B-STAR Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SHANGHAI B-STAR BROADBAND TECHNOLOGY + APPLICATION ENGINEERING RESEARCH CENTER CO., LTD. TO: SHANGHAI B-STAR BROADBAND TECHNOLOGY CO., LTD. |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121219 |