Page 172 - 配电网及其自动化技术研究
P. 172
配电网及其自动化技术研究
Research on Power Distribution Network and Its Automation Technology
一个机制来实现存储器管理、软件资源调度管理、硬件以及驱动管理等。这就需
要嵌入式操作系统才能实现这些功能。目前,嵌入式Linux操作系统在软件工程
中应用十分广泛,能够实现各种资源的管理,如文件、内存、进程、设备、网络
协议栈的管理,操作系统就是硬件和软件的中间体。可以将硬件部分抽象成为不
同的接口给软件使用,同时还给应用软件提供系统的调用和运行的平台,这样程
序设计人员可以不关心硬件来进行软件设计,软件更加容易移植。
3.支撑子系统详细实现
支撑子系统的主要功能室对芯片进行驱动,涉及两个主要模块分别是Marvell
SDK和HSL。
(1)Marell SDK总体结构
Marvell SDK模块的功能是初始化配置交换芯片,还为HSL模块的编程提供
相应的接口,该模块的内核为Linux,由如下几个部分构成。①模块加载函数。
采用insmod命令进行该模块内核加载时,内核会自动执行其加载函数,对芯片进
行初始化配置,其加载的函数定义为:module_ init(marvell_ module_ init);
②模块卸载函数。采用rmmod命令对这个内核模块进行卸载时,内核也会自动
的执行卸载函数,将这个模块所占用的全部系统资源释放掉,函数的定义为:
module_ exit(marvell_ module_ cleanup);③模块许可证声明。模块许可证声明
的功能是对内核模块的许可权限进行描述,如果不对其许可权限进行声明和描
述,加载此模块的过程中,会发出内核被污染的警告,下面给出了本模块的声
明:MODULE_ LICENSE(“GPL”);④模块导出符号。内核模块能够将符号
导出,从而能够和其他模块进行函数和变量的共用,本模块中导出操作交换芯片
的底层API函数,HSL模块能够对这些函数进行调用,下面给出了增加VLAN函
数的用例:EXPORT_ SYMBOL(88E6185_ vian_ create)。
(2)HSL模块总体设计
HSL模块就是一个借口模块,用于连接内核态Marvell SDK和用户态HAL模
块,HSL模块接收HAL的命令请求,然后将Marvell SDK中的API函数进行调用,
从而配置并驱动交换芯片。为了实现这个功能,HSL采用netlink机制在内核中注
册一个网络协议族PF_HAL,这样HAL能够采用标准socketAPI同HSL模块进行通
信,因为HSL模块为一个内核态,能够对Marvell SDK模块中导出的API函数进行
直接的调用,从而HAL模块到Marvell SDK之间能够直接的进行调用,从而底层
164

