摘 要: 介绍了一款针对MicroBlaze软核处理器特别开发的嵌入式操作系统Petalinux,成功地实现了其在ML402开发板上的移植,并且在该系统上实现了基于TCP/IP协议的套接字接口Socket的网络通信。
关键词: FPGA;MicroBlaze软核处理器;Petalinux移植;Socket网络通信
嵌入式系统是为特定目的而构建的一类计算机设备。该设备具有体积小、功耗低、可靠性稳定、高度自动化、响应速度快等特点,特别适合要求实时和多任务的体系[1]。Petalinux是由PetaLogix公司专门为在Xilinx FPGA的MicroBlaze软核处理器上运行而开发的嵌入式Linux。Petalinux发布的版本中包含定制的Linux2.4/2.6内核原码、U-boot内核编码、相关的开发工具以及开发板参考硬件平台配置,极大地方便了开发人员的使用,缩短了产品的开发周期。
对于如何在嵌入式系统上实现远程网络通信这一问题,本文给出了一种基于Xilinx开发板ML402的嵌入式网络通信系统的设计与实现方案,成功实现了开发板与PC机的实时网络通信。
1 硬件工程设计
1.1 底层硬件平台的选取与设计
本设计方案采用Xilinx EDK 10.1在ML402开发板搭建一个最简化的硬件平台,结构如图1所示。
xil
图中各部件在FPGA 内部以IP核的形式构建并连接,系统以带有32 bit MicroBlaze软核的FPGA作为控制中心,SysACE用于存放文件系统和应用程序配置文件;INTC用来实现中断控制;串口可在调试时输出系统的运行信息;以太网控制器用来实现以太网功能;DDR_SDRAM通过XCL总线与处理器相连,用于对片外存储器进行访问[2]。
1.2 软件平台的配置
在移植Petalinux之前,必须配置BSP(Board Support Package)。所谓BSP,就是为给定的板子提供特定操作系统支持的代码。介于主板硬件和操作系统之间,属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件主板。
Xilinx EDK已经包括相应的BSP产生器,因此,第一步只需要把解压的Petalinux文件夹下的hardware/edk_user_repository/PetaLogix/bsp/petalinux_v1_00_b文件夹拷贝到EDK文件夹下的swlibbsp目录下进行相应的配置即可。接下来打开已建立的硬件工程,进行软件平台配置,点击Software菜单,启动Software Platform Setting。系插件电感统会弹出软件平台的配置窗口,可以看到共有3个可配置项——Software Platform、OS and Libraries和Drivers。右方的窗口为可配置选项的参数。首先对Software Platform进行配置,点击Software Platform,在窗口右侧可以看到可配置参数,包括两个子窗口,其一是processor parameters,其中包括处理器主频信息、交叉编译器等选项。其中,extra compiler flag指定了在生成BSP与库的过程中,交叉编译器所用的编译标志,archiver和compiler分别指定了生成BSP与库所用的工具链,在这里只需保持默认即可。在OS and Library settings子窗口中打开OS的下拉菜单,选择Petalinux,版本只有1.00.b,如果第一步没有完成,则在点开OS的下拉菜单后,没有Petalinux选项。
完成上一步之后,选中OS and Library可配置选项,这里主要是针对开发板对?滋Clinux的BSP进行配置,包括Flash与Memory以及输入输出调试端口的配置,在这里主要对以下参数进行修改:
Lmb memory:dlmb_crtlr
Main memory:DDR_SDRAM
Stdin:RS232_Uart
Stdout:RS232_Uart
最后点击OK,退出,基于Petalinux的MicroBlaze软件平台配置完成。下一步是根据软件平台的配置生成针对MicroBlaze处理器的BSP与库,使Petalinux与开发板的信息交互成为可能。进入EDK的Software菜单,点击Generate BSP and Libraries,系统会自动生成板级支持包与库。之后就可以在microblaze_0/libsrc/petalinux_v1_00_b文件夹下生成auto-config.in文件[3]。
1.3 Petalinux操作系统的移植
软件平台完成后需要对内核进行配置,嵌入式系统开发一般采用交叉编译的方法,通过PC机对内核和应用程序进行编译,具体步骤如下:
(1)将工程所在目录复制到Petalinux解压目录下的
~/hardware/user-platforms目录下。
(2)进入Petalinux解压目录,运行source ./settings.sh命令,设置Petalinux环境变量。
(3)进入~/software/petalinux-dist目录,运行petalinux-new-platform-k 2.6-v Xilinx-p ml402新建用户平台;其中-v后缀为FPGA的生产厂商,-p后缀为工程使用的FPGA开发板名称,-k为配置内核的版本。然后运行make menuconfig命令,进入Vendor/Product Selection选项,选择相应的平台,退出并保存。
[TI]关于三极管V_ceo的理解,在线等,急急急!!我的理解是三极管开路时,管子C极-E极(正向)的最大耐压值。
但是教材中的解释是:C极-E极的反向击穿电压。
为什么说是"反向"而不是“正向”??百思不得啊!!求大神指点!!!可能因为这个
绿色印刷,LED技术开启印刷新时代自从哥本哈根会议敲响世界环保 警钟后,备行各业更加重视环保问题, “低碳”“绿色”等词语铺天盖地的进入 我们的视眼。一直以来印刷业总被冠以 高污染的
便于集成的智能化电源模块监控系统研究 随着电力电子技术的快速发展,开关电源越来越受到重视,尤其是在通信、电力领域中得到了广泛应用。 近年来,为了提高电源使用的方便性和简易性,电源的模块化和集成化成为研究的重要课题。电源采用模块化设计使得