NISO软件学习原文翻译.docx
- 文档编号:27557792
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:12
- 大小:112.93KB
NISO软件学习原文翻译.docx
《NISO软件学习原文翻译.docx》由会员分享,可在线阅读,更多相关《NISO软件学习原文翻译.docx(12页珍藏版)》请在冰豆网上搜索。
NISO软件学习原文翻译
NISO软件学习原文翻译
硬件/软件开发流程
本教程介绍了Nios处理器的软件开发和编译,调试和原型嵌入式软件引导的基本软件开发流程。
虽然本教程使用的Nios开发套件作为示范平台,在本教程中介绍的一般概念,任何Nios处理器系统是有效的。
在本教程中说明以下Nios开发包的设计工作,:
Nios开发工具包,Stratix版
Nios开发工具包,Cyclone版
Nios开发工具包,Stratix专业版
图1显示了完整的设计流程,为创建一个Nios系统和原型,在Nios开发板。
该图既包括硬件和软件设计的任务,需要建立一个工作系统。
右边显示软件开发流程而左侧显示硬件设计流程。
本教程将通过步骤“软件开发”和“软件原型发展局”引导您,如图1所示。
Nios硬件开发教程是为硬件流的一个完整的解释。
图1。
硬件/软件开发流程为处理器Nios系统步骤
图1显示第9页硬件和软件流程相交。
为了获得一个完整的工作体系,重要的是要知道,每一方必须为其他提供一些。
即使你的开发团队包括了不同的硬件和软件设计,它有助于理解设计流程软硬件两边的不同。
开始的开发流程初步设计活动(第一步在图1),其中包括分析系统要求:
计算性能的设计要求?
系统必须处理多少带宽或工作量?
基于这些问题的答案,你能确定具体系统要求:
将中央处理器需要一个硬件加速乘数器吗?
怎么样的外设,每种的数量,并在设计要求吗?
DMA通道能被用来释放CPU周期在用于复制数据吗?
这些决定涉及的硬件和软件团队。
基于系统要求、硬件设计的开始要考虑到SOPCBuilder系统集成软件。
在这一点上,你就可以开始编写设备无关的C/c++软件,如算术算法或控制方案(图1中的步骤2)。
你可以使用现有的软件库和/或操作系统内核,以加快发展进程。
在硬件设计师定义使用SOPCBuilder定制Nios处理器的硬件系统,SOPCBuilder生成一个自定义的软件开发工具包(SDK),形成了软件开发流程的基础。
用SDK(步骤3在图1),你就可以开始编写水平低,交互的软件与硬件组件。
SDK的定义定制的硬件软件访问系统中的硬件组件,包括内存映射和数据结构。
该SDK提供了软件程序,标准外设,如UART接口,PIO的访问和DMA控制器。
很少的开发工作,你可以用SDK来成功的沟通与基本系统组件。
GNUPro工具包是用来编译和链接软件与SDK的生成程序,头文件,和其他的软件库(图1中的步骤4)。
在硬件设计师成型基本Nios处理器的硬件开发板工作之后,软件开发团队可以下载该软件的开发板和原型在硬件上执行的软件(图1中的步骤5)。
Nios的开发工具包提供几个实用程序和下载程序编制软件项目开发板使用AlteraByteBlasterMV或ByteBlasterII下载线或使用串行下载线。
可用的GNUPro工具包和Nios实用程序提供快速编辑-编译-下载-调试在你的系统里重复循环。
(第6步在图1)。
可配置处理器Nios的性能改进提供灵活的选择,如果系统没有最初实现其性能目标。
请参阅“关于配置的处理器硬件特性”第13页的有关这些功能的更多信息。
如果该系统包括定制的硬件组件,那么你必须建立低级别的C语言或汇编语言例程的定制硬件接口。
这些程序可以简单,如写入数值到PIO外设控制数据向外界沟通;或更复杂的,如使用中断服务程序,以监测和处理来自外界的不断请求。
在许多情况下,硬件工程师写得最多的低级软件功能,这些功能,成为不可分割的一部分的SDK。
本教程不描述如何编写自定义外设的软件。
软硬件要求
这篇教程需要以下的硬件和软件:
一台安装3.0版本Nios处理器和已安装相关软件开发工具的个人电脑。
Nios开发板的配置与工厂编程的“安全”的参考设计。
该板应设置并连接在入门用户指南为描述您的套件。
ByteBlaster下载线的驱动,QuartusII安装的描述和许可在个人电脑手册中有。
Nios开发板和Nios开发工具的细节,请参阅入门套件的用户指南。
处理器Nios嵌入式软件安装创造目录见表4在altera\kits\Nios目录组件默认。
表4。
目录结构
目录名称
描述
工具箱
包含工具所需的软硬件设计开发Nios,包括GNU工具链。
组件
包含所有的SOPC建设者周边设备。
每一个周围有它自己的子目录和一个档次。
ptf文件描述各组成部分。
文件
包含文件Nios嵌入式处理器、Nios开发板,SOPC建筑者,和GNUPro工具。
例子
包含文件Nios嵌入式处理器、Nios发展委员会,SOPC建筑者,和GNUPro工具。
指南
包含子目录的文件,你可以使用各种Nios辅导。
这个指南的目录Nios_SW_Tutorial_<器件系列>_<装置>。
软件使用的工具
以下各节描述,您将在本教程中使用的软件工具。
GNUPro工具
Nios开发套件包括GNUPro工具包,其中包括一个编译器,调试器(GDB的命令行和基于GUI的洞察力)和通用软件开发工具。
有关详细信息,请参阅Nios文档在
Nios片上仪器(OCI)调试组件
由FirstSiliconSolutions公司创建的Nios片上仪器(OCI)调试模块是一种调试的核心。
在NiosOCI调试模块提供了JTAG接口的NiosCPU,并实现在电路仿真器的功能集,包括运行控制,内存和寄存器可见性,和复杂的断点。
Nios片上仪器(OCI)调试控制台
在NiosOCI调试控制台是一个交流的NiosOCI调试模块的命令行界面。
命令包括系统配置,仿真控制,内存访问(包括汇编和反汇编),寄存器的访问,跟踪和触发的访问,文件下载,和状态指示。
命令详见附录A中的入门FirstSilicon解决方案:
Nios处理器核心的系统分析器。
Nios开发套件包括一个调试控制台的版本了AlteraByteBlasterMV或ByteBlasterII线工程。
Nios开发套件,Stratix专业版的用户还可以设置复杂的数据,如断点中断执行时触发一个特定的数据值存储到一个特定的地址。
NiosSDK壳
你用这个bash环境开发Nios软件和与Nios开发板交流。
在NiosSDKShell提供在PC平台上的类UNIX环境。
Nios的开发工具包提供了很多的Nios特别的实用程序,这些你可以使用NiosSDK壳生成和调试软件。
你也可以使用NiosSDK的外壳去运行测试程序开发板Nios。
通过一个软的核心处理器的设计允许你配置处理器硬件根据您的系统要求。
接下来的章节将描述一些可用的功能,你可以用它来增加你的Nios系统性能。
关于配置处理器硬件特征
乘法器
32位处理器Nios提供了两种硬件快速的乘法指令。
这可以达到十倍的性能与一种纯软件实现比较。
如果你的代码执行一些乘法操作,不含要求多元化,或者你想使CPU核心尽可能小可以用软件数学库其中包括C语言编辑器。
另一方面,如果你的代码执行众多的乘法运算或必须优化速度,选择其中的一个专用硬件乘法器(MSTEP或MUL)。
了解更多的信息,参阅Nios3.0CPU数据表。
数据和指令缓存
你可以配置的处理器Nios内存使用汉字指令缓存(I-cache)和数据缓存(D-cache),可从整体上提高系统的性能。
这个处理器容纳副本的off-chip记忆在片上I-cache和D-cache目的是减少内存的访问时间。
如果你正在使用慢off-chip记忆和想要更好的表现,添加I-cache和/或D-cache。
定制指令
您可以添加定制指令Nios处理器大大提高性能。
如果你找到一个特定的操作,防止系统符合您的性能目标,可以考虑在硬件实现定制指令操作。
同步的多主机总线的体系结构和直接存储器存取
Nios的处理器使用一个多主机总线的体系结构,这允许多个总线可以同时完成总线的处理。
例如,同时的多主机架构允许一个直接存储器存取周边外设和或者内存之间传递数据,当NiosCPU执行指令的同时进行,只要直接存储器存取和处理器Nios不能访问相同的周边。
这个功能增加不增加系统容量的时钟频率。
为更多的信息,请参阅184:
同时的多主机通过Avalon总线。
外设接口和记忆
你可以创建一个Nios处理器硬件系统与任何组合的外设,内存接口,或cpu。
通常,这是更有效的复制,使软件硬件资源共享一个单独的资源。
唯一的限制因素的CPU的数量,外设,与记忆系统界面设计中存在的一些问题是指在AlteraFPGA逻辑。
SOPC建设者的工具使它容易添加知识产权(IP)以及用户定义的逻辑在外围的库。
访问Altera网站为一系列SOPC建设者准备块。
Nios软件开发工具包
在除的GNUPro工具,SDK是NIOS软件开发的基础。
SOPCBuilder生成自定义为每一个Nios处理器生成系统的SDK。
如果你不使用SOPCBuilder生成的硬件,那么你必须提供自己的SDK。
附件2:
外文原文(复印件)
Hardware/SoftwareDevelopmentFlow
ThistutorialintroducessoftwaredevelopmentfortheNiosprocessorandwalksyouthroughthebasicsoftwaredevelopmentflowforcompiling,debugging,andprototypingembeddedsoftware.AlthoughthistutorialusestheNiosdevelopmentkitasademonstrationplatform,thegeneralconceptsintroducedinthistutorialarevalidforanyNiosprocessorsystem.TheinstructionsinthistutorialaredesignedtoworkwiththefollowingNiosdevelopmentkits:
■NiosDevelopmentKit,StratixEdition
■NiosDevelopmentKit,CycloneEdition
■NiosDevelopmentKit,StratixProfessionalEdition
Figure1showsacompletedesignflowforcreatingaNiossystemandprototypingitontheNiosdevelopmentboard.Thediagramincludesboththehardwareandsoftwaredesigntasksrequiredtocreateaworkingsystem.Therightsideshowsthesoftwaredevelopmentflowwhiletheleftsideshowsthehardwaredesignflow.Thistutorialwalksyouthroughthesteps“SoftwareDevelopment”and“SoftwarePrototypeontheDevelopmentBoard”showninFigure1.
f
RefertotheNiosHardwareDevelopmentTutorialforacompleteexplanationofthehardwareflow.
Figure1.Hardware/SoftwareDevelopmentFlowforaNiosProcessorSystem
Figure1onpage9showswherethehardwareandsoftwareflowsintersect.Toobtainacomplete,workingsystem,itisimportanttoknowwhateachsidemustprovidefortheother.Evenifyourdevelopmentinvolvesseparateteamsforhardwareandsoftwaredesign,itishelpfultounderstandthedesignflowonbothsidesofthehardware-softwaredivide.
Thedevelopmentflowbeginswithpredesignactivity(step1inFigure1),whichincludesananalysisofthesystemrequirements:
■Whatcomputationalperformancedoesthedesignrequire?
■Howmuchbandwidthorthroughputmustthesystemhandle?
Basedontheanswerstothesequestions,youcandeterminetheconcretesystemrequirements:
■WilltheCPUneedahardware-acceleratedmultiplier?
■Whichperipherals,andhowmanyofeach,doesthedesignrequire?
■CouldDMAchannelsbeusedtofreeupCPUcyclesspentcopyingdata?
Thesedecisionsinvolveboththehardwareandsoftwareteams.
Basedonthesystemrequirements,thehardwaredesignbeginswiththeSOPCBuildersystemintegrationsoftware.Atthispoint,youcanbeginwritingdevice-independentC/C++software,suchasarithmeticalgorithmsorcontrolprograms(step2inFigure1).Youcanuseexistingsoftwarelibrariesand/oranOSkerneltospeedthedevelopmentprocess.
AfterthehardwaredesignerdefinesthecustomNiosprocessorhardwaresystemusingSOPCBuilder,SOPCBuildergeneratesacustomsoftwaredevelopmentkit(SDK)thatformsthefoundationforthesoftwaredevelopmentflow.WiththeSDK(step3inFigure1),youcanbeginwritingsoftwarethatinteractsatalowlevelwithhardwarecomponents.TheSDKdefinesthesoftwareviewofthecustomhardware,includingthememorymapandthedatastructuresforaccessinghardwarecomponentsinthesystem.TheSDKprovidessoftwareroutinesforaccessingstandardperipheralssuchasUARTs,PIOs,andDMAcontrollers.Withverylittledevelopmenteffort,youcanusetheSDKtocommunicatesuccessfullywithfundamentalsystemcomponents.
TheGNUProToolkitisusedtocompileandlinksoftwarewiththeSDKgeneratedroutines,headerfiles,andothersoftwarelibraries(step4inFigure1).AfterthehardwaredesignersprototypethebasicNiosprocessorhardwareworkingonthedevelopmentboard,thesoftwareteamcandownloadthesoftwaretothedevelopmentboardandprototypethesoftwareexecutinginhardware(step5inFigure1).TheNiosdevelopmentkitprovidesseveralutilitiesforcompilingsoftwareprojectsanddownloadingprogramstothedevelopmentboardusinganAlteraByteBlasterMVorByteBlasterIIdownloadcableorusingaserialcable.TheavailableGNUProToolkitandNiosdevelopmentutilitiesproviderapidedit-compile-download-debugiterationswhiledesigningyoursystem(step6inFigure1).
TheconfigurableNiosprocessoroffersflexibleoptionsforperformanceenhancementsifthesystemdoesnotinitiallyachieveitsperformancegoals.Referto“AboutConfigurableProcessorHardwareFeatures”onpage13formoreinformationaboutthesefeatures.
1Ifthesystemincludescustomhardwarecomponents,thenyoumustcreatelow-levelCorAssemblylanguageroutinestointerfacetothecustomhardware.Theseroutinescanbesimple,suchaswritingvaluestoaPIOperipheraltocommunicatecontroldatatotheoutsideworld;ormorecomplex,suchasusinginterruptserviceroutinestomonitorandprocessstimulusfromtheoutsideworldcontinuously.Inmanycases,thehardwareengineerwritesthemostlow-levelsoftwarefunctions,andthesefunctionsbecomeanintegratedpartoftheSDK.Thistutorialdoesnotdescribehowtowritesoftwareforcustomperipherals.
Hardware&SoftwareRequirements
Thistutorialrequiresthefollowinghardwareandsoftware:
■APCwiththeNiosprocessorversion3.0andrelatedsoftwaredevelopmenttoolsinstalled.
■Niosdevelopmentboardconfiguredwiththefactory-programmed“safe”referencedesign.Theboardshouldbesetupandconnectedasdescribedinthegettingstarteduserguideforyourkit.
■TheByteBlasterdownloadcabledriver,installedasdescribedintheQuartusIIInstallation&LicensingforPCsmanual.
f
RefertothegettingstarteduserguideforyourkitfordetailsontheNiosdevelopmentboardandtheNiosdevelopmenttools.
SoftwareToolsUsed
Thefollowingsectionsdescribethesoftwaretoolsthatyouwilluseinthistutorial.
GNUProTools
TheNiosdevelopmentkitincludestheGNUProToolkit,whichincludesacompiler,debugger(command-lineGDBandGUI-basedInsight),andgeneral-purposesoftwaredevelopmentutilities.Formoreinformation,refertotheNiosdocumentationinthe
NiosOn-ChipInstr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NISO 软件 学习 原文 翻译
![提示](https://static.bdocx.com/images/bang_tan.gif)