火锅厂家
免费服务热线

Free service

hotline

010-00000000
火锅厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

SOPC系统建立及uClinux移植实现

发布时间:2020-07-21 19:08:15 阅读: 来源:火锅厂家

摘要:本文通过具体实现一个可以运行uClinux操作系统的最小SOPC系统,较为完整地介绍了构建SOPC系统以及构建NiosII软核处理器的方法及步骤,并详细描述了uCLinux操作系统在该SOPC系统上的移植方法。此外,还进行了基于NiosII处理器uClinux操作系统下应用程序的开发,以从总体上完成实用性的验证。

本文引用地址:引言随着大规模集成电路技术的进步和制造工艺水平的提高,嵌入式系统的开发变得日益复杂。传统的嵌入式系统设计方法已经不能适应当前嵌入式系统设计的需要。单个芯片容量的增大、功能的增加、体积的减小使得设计变得更加便利,同时也为嵌入式系统设计开发开辟了新的天地,即出现了可编程片上系统(SystemOnProgrammableChip,SOPC)技术。SOPC技术大大促进了软硬件协同设计及计算机系统设计自动化的发展,并具有可裁剪、可扩充、可升级的灵活设计方式及在系统可编程功能。

通常,嵌入式系统的软件部分主要基于实时操作系统(简称RTOS),在特定的RTOS之上开发应用软件。通过屏蔽掉许多底层硬件细节的方法,可以使得程序开发人员改进软件功能、提高设计效率、降低开发难度,同时使得程序调试方便、移植简单、容易维护,大大缩短了开发周期。uClinux是一种广泛应用于嵌入式设备中的实时操作系统,针对微控制器领域而设计。它的特点是较好的稳定性、出色的网络功能和高效的文件系统支持等。最大特征就是不使用内存管理单元模块(MMU:MemoryManagementUnit),很适合那些没有MMU的处理器。如把uClinux操作系统移植于SOPC系统,便可以使得此类系统大大缩短软硬件开发的时间,并可进一步增强整体功能。

1SOPC硬件系统的建立1。1硬件系统架构不同于许多基于微处理器的嵌入式系统,基于SOPC的嵌入式系统具有可配置的特点,可根据需要灵活地在一片FPGA中构造外设接口。本文构建的最小系统可运行uClinux,采用Altera公司的CycloneⅡ芯片EP2C35及相关外围电路组成。其中,外围电路包括1片16MB的DDRSDRAM、l片16MB的Flash、RS232、串行配置芯片EPCS64以及供电系统。系统体系架构如图1所示。

1。2SOPC硬件开发NiosⅡ系列嵌入式处理器是一款采用流水线技术、单指令流的RISCCPU,广泛应用于嵌入式系统。NiosⅡ包括3种内核:快速的F(最高性能的优化)内核、经济的E(最小逻辑占用的优化)内核以及标准的S(平衡于性能和尺寸)内核,每种内核根据不同的性能而优化。NiosⅡ嵌入式CPU支持32位指令集、32位数据线宽度、32个通用寄存器、32个外部中断源、2GB寻址空间,包含高达256个用户自定义的CPU定制指令。NI0SⅡCPU的所有数据、程序都是通过Avalon总线传输的,通过使用Altera的QuartusⅡ软件以及SOPCBuilder工具可以轻松地将NiosⅡ内核嵌入到系统里。

SOPC硬件开发主要使用QuartusⅡ和SOPCBuilder。由于本系统中使用到DDRSDRAM,所以在系统开发前必须安装与QuartusⅡ版本相兼容的Megacore程序以提供DDRSDRAMIP核。硬件设计主要工作有以下两步:(1)定制NiosⅡ处理器软核。用SOPCBuilder软件从NiosⅡ处理器内核和NiosⅡ开发套件提供的外设列表中选取合适的CPU、存储器以及各外围器件(如片内存储器、PIO、定时器、UART、片外存储器接口等),并定制和配置它们的功能、分配外设地址及中断号、设定复位地址、最后生成系统。用户也可以添加用户自身定制指令逻辑到NiosⅡ内核以加速CPU性能,或添加用户外设以减轻CPU的任务。定制好的NiosⅡ处理器软核如图2所示。

(2)建立完善顶层模块。使用SOPCBuilder生成NiosⅡ系统后,将其集成到整个QuartusⅡ工程中。根据需要在工程中加入NiosⅡ系统以外的逻辑,用户也可以集成自身定制的硬件模块到SOPC设计之中,或集成从Altera或第3方IP供应商得到的其它现成的知识产权设计模块。顶层模块主要包括DDRSDRAM模块、FLASH模块、UART模块以及PIO模块。

2裁剪和移植uClinux操作系统本系统使用的是Microtronix公司负责维护和发行的NiosⅡuClinux版本。该版本uClinux是2。6。11的内核,目前在NiosⅡ上运行最为稳定。在NiosⅡ上实现uClinux操作系统环境主要包括两个部分,一是针对NiosⅡ处理器移植的uClinux内核,二是建立一个包含基本系统工具和应用程序的根文件系统。

2。1建立uClinux内核该项工作主要需在NiosIIIDE环境中利用MicrotronixDevice栏中选择uClinux内核上传的位置(FLASH)以及内核运行的位置(SDRAM),完成生成内核的配置。回到NiosIIIDE主窗口界面后,在ProjectNavigator窗口中可以看到uClinux_kernel工程已经建立好。此时在uClinux_kernel上点击右键选择ConfigureKernel,进入uClinux内核配置界面,并根据硬件系统进行uClinux内核配置。需配置的主要选项及相关描述如下:(1)Processertypeandfeature--->Platform。项选择AlteraCycloneDevelopmentBoardSupport;(2)DeviceDrivers--->ATA/ATAPI/MFM/RLLsupport选项关掉,我们所建立的NiosII系统没有外部IDE接口外设;(3)DeviceDrivers--->Characterdevices--->NiosPIObuttonssupport选项关掉,因为系统中没有buttonsPIO,若选择则会编译出错;(4)DeviceDrivers->Characterdevices--->Serialdrivers--->AlteraJTAGUARTsupport选项选中,为控制台选择JTAG下载方式;(5)DeviceDrivers->Characterdevices--->Serialdrivers--->Niosserialsupport选项选中,通过RS232串口与系统进行通信交流;(6)其余配置不需要改变。

配置完成后予以保存并回到NiosIIIDE主窗口界面。在ProjectNavigator窗口中右键点击uClinux_kernel选择BuildProject编译内核。编译完成后,在ProjectNavigator窗口中展开uClinux_kernel工程。可以看到,在uClinux_kernel的目录中,已经生成了vmlinux。bin文件。在该文件上点击右键选择Upload即可启动烧写程序,将生成的内核二进制文件vmlinux。bin写入Flash芯片中。

2。2建立uClinux文件系统uClinux文件系统的建立与uClinux内核的建立方法类似,也是在NiosIIIDE环境中利用MicrotronixInstallMinimal按钮,只选择必须的工具和应用程序。这种情况下生成的基本文件系统仅为872K,很适合资源紧凑的开发平台。

长春双眼皮医院

重庆吸脂医院

海口吸脂价格