基于网芯一号处理器的锐华操作系统适配vlookup函数详细使用过程
作者:任占广 张学敏
来源:《计算机与网络》2020年第22期
        摘要:网芯一号处理器是我国自主研制的一款高性能通信处理器芯片,具有指标性能高、环境适应性强和综合能耗低等特点。面向该处理器在嵌入式领域的实时性需求,开展锐华操作系统适配技术研究,突破基于自主芯片之上的自主可控实时操作系统关键技术。研究结果表明,锐华操作系统可以较好适配网芯一号处理器,满足系统的实时性需求。
        关键词:自主可控;网芯一号处理器;嵌入式实时操作系统
linux操作系统镜像
        中图分类号:TP311文献标志码:A文章编号:1008-1739(2020)22-58-4
        0引言
        现有通信设备中大量使用国外进口的软硬件产品,可能存在内置后门和未知漏洞,对我国信息网络造成严重的安全隐患。为此,推进自主可控的产品成为解决国家网络安全问题的战略举措。
        网芯一号处理器是我国自主研制的一款高性能通信处理器芯片,目前Linux操作系统已经完成对网芯一号处理器的适配,但在嵌入式领域,Linux操作系统在实时性上不能完全满足需求,有必要进一步拓展网芯一号处理器在嵌入式领域的应用。
        目前绝大部分功能较复杂的嵌入式系统都基于嵌入式实时操作系统(Embedded Real-time Operating System)进行开发[1-2],相较其他国产嵌入式实时操作系统,锐华嵌入式实时操作系统(ReWorks)在应用范围、功能完备、技术支持、应用移植的方便性等方面都有较大优势,但目前锐华嵌入式实时操作系统还没有适配网芯一号处理器。
        1系统简介
        1.1网芯一号处理器
secretary怎么读
        网芯一号处理器具有指标性能高、环境适应性强和综合能耗低等特点,一方面可作为控制处理器,应用于控制交换板和业务接口板,支撑战略网络固定汇聚/接入级、车载/搬移式以及战术网核心/接入级通信网络技术研发与装备研制。另一方面可作为专用分组报文处理器,支撑战术接入级通信网络技术研发与装备研制。另外,该芯片还可用于网络安全和数据链等领域的装备研制,实现百兆以上级分组报文处理。
        面向网芯一号处理器在嵌入式领域的实时性需求,开展锐华操作系统适配技术研究,突破基于自主芯片之上的自主可控实时操作系统关键技术,研制形成嵌入式实时自主可控处理平台。
        1.2锐华嵌入式操作系统
boolean转int        锐华操作系统是国内领先的具有自主知识产权的嵌入式实时操作系统,该产品核心代码自主可控,能为不同领域的用户提供差异化的定制服务[3-5]。
        锐华嵌入式操作系统集成开发套件包括锐华嵌入式实时操作系统[4]和集成开发环境[5]两部分。锐华嵌入式实时操作系统是一个高可靠、强实时嵌入式操作系统,采用微内核及
组件技术,能根据应用需要对操作系统内核进行配置、裁剪、扩展与定制,具备较强伸缩能力;锐华嵌入式应用集成开发环境(ReDe)具有开放性、跨平台、一体化等特点。因此,锐华嵌入式实时操作系统能够更好地满足网芯一号处理器在嵌入式领域的实时性需求。
        2基于网芯一号处理器的锐华操作系统适配技术
        基于网芯一号处理器的锐华操作系统适配技术利用网芯一号处理器应用开发系统硬件平台,通过在锐华操作系统进行板级支持包(BSP)和驱动程序的开发,实现锐华操作系统的适配工作,系统组成如图1所示。
        2.1概述
        BSP是介于底層硬件和上层软件之间的底层软件开发包,主要功能是屏蔽硬件、提供操作系统的驱动和硬件驱动[6]。锐华操作系统定义了BSP开发模板,提供了一系列模块接口,通过实现模块接口完成BSP的开发工作。
        基于网芯一号处理器的锐华操作系统适配项目中,BSP控制所有硬件,包括芯片、网口、串口、硬盘和PCI-E总线,向上提供虚拟的硬件平台,主要功能包括上电时硬件的初始化锐华、操作系统上设备的驱动程序,并为操作系统访问硬件提供接口支持,为应用程序提供相关程序入口,可以使其访问底层硬件,把硬件相关软件和无关软件整合在锐华操作系统内核中。BSP在整个内核中的位置如图2所示。
        锐华操作系统根据设备访问方式不同,将设备分为字符设备、块设备和网络设备3类。字符设备是以字符为单位进行读写访问的,比较典型的有串口设备、键盘设备等;块设备是以块为单位进行读写访问的,比较典型的有硬盘、SD卡等;网络设备是一种比较特殊的设备,依赖网络协议栈实现。
        锐华操作系统提供了I/O模块,通过实现该模块的应用程序API,可以访问字符设备、网络设备、(通过文件系统)块设备等;通过该模块的驱动,API可以开发和管理驱动程序;通过该模块的文件系统,API可以管理文件系统。锐华操作系统的设备驱动工作原理是操作硬件相关寄存器,并为应用层提供一套标准的接口:对上提供一套内核标准接口响应函数,对下提供硬件驱动和硬件中断响应函数,可以通过实现I/O模块相关API完成驱动程序的开发工作。
        2.2 BSP设计
        锐华集成开发环境是一个集嵌入式软件设计、开发、调试、测试、集成部署于一体的开发平台,为基于锐华嵌入式实时操作系统的嵌入式软件与运行提供全过程支持[5]。基于锐华集成开发环境可以更高效地进行BSP开发和驱动程序开发。在锐华集成开发环境下,B
管理系统css模板SP的开发流程如下:
        ①选择与网芯一号处理器型号相近的BSP包作为BSP开发模板,根据目标板卡外围器件进行修改或添加代码,满足项目的应用,并创建BSP库工程;
        ②实现用于调试的printk()函数;
        ③根据BSP的开发需要,通过锐华集成开发环境ReDe进行资源配置。如BSP开发网卡驱动时,需要网络协议栈,可通过添加“增强型网络协议栈”资源,将网卡设备驱动相关的资源纳入到BSP开发工程中,在编译生成的ReWorks目标镜像中就会包含增强型网络协议栈相关信息;webassembly c
        ④编写start.s的预初始化代码,完成操作系统运行环境初始化、驱动初始化,最后执行用户代码的一系列流程;编写printk调试输出模块代码、中断控制器模块代码、系统时钟模块代码、CACHE和MMU配置模块代码等;
        ⑤对工程进行编译构建,编译完毕产生ReWorks目标镜像文件,下载至目标板上进行BSP调试;
        ⑥BSP工程发布。在锐华集成开发环境中,开发完成的BSP将以“资源组件”的形式提交发布,通过定制BSP资源组件工程与目标板资源工程将BSP集成到锐华集成开发环境中,然后生成自引导程序,并完成自引导程序的相关配置信息,编译生成ReWorks目标镜像文件。
        2.3驱动程序设计
        根据网芯一号处理器外设需求,需要开发串口驱动、网口驱动、硬盘驱动和PCI-E总线驱动。本节通过网卡驱动的实例具体说明设备驱动程序的开发过程。
        (1)网卡驱动的挂接与配置
        建立网卡驱动挂接对象:
        staticstructrtos_bsdnet_ifconfigconfig_em0= {“em0”, em_attach,NULL,0,0,0,0,0,0,0,0,0,0};
        调用rtos_bsdnet_attach(&config_em0)函数实现网卡驱动挂接操作。
        其中em_attach()是网卡驱动入口函数,用于识别硬件类型,并分配所有相关资源、初始化硬件设备配置。通常此函数通过调用em_setup_interface()函数还可以实现对网络协议栈的ifnet对象的赋值等初始化操作。
        通过ifconfig()函数配置网卡IP地址和子网掩码,通过hostAdd()函数配置网卡IP地址所对应的主机。通过以上操作,系统就可以将网卡驱动和网络协议栈挂接起来,实现网卡的基本功能。
        (2)网络协议栈的ifnet对象挂接
        调用em_setup_interface()函数创建网络设备描述符结构体和注册接口,并为网络协议栈的ifnet对象赋值,ifnet对象通过em_init()函数初始化接口,创建发送/接收任务,初始化接收描述符等;通过em_start()函数启动网卡设备,然后em_setup_interface()函数将ifnet对象挂接到网络协议栈,网络协议栈通过挂接的接口调到网卡底层驱动,当协议栈有数据包发送时,会通过ifnet结构体中if_start ()函数指向的em_start()函数实现数据发送功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。