上海交通大学硕士学位论文SoPC平台媒体播放器的软件架构设计与优化姓名:林钦申请学位级别:硕士专业:通信与信息系统指导教师:刘佩林20090101上海交通大学硕士学位论文SoPC平台媒体播放器的软件架构设计与优化摘要随着现场可编程逻辑门阵列(FPGA)技术的不断发展,嵌入式系统的设计和实现朝着片上系统(SoC),特别是基于FPGA的可编程片上系统(SoPC)的方向发展。本论文通过在资源受限系统上实现一个软硬件协同的媒体播放器,总结了一套完整的SoPC平台系统开发方法。论文首先为实验平台移植昀新的Linux内核和创建根文件系统;之后进行媒体播放器的架构设计,提出了在操作系统环境下SoPC平台软硬件协同的优化设计方法,并利用该方法优化带硬件加速的视频解码模块,使视频解码性能得到极大的提升;然后,本文分析了内核中SoPC平台知识产权(IP)核的驱动程序,提出并实现SoPC平台的驱动程序自动生成器,缩短了第三方IP核的驱动程序开发周期,完成AC97音频控制器驱动;本文昀后在分析开放的媒体播放器Mplayer软件架构的基础上,将本课题设计的视频解码和视频显示模块嵌入到Mplayer中,实现了一个功能完整的SoPC平台媒体播放器。昀终的结果证明,SoPC平台的应用系统开发能够很好地兼顾性能、灵活性、成本以及开发周期的要求。基于SoPC平台的软硬件协同设计方法研究,特别是基于操作系统环境下的应用系统软硬件协同优化设计,对嵌入式系统的顺利开发III上海交通大学硕士学位论文起着重要的作用。本课题研究成果为在SoPC平台进行系统设计开发提供经验和技术基础,具有一定的指导和借鉴意义。关键词:可编程片上系统知识产权硬件核软硬件协同驱动,媒体播放器IV上海交通大学硕士学位论文MediaPlayerSoftwareArchitectureDesignandOptimizationonSoPCPlatformABSTRACTWiththeincreasingdevelopmentofFieldProgrammableGateArray(FPGA)technology,thedesignandrealizationofembeddedsystemaremovinginthedirectionofSystemonChip(SoC),especiallyinthedirectionofSystemonProgrammingChip(SoPC)basedonFPGA.ThepapersummedupasetofcompletesystemdevelopmentmethodsforSoPCplatform,throughdesignandrealizingahardwaresoftwareco-operationmediaplayeronaresourcesconstrainedsystem.Firstofall,thispaperistotransplantthelatestembeddedLinuxOSandcreaterootfilesystemfortheSoPCplatform.Later,ThepaperdesignsMediaPlayerarchitecture,andthesoftware/hardwareco-designandco-optimizingmethodologyinOSenvironmentisproposed,andtheprojectoptimizesthevideodecoderwithhardwareaccelerator.Then,itproposesandimplementesSoPCplatformdriverautomaticgeneratorbasingonanalyzingLinuxkernelcode,soastoshortenthedevelopmentcycleofIntelleetualProperty(IP)coredrivers.Attheend,afterachievingAC97controllerdriver,thepaperanalyzesthesoftwarearchitectureofMplayerandintegratesthevideodecodermoduleandvideooutputV上海交通大学硕士学位论文moduletorealizeamultimediaplayerbasedonSoPCplatform.Thefinalresultsshowthatthemethodsofsoftware/hardwareco-optimizingdesignandthedriverautomaticgeneratorareeffective,andtheymakethedevelopmentofapplicationsonSoPCplatformbeagoodbalancebetweenperformance,flexibility,costsanddevelopmentcycle.Itplaysanimportantroleinthesmoothdevelopmentofembeddedsystems,whichisthehardware/softwareco-designmethodbasedonSoPCplatform,especiallythemethodofhardwareandsoftwaredesignandoptimizationforapplicationsbasedontheoperatingsystemenvironment.TheresultsinthisthesisprovidesomeexperienceandtechnicalfoundationforSoPCsystem’sapplicationandtheyhavesomeguidanceandreference.KEYWORDS:SoPC,IPHardwareCore,Software/HardwareCo-operation,Drivers,MediaPlayerVI上海交通大学硕士学位论文图例索引图例索引图1嵌入式系统软/硬件协同设计流程..................................3图2PowerPC405处理器结构..........................................8图3IBMCoreConnect总线的逻辑结构..................................9图4XUPVirtexIIPro开发板硬件资源................................11图5基本系统硬件框架..............................................13图6无文件系统的Linux运行........................................23图7BusyBox配置界面...............................................25图8嵌入式Linux启动画面..........................................27图9EDK环境下SoPC开发流程........................................30图10完整的SoPC开发流程..........................................31图11软件优化流程.................................................32图12媒体播放器硬件架构...........................................35图13Xvid解码计算量Profile结果...................................37图14硬件加速器整体设计...........................................39图15软硬协同的解码流程...........................................41图16EDK中初始硬件加速前后解码性能对比............................44图17IO寄存器的两种访问方式.......................................47图18两种驱动实现CIF码流解码性能对比.............................48图19一次性能分析结果.............................................49图20一次代码覆盖检查结果.........................................49图21VGA显示模块架构..............................................52图22VGA显示软件流程..............................................53图23驱动的设备模型...............................................56图24自动驱动生成器流程...........................................60图25ALSA架构.....................................................62图26ALSA架构下AC97驱动结构......................................63图27Mplayer逻辑结构..............................................65图28Mplayer代码结构..............................................66图29Mplayer工作流程..............................................67图30媒体播放器软硬件架构.........................................71ii上海交通大学硕士学位论文图例索引图31播放过程CPU性能.............................................72iii上海交通大学硕士学位论文表格索引表格索引表1Xilinx和Altera公司的处理器IP核性能比较.......................6表2Xilinx和Altera的SoPC开发工具比较.............................7表3基本系统的IP核列表...........................................13表4各种解码方案比较..............................................35表5各测试码流逻辑验证结果........................................43表6硬件加速前后函数性能对比......................................50表7昀终的硬件加速前后解码性能对比................................51表8Mplayer目录结构...............................................67表9视频输出结构成员..............................................69iv上海交通大学硕士学位论文上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查