




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要摘要.IABSTRACT.引言引言.11开发平台概述开发平台概述.21.1MICROBLAZE概述.21.2PETALINUX概述.31.3XILINX嵌入式开发环境概述.42MICROBLAZE软核分析与构建硬件平台软核分析与构建硬件平台.62.1MICROBLAZE软核分析.62.2构建基于MICROBLAZE的硬件平台.82.3硬件平台测试.163PETALINUX系统分析及配置软件平台系统分析及配置软件平台.183.1PETALINUX系统分析.183.2配置PETALINUX系统.223.3生成BSP.244配置嵌入式配置嵌入式LINUX操作系统操作系统.254.1基于FPGA嵌入式系统分析.254.2构建基于FPGA的LINUX操作系统.264.3测试基于FPGA的LINUX操作系统性能.305PETALINUX下驱动开发下驱动开发.325.1PETALINUX下驱动模型分析.325.2GPIO驱动开发.365.3GPIO驱动测试.46结论结论.50致谢致谢.51参考文献参考文献.52I摘要目前,随着FPGA(FieldProgrammableGateArray,现场可编程门阵列)技术的迅速发展,SOPC(SystemOnaProgrammableChip,可编程片上系统)作为一种特殊的嵌入式微处理器系统,它的功能越来越强大,已逐渐引起行业的重视。SOPC融合了SOC和FPGA的特点,并具备软硬件在系统可编程、可裁减、可升级的功能。其重点是在FPGA上实现的嵌入式微处理器软核,而如何针对微处理器选择合适的嵌入式操作系统是目前一个普遍的问题。本文针对Xilinx公司的MicroBlaze微处理器软核,介绍了PetaLinux嵌入式操作系统在搭载Microblaze软核的FPGA上的移植方法,研究了PetaLinux的配置、裁剪和启动方案。移植的PetaLinux系统在Xilinx公司的Spartan3E开发平台上验证成功。分析了PetaLinux操作系统驱动的框架,在移植成功的平台上进行GPIO的驱动开发,编写的GPIO测试代码在目标平台上测试通过。关键字关键字:MicroblazePetaLinuxFPGASOPCIIABSTRACTNowalongwiththerapiddevelopmentoftechnologyinFPGASOPCasaspecialkindofembeddedmicrocontrollerprocessorSystemitsfunctionismoreandmorestrongithasgraduallycausetheattentionofindustry.TheSOPCfusionSOCandFPGcharacteristicsyoucanprogrammablecutupgradeinthesoftwareandhardwareinthesystem.TheemphasisisrealizeembeddedmicrocontrollerprocessorsoftnuclearontheTheFPGAandhowtochoosethesuitableicroprocessorembeddedoperatingsystemiscurrentlyacommonproblem.InthispapertheXilinxcompanyMicroBlazemicroprocessorsoftnuclearintroducesthePetaLinuxembeddedoperatingsystemtransplantinMicroBlazesoftnuclearFPGAthetransplantationofthethewayofPetaLinuxconfigurationcuttingandstart.TheexperimentalresultssuccessedinXilinxcompanysSpartan3Edevelopmentplat.TheanalysisofthestructureunderthebottomPetaLinuxMicroblazeanalyzestheoperatingsystemPetaLinuxdrivenframeworkandthelastinthesuccessofthetransplantationplatGPIOdriverdevelopmentandinthetargetplattestsuccess.KeyKeywordswords:MicroblazePetaLinuxFPGASOPC基于Microblaze的PetaLinux移植1引言嵌入式处理器是嵌入式系统中最核心的部分,目前主要的嵌入式处理器有:PowerPC、ARM、Microblaze、MIPS系列等。目前在例如ARM和MIPS上进行操作系统移植已经成为很多公司开发的主流选择,但是在Microblaze等软处理器核上移植操作系统还处于初级阶段。FPGA所包含的处理资源的快速增长促进了设计方法学的变化,现在可以从一种新的系统设计的角度考虑嵌入式系统中FPGA与嵌入式处理器的相互关系,从而可以更好的满足复杂系统对性能、协处理和系统控制的要求,统一考虑硬件逻辑和软件逻辑,统一考虑FPGA中的硬件开发和软件开发,并根据系统的需要做出适当的平衡。近些年FPGA在不断更新换代,已经具有了较高的性价比。已经有许多公司开始要求能在FPGA上运行操作系统来做更强大的功能开发,其中由JohnWilliams博士领导的PetaLogix公司在该行业处于前列,其开发的PetaLinux是行业内很多公司在FPGA上移植Linux的重要参考。PetaLinux作为专门针对于XilinxFPGA的嵌入式Linux解决方案,不但提供了专门的BSP生成器,而且提供了众多的参考设计,可以帮助设计者快速掌握PetaLinux的配置方法。在满足应用工程的逻辑编程能力和对嵌入式Linux要求的同时,可极大地缩短产品开发周期,本文移植成功的系统可以直接应用于实际。基于Microblaze的PetaLinux移植21开发平台概述1.1Microblaze概述MicroBlaze软核处理器是一种针对XilinxFPGA器件而优化的功能强大的微处理器。它内部采用RISC架构的32位指令和数据总线,支持CoreConnect片上总线的标准外设计集合,具有兼容性和重复利用性,且可根据性能需求和逻辑区域成本任意裁减,极大地扩展了应用范围,其最精简的核只需要将近400个Slice。MicroBlaze的CoreConnect总线、它能够将FPGA内各种不同的IP核连接到一起构成一个完整的系统。CoreConnect总线是一个总线标准的集合,它包括PLB总线(ProcessorLocalBus,处理器本地总线),LMB总线(LocalMemoryBus,高速本地存储器总线),FSL(FastSimplexLink,快速单连接)总线,以及XCL(XilinxCacheLink)总线等。本系统主要是在Spartan3E开发板上构建一个以MicroBlaze处理器为中心的嵌入式处理系统在FPGA内部实现系统的总线架构、数据存储、地址译码、外设接口等系统部件和功能。各功能部件在FPGA内部都以IP核的形式构建并连接,整个系统的结构框图如图1-1所示。图1-1MicroblazeIP核结构图其中,SysACE用于存放文件系统和应用程序配置文件,INTC用来实现中断控制;GPIO和UART16550用于系统调试,自定义IP核DDC用来实现数字接收机下变频功能,这些外设通过PLB总线与MicroBlaze处理器和DDR相连;用于快速傅里叶变换的自定义IP核FFT通过FSL总线与MicroBlaze内部通用寄存器直接相连,实现了数据的快速传输;DDR通过XCL总线与MicroBlaze处理器相连,实现了MicroBlaze处理器对片外存储器的高速访问Microblaze采用RISC指令集、Harvard体系结构总结有以下一些特征:1.32个32位通用寄存器和2个专用寄存器。基于Microblaze的PetaLinux移植32.32位指令系统支持3个操作数和2种寻址方式。3.分离的32位指令和数据总线符合IBM的OPB总线规范。4.通过本地存储器总线(LMB)直接访问片内块存储器(BRAM)。5.具有高速的指令和数据缓存(cache)三级流水线结构。6.具有硬件调试模块(MDM)。7.带8个输入输出快速链路接口(FSL)1.2PetaLinux概述PetaLinux是PetaLogix公司专门针对FPGA的片上系统设计的嵌入式Linux开发套件,在满足应用工程的逻辑编程能力和对嵌入式Linux要求的同时,可极大地缩短产品开发周期。PetaLinux作为专门针对于XilinxFPGA的嵌入式Linux解决方案,不但提供了专门的BSP生成器,而且提供了众多的参考设计,可以帮助设计者快速掌握PetaLinux的配置方法。PelaLinux内核正在不断的完善之中,且不断地加入基于XilinxFPGA嵌入式系统IP核的设备驱动,比如XilinxUSB、SysACE、FSL总线设备驱动、101001000M三态以太网MAC等。这些设备驱动极大地减轻了嵌入式系统开发者的工作量,缩短了产品开发的周期。PetaLinux操作系统主要具有以下几大特点:1.针对FPGA嵌入式开发的特点采用了板级支持包。2.自动生成工具,可以根据用户定义的嵌入式硬件平台信息自动生成板级支持包,简化了操作系统的移植。3.PetaLinux发布的源码树中包含了部分常用IP核的驱动程序(如GPIO、EthernetLite、UartLite等),减少了用户移植、编写驱动程序的工作量。4.根据设计的不同需求,可以通过配置菜单将PetaLinux配置成withoutMMUsupport和MMUsupport两种版本,即uclinux和标准Linux。PetaLinux发布采用了一体化的整合方式,将针对MicroBlaze处理器定制的Linux2.4.6内核源码、U-boot源码、文件系统以及开发板参考硬件平台配置,集成在一个压缩包内发行,极大地方便了开发人员的使用。BootLoader:是在操作系统内核启动之前运行的一段小程序,BootLoader需要直接操作硬件,所以它严重依赖于硬件,而且依据所引导的操作系统的不同,也有不同的选择,我们选用的bootloader是由德国DENX软件工程中心开发的开源Uboot(UniversalBootLoader,)。U-boot就是为加载kernel而服务的。简单来讲,u-boot启动过程分为两个部分:Stage1andStage2基于Microblaze的PetaLinux移植4Kernel:PetaLinux操作系统的核心部分,用来引导文件系统。由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。这里我们选用2.6版本的kernel.Filesystem:包括根文件系统和建立于Flash内存设备之上的文件系统(EXT4、UBI、CRAMFS等等)。它是提供管理系统的各种配置文件以及系统执行用户应用程序的良好运行环境及载。本系统软件部分包含三个部分:Uboot、linux内核和文件系统。Uboot的任务是从引导设备装载内核,引导系统运行。Kernel提供了操作系统运行的基本功能,如内核调度、进程调度等。Filesystem提供管理系统的各种配置文件以及系统执行用户应用程序的良好运行环境及载体。在Flash存储器中,他们的分布一般如图1-2所示图1-2PetaLinux在Flash分布移植成功的PetaLinux操作系统,就在Microblaze软核上运行。1.3Xilinx嵌入式开发环境概述EDK(EmbeddedDevelopmentKit)是Xilinx公司针对FPGA内部32位嵌入式处理器开发而推出的开发套件。EDK的工具包中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试等工具利用其集成开发环境XPS(XilinxPlatStudio)可以方便、快速地完成嵌入式系统开发的整个流程。EDK以IPcore的形式提供诸如LMBOPB总线接口、外部存储控制器、SDRAM控制器、UART中断控制器、定时器及其他一些外围设备接口等资源利用这些资源设计者能够轻松构建一个完善的嵌入式处理器系统。EDK安装后,安装目录树如图1-3所示:基于Microblaze的PetaLinux移植5图1-3EDK目录树sw目录下放置的是drivers、BSP和softwareservices。对于我们编写C代码来说,是非常重要的参考资料。可以看到在sw下面的XilinxProcessorIPLib目录里面有drivers目录。我们用Microblaze实现串口、GPIO等等,这些硬件模块的驱动就放着drivers下。如图1-4所示图1-4GPIO目录htmlapi是我们可以调用的函数的说明,通过这些函数我们可以操作硬件。examples是一些C程序代码例子,我们可以参照这些代码来编写我们自己的程序。后面会通过具体例程来说明这个目录的重要性。EDK的界面介绍。参见2.2章节。EDK工程文件中的目录及文件。参见3.3章节。62MicroBlaze软核分析与构建硬件平台2.1MicroBlaze软核分析MicroBlaze软核处理器是Xilinx公司针对其FPGA器件优化的功能强大的32位微处理器软核,。MicroBlaze软核处理器与其他外设IP核相配合,能够实现可编程系统芯片的设计。MicroBlaze软核处理器采用RISC(ReducedInsrtctionSystemComputer)架构和哈佛总线结构的独立32位数据和指令总线,能够高速执行和访问片上存储器和片外存储器上的程序与数据。其结构如图2-1所示。图2-1Microblaze处理器结构图MicroBlaze软核处理器设置有32个32位通用寄存器以及2个32位特殊寄存器PC指针寄存器和MSR状态标志寄存器。另外MicroBlaze软核处理器还配有指令和数据缓存,从而大大提高了其运算性能。MicroBlaze软核处理器的指令字长为32位,具有3个操作数与两种寻址模式。指令以并行流水线的方式执行,其流水线可分为:取指、译码和执行。MicroBlaze软核处理器采用了由IBM公司开发CoreConnect总线通信链技术,该技术使得多个源的芯片核相互连接成为一个完整的新芯片成为可能。CoreConnect技术不但使整合更为简单,并且使得在标准平台设计中的处理器、系统以及外围的核能够重复使用,从而能够达到更高的整体系统性能。CoreConnect总线结构包括了处理器本机总线(PLB)、片上外围总线(OPB)、两个判优器、一个总线桥和一个设备控制寄存器(DCR)总线。Xilinx公司的嵌入式处理器以CoreConnect结构为基础,因此Xilinx公司将会为所有的嵌入式处理器用户提供IBMCoreConnect的许可。MicroBlaze软核处理器使用了与IBMPowerPC相同的总线,虽然MicroBlaze软核处理器完全独立于PowerPC,但是它使得开发者可以采用在芯片上运行的方式,包括一个嵌入式PowerPC,并共享它们的外设。MicroBlaze软核处理器通过片上外设总线(OPB)来访问低速和低性能的系统资基于Microblaze的PetaLinux移植7源。片上外设总线是一种完全同步的总线,它是一种功能处于一个单独的总线层级的总线,它并不直接连接到处理器内核。片上外设总线接口提供了分离的32位地址总线和32位数据总线。MicroBlaze软核处理器可以借助“PLBtoOPB”桥,通过片上外设总线访问从外设。同样,作为片上外设总线控制器的外设也可以借助“OPBtoPLB”桥,通过PLB访问存储器。MicroBlaze软核处理器采用处理器本机总线(PLB)接口结构为指令和数据提供独立的32位的地址总线以及64位的数据总线。处理器本机总线能够支持所有具有处理器本机总线接口结构的主机和从机以处理器本机总线结构进行信号连接的方式进行读写数据的传输控制,同时该总线架构支持多主从设备。每一个主机都是通过其独立的地址总线、读数据总线和写数据总线与处理器本机总线进行连接。而从机则通过共享的但是分离的地址总线、读数据总线和写数据总线与连接,对于每个数据总线都有非常复杂的传输控制信号和状态信号。为了实现主机能够通过竞争的方式来获得总线的所有权,处理器本机总线结构采用一种中央判决机构来授权对总线的访问,该判决机构具有非常好的灵活性能够提供多种优先级。MicroBlaze软核处理器通过设备控制寄存器总线(DCR)结构来实现从处理器通用寄存器(GPR)到从逻辑设备控制寄存器的数据传输。如图2-2所示。图2-2CoreConnect总线结构MicroBlaze软核处理器采用Xilinx公司提供的EDK(嵌入式开发套件)进行系统开发。该开发套件中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软基于Microblaze的PetaLinux移植8件编译器和软件调试工具等等。EDK中提供了一个集成开发环境XPS(Xilinx平台工作室),来方便使用上述系统提供的所有工具,完成整个嵌入式系统的开发。EDK中还提供了一些接口的IP核,如片上外设总线接口、处理器本机总线接口、外部存储控制器、SDRAM控制器、UART、中断控制器、定时器等,利用EDK提供的丰富的IP资源,能够构建一个比较完善的嵌入式微处理器系统。如图2-3所示,利用MicroBlaze软核处理器构建基本的嵌入式系统,再通过标准接口IP核,MicroBlaze软核处理器就可以和各种外设IP相连图2-3SOPC系统结构图2.2构建基于MicroBlaze的硬件平台硬件环境:开发主机:Intel(R),Core(R)2.5G主频,4G内存,320G硬盘目标平台:Spartan3E软件环境:开发主机:配置Microblaze软核和PetaLinux裁剪。完成将数据下载到开发版,并进行调试的任务。具体配置:Windowsxp、虚拟机RedHat、待裁减的Linux系统:petalinuxV0.40(linux-2.6),放在rootpetalinux文件夹下。应用软件:1XilinxEDKISE10.1:完成将数据下载到开发版2XP超级终端:串口调试工具PetaLinux在发布时已经提供了完备的MLD和TCL文件,位于压缩包hardwareedk-user-respository目录下。安装的方法非常简单,直接将edk-user-基于Microblaze的PetaLinux移植9respository目录下的petalinuxvl-00-a和petalinuxvl-00-b两个文件夹,拷贝到EDK安装路径x:Xilinx101EDKswlibbsp下即可(其中,X指Windows系统中的磁盘盘符)。当重新启动XPS时,PetaLinux操作系统选项便出现在SoftwareSoftwarePlatSettingsSoftwarePlatOS下拉列表框中。运行XilinxPlatStudioSDK启动XPS后,选择“BaseSystemBuilderwizard”,点“OK”,如图2-4。图2-4创建一个工程这里选择工程存放的路径(D:mblinuxlib1),工程名要命名为system.xmp否则在编译内核阶段的时候,执petalinux-copy-autoconfig脚本命令会提示无法找到system.xmp工程(petalinux-copy-autoconfig默认拷贝system.xmp工程下的Kconfig.auto文件),工程路径和工程名选择好后,点OK,如图2-5。图2-5工程名和工程路径选择“Iwouldliketocreateanewdesign”如图2-6,点“Next”基于Microblaze的PetaLinux移植10图2-6创建新的设计选择开发平台,Boardvendor:Xilinx。Boardname:Spartan-3EStarterBoard。Boardrevision:D将创建一个针对标准Spartan-3EStarterBoard开发板的工程如图2-7图2-7选择开发板选择默认配置如图2-8,直接“Next”图2-8处理器选择配置处理器,使能Cache,其他选项选择默认配置如图2-9,配置完成后点“Next”基于Microblaze的PetaLinux移植11图2-9配置时钟和缓存配置片内外设资源,串口使用RS232_DCE(Spartan-3EStarterBoard有2个RS-232串口:母口DB9DCE和公口DTE连接器。DCE口通过标准的串口电缆直接连到PC和工作站上。没有经过调制解调器或交换电缆不能用。DTE连接器用来控制其他的RS-232外围设备,如调制解调器、打印机或通过DCE连接器完成简单的环回测试),波特率使用115200。由于要加载操作系统,使能中断操作如图2-10所示。基于Microblaze的PetaLinux移植12图2-10配置串口取消LEDs_8BitDIP_Switches_4BitButtons_4Bit,选择FLASH,如图2-11所示,点击“next”。图2-11配置FLASH和LED取消SPI_FLASH,选择DDR_SDRAMEthernet_MAC使能中断,如图2-12点“next”图2-12配置RAM和网口添加一个定时器(操作系统运行需要有一个定时器来产生时钟滴答,操作系统通过这个时钟滴答来进行进程调度等其他功能),如图2-13,点“OK”基于Microblaze的PetaLinux移植13图2-13添加定时器采用中断机制,选择“onetimerispersent”,如图2-14配置完成后点击“Next”图2-14配置定时器选择DDR_SDRAM的ICacheDCache,如图2-15点击“Next”图2-15配置缓存BootMemory选择DDR_SDRAM,取消Peripheralselftest,如图2-16点击“Next”基于Microblaze的PetaLinux移植14图2-16配置标准输入输出及测试程序默认配置,如图2-17直接点“Next”图2-17自动测试例程环境自动生成地址映射。由于Microblaze和ARM一样采用内存映射的方式来控制外设,从这里可以查看各个外设的地址,如图2-18。图2-18外设物理地址分布图一个Spartan-3EStarterBoard的工程被建立,如图2-19所示,点Finish。基于Microblaze的PetaLinux移植15图2-19工程中所含文件列表如果点击Finish后,XPS出现错误导致死机或者软件自动关闭,关闭软件重新启动XPS(XPS这个环境不是很稳定)。新的工程如图2-20所示图2-20新建的工程基于Microblaze的PetaLinux移植162.3硬件平台测试确认下载用的USB下载线,串口线(实验板有2个RS-232串口:母口DB9DCE和公口DTE连接器。DCE口通过标准的串口电缆直接连到PC和工作站上。DTE连接器用来控制其他的RS-232外围设备,如调制解调器、打印机或通过DCE连接器完成简单的环回测试,没有经过调制解调器或交换电缆不能用。)这里选择DCE接口和电脑连接正确。打开自测试例程TestApp_Memory.c,如图2-21图2-22工程中的应用程序测试一个流水灯的应用,在该文件中print(-Exitingmain()-rn)后添加流水灯程序,重点部分代码如下:intijunsignedcharn=1m=0while(1)XGpio_mSetDataReg(XPAR_LEDS_8BIT_BASEADDR2n)for(i=0i“SoftwarePlatSettings”,配置软件平台。SoftwareSoftwarePlatPlatCORE_CLOCK_FREQ_HZ:50000000 xmdstub_peripheral:debug_moduleextra_compiler_flags:-gOS:petalinuxVersion:1.00.b如图3-17图3-17PetaLinux配置OSOSandandLibrariesLibrariesflash_memory:FLASHmain_memory:DDR_SDRAMstdin:RS232_DCEstdout:RS232_DCE如图3-18图3-18输入输出配置基于Microblaze的PetaLinux移植24设置完成后,点击“OK”3.3生成BSP运行software-generatelibrariesandBSPs,等待编译完成(2分钟左右)。系统调用库生成工具Libgen依据用户定义的硬件平台自动生成板级支持包,并保存在工程目录D:mblinuxlib1microblaze_0libsrcpetalinux_v1_00_b下。同时,在上一级目录中将生成包含了硬件平台完整描述信息的配置文件,即用于24内核的auto-configin文件和用于26内核的Kconfigauto文件,如图3-19。图3-19工程产生的配置文件工程目录文件列表如图3-20:图3-20工程文件列表基于Microblaze的PetaLinux移植254配置嵌入式linux操作系统4.1基于FPGA嵌入式系统分析嵌入式系统是集软、硬件一体化可独立工作的完整系统。硬件系统包括嵌入式处理器、各种类型存储器、模拟电路(含各类传感器)、AD转换器及电源、接口控制器及接插件;软件系统包括实时操作系统(RTOS)、板级支持包(BSP)、设备驱动(DeviceDriver)、协议栈(ProtocolStack)、应用程序(Application)。其基本特点是功能单一,即实现本系统要求的功能;约束严格,即性能、非性能(成本、外形、功耗等);实时性,即分为软实时和硬实时两类。嵌入式系统的基本设计要素为成本:包括NRE(非重发性工程)成本、单位成本;大小:系统占用的空间(几何、存储、硬件);功提高,FPGA的成本足以与ASIC抗衡,FPGA设计、综合、仿真、测试工具性能的提升;微处理器、DSP、ASIC等以IP的形式嵌入到FPGA中;IPCore开发理念的发展已经深入人心,比如:信号处理算法、软件算法模块、控制逻辑等均可以IPCore或库函数形式体现出来。目前已经成熟的SOPC开发平台为XilinxSpartan、Virtex系列FPGA和MicroBlaze软处理器IPCore。S0PC的技术特点:可编程片上系统(SOPC)是一种特殊的嵌入式系统首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能:其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。SOPC结合了SOC和FPGA各自的优点,一般具备以下基本特征:至少包含一个以上的嵌入式处理IPCore;具有小容量片内高速RAM资源;丰富的IPCore资源可供灵活选择;足够的片上可编程逻辑资源;处理器调试接口和FPGA编程接口共用或者并存;可能包含部分可编程模拟电路;单芯片、低功耗、微封装。SOPC设计技术实际上涵盖了嵌入式系统设计技术的全部内容。除了以处理器和实时多任务操作系统(RTOS)为中心的软件设计技术、以PCB和信号的完整性分析为基础的高速电路设计技术以外,SOPC的主要逻辑设计是在可编程逻辑器件内部进行,而BGA封装已被广泛应用在微封装领域中。传统的调试设备,如:逻辑分析仪和数字示波器,进行直接测试分析,因此,必将对以仿真技术为基础的软硬件协同设计技术提出基于Microblaze的PetaLinux移植26更高的要求。同时,新的调试技术也已不断涌现出来,如Xilinx公司的SystemGeneratorforDSP就是一个利用可编程硬件逻辑实现数字信号处理算法的强大辅助工具。嵌入式微处理器lP:可重用IP大量应用在SOPC的设计之中。基于应用需求、规范协议和行业标准的不同,IPCore易于访问和易于集成,并具有良好的复用性。其设计必须严格按照“设计复用方法学”的要求,按照一定的规范和准则进行设计。在SOPC中最核心的部分就是嵌入式微处理IP的设计与使用。当前有多种为嵌入式系统而设计的微处理器IP,、如ARM、Motorola和MIPS等芯片公司设计的处理器系列。其中ARM公司设计的ARM系列IP核应用最为广泛,目前世界上大部分嵌入式系统芯片都采用ARM核,这些处理器主要为ASIC而设计的。为了实现SOPC的设计技术,FPGA生产厂商也推耗:便携式系统中需考虑的重要指标;可靠性和灵活性;上市时间;设计、制造和测试时间。嵌入式处理器目前可以分为微控制器(MCU)、微处理器(MPU)、数字信号处理器(DSP)、混合处理器和片上系统(SOC)、可编程片上系统(SOPC)嵌入式实时操作系统RTOS的基本特征为高效的任务管理,包括下面四个方面:支持多任务、优先级管理;基于优先级的抢占式调度、时间片轮转调度的算法即任务调度;支持快速而确定的上下文切换、快速灵活的任务间通信、高度的可剪裁性、动态链接与部件增量加载、快速有效的中断和异常事件处理、优化的浮点支持;动态内存管理、系统时钟和定时器。嵌入式处理器的发展趋势为成本的经济性、封装和功耗的微型化、功能的智能化速度的多核化。嵌入式系统的发展方向分为两个方面:一方面是嵌入式Internet技术,它是近几年发展起来的一项新兴概念和技术,是指设备通过嵌入式模块而非Pc系统直接接入Internet,以Internet为介质实现信息交互的过程,通常又称为非PCInternet接入。这项技术主要应用于信息家电,工业远程监控与数据采集,互联网可重配置逻辑及其相关应用。另一方面是可编程片上系统(SOPC),可以这样说SOPC是可编程逻辑器件在嵌入式应用中的完美体现。SOPC的技术基础主要为以下三个方面:超大规模可编程逻辑器件及其开发工具的成熟,即FPGA的密度出了基于FPGA的微处理器IP核,比较著名的有Xilinx公司的MicroBlaze、Powerpc和Altera公司的Nios等。4.2构建基于FPGA的linux操作系统使用petalogix的工具创建新的嵌入式Linux平台。#cdrootpetalinux基于Microblaze的PetaLinux移植27#source.settings.sh#cdsoftwarepetalinux-dist#petalinux-new-plat-vXilinx-pSpartan3E-k2.6petalinux-new-plat这个命令会在softwarepetalinux-distvendors目录中创建一个新的plat。执行这个命令后可以在makemenuconfig时看到并选择新建的plat。其中,“-vXilinx“表示所建立的plat的vendor为Xilinx,“-pSpartan3E”表示所建立的plat的名字叫做Spartan3E,“-k2.6”表示所建立的plat使用Linux2.6的内核如图4-1。图4-1设置环境变量执行上述命令后,将会在PetaLinux源码目录下产生两个文件夹在petalinux-distvendorsXilinx下产生Spartan3E文件夹在petalinux-distlinux-2.6.xarchmicroblazeplat下产生Xilinx-Spartan3E文件夹在rootpetalinuxsoftwarepetalinux-dist目录执行#makemenuconfig在“VendorProductSelection”中,Vendor选择“Xilinx”,Product选择“Spartan3E”。然后退出主菜单,并保存配置。(1)拷贝EDK工程文件拷贝EDK工程文件到hardwareuse-plat路径下,该路径是脚本工具默认的操作位置。通过共享文件夹将整个工程文件夹拷贝到Linux环境中。(2)传递配置信息系统配置过程中将利用auto-eonfig.in文件、或者Kconfigauto文件中硬件信息为内核构建Makefile文件。PetaLinux提供的脚本命令可快速地将该文件拷贝到PetaLinux源码树中。直接在终端模式下运行petalinux-copy-autoconfig脚本命令即可。如图4-2基于Microblaze的PetaLinux移植28图4-2创建新的平台执行上述命令,可将硬件编译的结果文件Kconfig.auto复制到rootpetalinuxsoftwarepetalinux-distlinux-2.6.xarchmicroblazeplatXilinx-Spartan3E文件夹中。为了确保源码没有之前使用的残余信息,需要先清除以前的编译结果,运行下面的命令:#cdrootpetalinuxsoftwarepetalinux-dist#makeclean#makemenuconfig配置参考表4-1、4-2、4-3平台配置如表4-1VendorXilinxProductSpartan3EKernelversionLinux-2.6.xLibversionnoneCustomizekernelsettingsyesCustomizevendorusersettingsyes表4-1平台配置内核配置如表4-2PromptfordevelopmentandorincompletecodedriversyesEnableloadablemodulesupportyesAreyouusinguncachedshadowforRAMyesAllowallocatinglargeblocks(1MB)ofmemoryyesEnableZFLATsupportyesEnablesharedFLATsupportyesNetworkpacketdebuggingyesPacketsocketyesIP:ARPdaemonsupportEXPERIMENTALyes基于Microblaze的PetaLinux移植29MTDconcatenatingsupportnoDetectflashchipsbyCommonFlashInterface(CFI)probeyesSupportforIntelSharpflashchipsyesEthernet(10or100Mbit)yesXilinx10100OPBEMACLITEsupportyesXilinxuartliteserialportsupportyesSupportforconsoleconXilinxuartliteserialportyesUnix98PTYsupportnoLegacy(BSD)PTYsupportnoXilinxOPBSPIOSupportyesEnablefirmwareEDIDno表4-2内核配置文件系统配置如表4-3ROMfilesystemsupportyesNFSfilesystemsupportyesProvideNFSv3clientsupportyesProvideclientsupportfortheNFSv3ACLprotocolextensiyesProvideNFSv4clientsupport(EXPERIMENTAL)yesPhysicaladdresswhereUARTLiteforearlyprintkis0 x84000000NetworkAddress按需设置hostname按需设置password按需设置Buildu-bootyesrootfilesystemtyperomfscramfsFlashPartitiontableFs-boot80000boot40000bootenv20000config20000image400000enableconsoleshellyesprocessinit.confyesShellProgramminix-shellnetflashnoflatfsdnodhcpcd-new(2.02.4)noC+TestApplicationsno图4-17文件系统配置编译之前在rootpetalinuxsoftwarepetalinux-dist下创建文件夹#mkdirtftpboot基于Microblaze的PetaLinux移植30如果不进行这一步,会导致如下错误,如图4-3图4-3缺少tftpboot目录的错误在rootmblinuxpetalinux-v0.40-finalsoftwarepetalinux-dist执行#makedepmake编译成功后,在homecentospetalinuxsoftwarepetalinux-disttftpboot文件中产生下面的几个结果文件,如图4-4图4-4所有生成的镜像文件Image开头的为内核文件,u-boot开头的为u-boot配置文件4.3测试基于FPGA的linux操作系统性能测试之前裁剪和编译好的PetaLinux内核image.bin文件是否可用,使用EDK中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车行业共享出行服务市场前景分析研究报告
- 2025年虚拟现实行业虚拟现实技术在旅游行业应用前景研究报告
- 2025年汽车行业自动驾驶技术发展前景报告
- 宜宾市2025四川宜宾高新产业投资服务有限公司第二次招聘聘用人员10人笔试历年参考题库附带答案详解
- 商品车物流仓储安全培训课件
- 国家事业单位招聘2025中国地质调查局油气资源调查中心第二批招聘笔试历年参考题库附带答案详解
- 项目经营合作协议5篇
- 南宁市2025广西南宁兴宁区农业农村局招聘1名编制外人员笔试历年参考题库附带答案详解
- 光明区2025年4月广东深圳光明科学城知识产权公共服务中心选聘特级特聘一般特聘笔试历年参考题库附带答案详解
- 临海市2025年浙江台州临海市纪委市监委下属事业单位选聘工作人员笔试历年参考题库附带答案详解
- 2025至2030中国高纯铝行业发展趋势与行业发展研究与产业战略规划分析评估报告
- 2025年期货从业资格之《期货法律法规》真题附答案详解【巩固】
- 室内装修安全生产培训课件
- 2025租房合同范本下载(可直接打印)
- 《公民意味着什么》课件
- 2025辽宁交投集团所属运营公司招聘30人考试参考题库及答案解析
- 幼儿园各项安全管理制度汇编
- 广西福泰印染有限公司年产全棉针织面料3.6万吨生产项目环境影响报告书
- 【《我国小学生课外培训现状调查及问题和建议浅析》10000字(论文)】
- 民航招飞面试常见的面试问题及答案
- 每日食品安全检查记录 (一)
评论
0/150
提交评论