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
   167   168   169   170   171   172   173   174   175   176   177