毕业设计(论文)_基于MagicSOPC的uClinux的移植_第1页
毕业设计(论文)_基于MagicSOPC的uClinux的移植_第2页
毕业设计(论文)_基于MagicSOPC的uClinux的移植_第3页
毕业设计(论文)_基于MagicSOPC的uClinux的移植_第4页
毕业设计(论文)_基于MagicSOPC的uClinux的移植_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科毕业论文 (设计)题 目:基于magicsopc的uclinux的移植学 院:信息工程学院 专 业:计算机科学与技术 姓 名: 指导教师: 2009 年 6 月 5 日24摘要uclinux嵌入式操作系统是一种可以嵌入到硬件平台上的操作系统,它主要是为无内存管理单元的处理器设计,它支持多任务,具有完备的tcp/ip协议栈并支持多种网络协议,并且支持多种文件系统。nios ii是altera公司开发的可用于sopc(system on a programmable chip,可编程片上系统)设计的处理器软核。基于nios ii软核的sopc系统,其最大特点就是灵活,可以根据自己的需要灵活改变

2、nios ii的外围设备,使得硬件利用效率达到最高,同时它具有isp(in system programmable,在系统编程)的功能,可裁减,可扩充,可升级。本文主要研究了基于magicsopc的uclinux嵌入式系统的移植过程。在对magicsopc了解的基础上,通过修改、配置、交叉编译uclinux内核源代码,实现了uclinux发行包在magicsopc开发板上的成功移植。编译后的内核最终烧录至开发板,并成功运行。关键词:uclinux,magicsopc,nios ii,嵌入式系统abstract the uclinux is a kind of operating system

3、which can be embedded in the hardware platform.it is mainly designed for the processor of non-memory management unit.it supports the multi-duties and many kinds of filing system,it also supports a lot kinds of net protocols,as well as has a integtated tcp/ip protocol stack.nios ii is a processers so

4、ftcore used for designing of system on a programmable chip which is developed by altera.system on a programmable chip based on niosii is very flexible,its peripheral equipment can be changed according to your needs,which makes the hardwares use efficiency highest.at the same time, niosii has in-syst

5、em-programmable function,it is reducible,expandable,upgradeable.the paper probes into the process of transplanting uclinux to magicsopc.after knowing more about magicsopc,it have realized the transplanting uclinux to nios iiii board by writing,altering,setting,cross-compiling the kernel of uclinux.t

6、he compiled kernel had been downloaded,burned to development board and run successfully at last.keywords: uclinux,magicsopc,nios ii,embedded system目录第一章 绪论11.1 研究背景及意义11.2研究的主要内容2第二章 嵌入式系统及嵌入式操作系统概述22.1嵌入式系统的概念及特点22.2嵌入式操作系统的概念及特点32.3嵌入式系统的发展4第三章 uclinux内核分析43.1uclinux内核结构特点43.2uclinux源代码组织结构53.3内存管

7、理63.4进程管理7第四章 系统硬件平台magicsopc介绍84.1 sopc简介84.2 magicsopc开发板功能简介94.3magicsopc的硬件资源和核心板性能114.3.1硬件资源114.3.2 核心板powersopc-2c35性能124.4 nios iiii软核处理器简介13第五章 基于magicsopc的uclinux移植145.1建立交叉编译环境145.2内核下载145.3 内核配置和编译155.4 内核烧写18第六章 全文总结22谢辞23参考文献24第一章 绪论1.1 研究背景及意义随着通信网络技术和集成电路设计的高速发展,嵌入式系统已成为it业的一个焦点。嵌入式系

8、统大量应用于自动控制、工业生产、军事技术和家用消费类数码设备上。pc己经从高速增长进入到平稳发展的市场顶峰时期,单纯由pc带领的电子产业蒸蒸日上的时代己经成为历史,现在的电子产业的发展需要寻找一个新的发展点。人们提出了“后pc时代”的概念,计算机无处不在,它渗透到生活和工作的方方面面。后pc时代的绝大多数计算机是以非计算机的形式出现的,例如智能手机、个人数字助理、路由器、电视机等等。这些设备大多数是以嵌入式系统的形式存在。近年来,可编程逻辑器件(pld)的发展,使得sopc(system on a programmable chip,可编程片上系统)成为可能, 即在一块可编程芯片上实现整个系统

9、。nios ii是altera公司开发的可用于sopc设计的处理器软核。基于nios ii软核的sopc系统,其最大特点就是灵活,可以根据自己的需要灵活改变nios ii的外围设备,使得硬件利用效率达到最高,同时它具有isp(in system programmable,在系统编程)的功能,可裁减,可扩充,可升级。uclinux是linux的一个分支,它保留了linux稳定和优异的网络能力以及优秀的文件系统支持的特点,同时又克服了linux必须依赖与mmu的不足,是一种优秀的嵌入式操作系统。同时nios ii又是一种高效、低功耗的risc处理器。二者的结合将使基于nios ii和uclinux

10、的嵌入式产品有更高的竞争力。1.2研究的主要内容本文针对嵌入式操作系统移植的普遍问题,结合altera公司的nios iiii嵌入式处理器对嵌入式操作系统uclinux移植的以下几个方面进行了探讨和研究:(1)uclinux操作系统;(2)硬件开发平台magicsopc;(3)nios iiii软核处理器;(4)将uclinux移植到magicsopc板子上的主要步骤。第二章 嵌入式系统及嵌入式操作系统概述随着信息技术和网络技术的迅速发展,建立在此基础上的嵌入式系统已广泛渗透到科学研究、工程设计、军事技术、商业文化艺术以及人们的日常生活等方面,嵌入式接入设备是数字化时代的一大主流产品,世界各国

11、在此领域开始了激烈竞争,以争取获得主导地位。本章主要介绍了嵌入式系统和嵌入式操作系统的基本概念和特点。2.1嵌入式系统的概念及特点嵌入式系统是计算机软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统通常具备以下一些特点:(1)嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各个行业具体应用相结合的产物,是一个技术密集、资金密集、高度分散、不断据创新的知识集成系统;(2)嵌入式系统通常只执行特定的功能,是面向用户、面向产品、面向特定应用的系统。嵌入式系统cpu都具有低功耗、体

12、积小、集成度高等特点,而且能够集成多种外设,从而有利于整个系统趋于小型化;(3)嵌入式系统和具体的应用有机地结合在一起,其升级换代也和具体的产品同步进行,因此,嵌入式系统产品一旦进入市场,就具有较长的生命周期;(4)为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储芯片中或单片机中,而不是在存储在磁盘等载体中。另外,由于大部分嵌入式系统必须具有较高的实时性,因此对程序的质量,特别是可靠设计性,有较高的要求。嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统

13、的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构己模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mw甚至uw级。据不完全统计,全世界嵌入式处理器已经超过100多种,流行的体系结构有30几个系列。嵌入式微处理器的体系结构经历了从cisc (complex instruction set computer

14、,复杂指令集计算机)到risc(reduced instruction set computer,精简指令集计算机)和compactrisc的转变;位数由4位、8位、16位、32位到64位;寻址空间从64kb到64mb;处理速度从0.1mips(million instructions per second,百万指令每秒)到2000mips等。2.2嵌入式操作系统的概念及特点嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通

15、用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。从20世纪80年代开始,出现了各种各样的商用嵌入式操作系统,这些嵌入式操作系统大部分是为专有系统开发,从而形成了多种形式的嵌入式操作系统,常用的操作系统包括嵌入式linux、microsoft windowsce、vxworks以及uc/os-ii等等。2.3嵌入式系统的发展纵观嵌入式系统的发展,大致经

16、历了三个阶段。第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、指示设备相配合的功能。这种系统大部分应用于工业控制系统中,一般没有操作系统的支持。第二阶段以嵌入式操作系统为标志。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具有文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(api),嵌入式应用软件丰富,但与互联网无关。第三阶段是以基于因特网为标志的嵌入式系统,这是一个正在迅速发展的阶段。第三章 uclinux内核分析嵌入式操作系统是嵌入式系统的灵

17、魂,而且在同一个硬件平台上可以嵌入不同的嵌入式操作系统,本章主要针对uclinux内核进行分析探讨。嵌入式uclinux操作系统主要由三个基本部分组成:引导程序,uclinux内核(由内存管理,进程管理和中断处理等构成)和文件系统。uclinux可以通过定制使内核小型化,还可以加上gui和定制应用程序,并将其放在rom,ram,flash或者disk on chip中启动。由于嵌入式uclinux操作系统的内核定制的高度灵活性,开发者可以按需要进行分配,来满足实际应用要求;又由于uclinux是源代码公开,因此开发人员完全可以了解内核原理,自己开发部分应用软件,下面将详细分析嵌入式操作系统uc

18、linux内核的特点。3.1uclinux内核结构特点uclinux从linux2.0/2.4内核派生而来,其内核功能结构与linux基本相同,不同的主要是对内存管理和进程管理进行了改写,以满足无mmu处理器的要求。另外,由于大多数内核源代码被改写,uclinux的内核要比原来linux2.0内核小的多,但保留了linux操作系统的主要优点:稳定性、优异的网络能力以及优秀的文件系统支持。作为一个优秀的嵌入式操作系统,uclinux的主要特点有:(1)通用的linuxapi(application programming interface,应用程序编程接口);(2)完整的tcp/ip协议堆栈;

19、(3 )支持大量其他的网络协议;(4)支持各种文件系统,包括nfs,ext2,romfs,jffs,ms-dos以及fat 16/323.2uclinux源代码组织结构uclinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面:首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码;其次romfs文件系统相对简单,建立文件系统超级块需要更少的存储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。现在的uclinux有两种版本,即ucl

20、inux-2.0和uclinux-2.4版本,它们分别对应于标准linux的uclinux-2.0和uclinux-2.4版本。下面我以内核2.4.x为例,详细介绍内核源文件的结构。该版本的uclinux内核源程序安装在/home/uclinux-dist/linux-2.4.x目录下。linux内核版本编号有约定:任何偶数的内核(例如2.0.x)都是一个稳定的发行内核,而任何奇数的内核(例如2.1.x)都是一个正在开发中的内核。内核源程序的文件按树型结构进行组织,在内核源程序树的最上层linux-2.4.x目录下你会看这样一些目录:(1) arch:arch包括了所有和体系结构相关的核心代码

21、。它的每一个子目录都代表一种支持的体系结构,例如nios ii就是关于nios ii cpu体系结构的内核,nios ii2nommu就是关于nios ii的内核。(2)include:inlcude子目录包括编译内核所需要的大部分头文件。与平台无关的头文件在/include/linux子目录下,例如与nios iiii cpu相关的头文件在inlcude/nios ii2armnommu子目录下。(3)init:这个目录包含内核的初始化代码,包含文件main.c和versions.c,这是研究初始化和内核的一个非常好的起点。(4) mmnommu:这个目录包括所有独立于cpu体系结构的内存管

22、理代码,如页式存储器管理内存的分配和释放,而和体系结构相关的内存管理代码则位于arch/*/mm目录中。(5) kernel:主要的核心代码,此目录下的文件实现了大多数uclinux系统的内核函数,其中最重要的文件当属sched.c,同样,和体系结构相关的代码在arch/*/kernel目录中。(6)drivers:存放系统所有的驱动程序。每种驱动程序又各占一个子目录,如block下为块设备驱动程序,比如ide (ide.c)。如果你想查看所有可能包含文件系统的设备是如何被初始化的,你可以看drivers/block/genhd.c中的device_setup()。它不仅初始化硬盘,还初始化网

23、络。(7)其他如lib,放置内核的库代码,net放置内核与网络相关的代码,ipc这个目录包含内核的进程间通信的代码,fs为所有文件系统代码和个那文件类型的操作代码,它的每个子目录支持一种文件系统,例如fat和ext2, scripts包含用于配置内核的脚本文件等等。内核源代码分为特定于体系结构的部分和与体系结构无关的部分。内核中特定于体系结构的部分先执行,它设置硬件寄存器,配置内存映射,执行特定于体系结构的初始化,然后将控制权交给内核中与体系结构不相关的部分。内核树下的目录arch/由不同的子目录组成,每个子目录用于一个不同的体系结构(mips,arm,i386,sparc,ppc等)。每一个

24、这样的子目录都包含kernel和mm子目录,他们包含特定于体系结构的代码来完成像初始化内存,设置irq(interrupt request,即“中断请求”),启用高速缓存,设置页面表等操作。一旦装入内核并给予其控制,就首先调用这些函数,然后初始化系统的其余部分。一般在每个目录下都有一个makefile文件,这个文件是编译时使用的辅助文件,仔细阅读这个文件对弄清各个文件之间的联系和依托关系很有帮助,而且有的目录下还有readme文件,它对该目录下的文件的一些说明,同样有助于对内核源代码的理解。3.3内存管理uclinux同标准linux的最大区别就在于内存管理。标准linux是针对有mmu的处理

25、器设计的。在这种处理器上,虚拟地址被送到mmu(memory management unit,内存管理单元),mmu把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟地址与物理地址转换映射,支持不同任务之间的保护。对于uclinux来说,其设计针对没有mmu的处理器,不能使用处理器的虚拟内存管理技术。uclinux仍采用存储器的分页管理,系统在启动时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有mmu管理,所以实际上uclinux采用实存储器管理策略,这一点影响了系统工作的很多方面。uclinux系统对于内存的访问是直接的,它对地址的访问不需要经过mmu,而是直接送到地址线

26、上输出,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,这实际上是很多嵌入式系统的特点,各个进程实际上共享一个运行空间,没有独立的地址转换表。一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。与之相对应的是标准linux系统在分配内存时没有必要保证实际物理存储空间是连续的,而只要保证虚存地址空间连续就可以了。此外磁盘交换空间也是无法使用的,系统执行时如果缺少内存将无法通过磁盘交换来得到改善。uclinux对内存的管理减少的同时就给开发人员提出了更高的要求。如果从易用性这一点来说,uclinux的内存管理是一种倒退,退回了到了unix早

27、期,开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少的内存。系统在启动的初始化阶段对内存进行分页,并且标记已使用的和未使用的内存,系统将在运行应用时使用这些分页内存。由于应用程序加载时必须分配连续的地址空间,而针对不同硬件平台的可一次成块(连续地址)分配内存大小限制是不同的。目前针对ez328处理器的uclinux是128k,而针对coldfire处理器的系统内存则无此限制,所以开发人员在开发应用程序时必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证

28、不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常。从内存的访问角度来看,开发人员的权利增大了,开发人员在编程时可以访问任意的地址空间,但与此同时系统的安全性也大为下降。此外,系统对多进程的管理将有很大的变化,这一点将在uclinux的多进程处理中说明。3.4进程管理针对没有mmu的处理器,uclinux抛弃了标准linux诸如对页目录和页表的管理;对于交换空间的维护;页交换内核守护进程和页面换出功能;缺页中断和页面保护机制等。为了解决由此产生新问题,uclinux修改了部分进程管理代码。uclinux没有mmu管理存储器,在实现多个进程时(fork调用生成

29、子进程)需要实现数据段保护。由于uclinux的多进程管理是通过vfork来实现的,因此fork等于vfork。这意味着uclinux系统fork调用完成之后,要么子进程代替父进程执行(此时父进程已经sleep)直到子进程调用exit退出;要么调用exec执行一个新的进程,这个时候将产生可执行文件的加载,即使这个进程只是父进程的拷贝,这个过程也不能避免。当子进程执行exit或exec后,子进程使用wakeup把父进程唤醒,使父进程继续往下执行。uclinux的这种多进程实现机制同他的内存管理紧密相关。uclinux针对没有mmu处理器开发,所以被迫使用一种flat方式的内存管理模式,启动新的应

30、用程序时系统必须为应用程序分配存储空间,并立即把应用程序加载到内存。缺少了mmu的内存映射机制,uclinux必须在可执行文件加载阶段对可执行文件reloc处理,使得程序执行时能够直接使用物理内存。第四章 系统硬件平台magicsopc介绍4.1 sopc简介用可编程逻辑技术把整个系统放到一块硅片上,称作sopc1(system on a programmable chip,可编程片上系统)。sopc是一种特殊的嵌入式系统:首先它是片上系统(soc),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。sop

31、c结合了soc和pld、fpga各自的优点,一般具备以下基本特征:(1) 至少包含一个嵌入式处理器内核; (2) 具有小容量片内高速ram资源; (3) 丰富的ip core资源可供选择; (4) 足够的片上可编程逻辑资源; (5) 处理器调试接口和fpga编程接口; (6) 可能包含部分可编程模拟电路; (7) 单芯片、低功耗、微封装。 sopc设计技术涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统(rtos)为中心的软件设计技术、以pcb(printed circuit board,印刷电路板)和信号完整性分析为基础的高速电路设计技术以外,sopc还涉及目前以引起普遍

32、关注的软硬件协同设计技术。sopc是pld(programmable logic device,可编程逻辑器件)和asic(application specific integrated circuit,专用集成电路)技术融合的结果,目前0.13微米的asic产品制造价格仍然相当昂贵,相反,集成了硬核或软核cpu、dsp、存储器、外围i/o及可编程逻辑的sopc芯片在应用的灵活性和价格上有极大的优势。sopc被称为“半导体产业的未来”。4.2 magicsopc开发板功能简介magicsopc是基于altera nios ii sopc系列的专业级创新教学实验开发平台;采用altera公司cy

33、clone ii 系列150 万门的fpga,先进的系统化、模块化设计;丰富的人机交互方式,众多的高性能外设使得magicsopc 实验开发平台具有卓越的性能和无与伦比的灵活性;是sopc、eda、dsp 教学实验、电子设计创新实验室、现代嵌入式系统实验室、科研开发的上佳选择。实验开发平台采用核心板加主板的结构,提供多种人机交互方式,多种模块外设,如:矩阵键盘、按键、拔档开关、触摸屏输入;数码管显示、大屏幕tft 彩色液晶显示屏;ac97音频模块;vga、tv、ps/2、usb、irda、can、i2c、spi、rs232、rs485、modem、ethernet、cf 卡、sd/mmc 卡、

34、ide 接口及高速ad/da 模块等。开发工程师可在该实验平台上实现eda、sopc、dsp 等各种设计并进行验证。核心板可灵活地用于二次开发。与一般的实验箱相比,magicsopc主板的所有外设都不需要进行跳线设置,做实验时方便简单;此外每个外设的信号都设置了测试点,方便用户使用逻辑分析仪进行信号测量。考虑到核心板对用户的实用性,核心板除设计最小系统外,还设计有按键、led 以及电源插座等,用户直接或量身定制底板使用,这样核心板可用于用户自己的设计中,亦可用于电子设计大赛。magicsopc开发平台如图4.1所示:图4.1 magicsopc开发平台powersopc核心板如图4.2所示:图

35、4.2 powersopc核心板4.3magicsopc的硬件资源和核心板性能4.3.1硬件资源magicsopc 主板硬件资源如下表所示:输入接口8个独立按键常用外设交流蜂鸣器8个拨档开关直流电机(含测速模块)一个复位按键步进电机4*4矩阵键盘交通灯模块8寸触摸屏数据采集电压基准2个ps/2鼠标、键盘接口包括完整ipcore及其驱动4通道串行高速d/a1通道串行高速a/d输出接口8个led发光管数字温度传感器8位高亮度7段动态数码管实时时钟pcf8563t2位高亮度7段静态数码管音频code模块(ac97)16*16led点阵pwm-dac接口1个256色vga接口包括完整ipcore及其驱

36、动高速数据采集(pack)10bit 125w da,可升级到2路1路8bit 40m ad一个最高130万色、1024*768分辨率的vga接口350m 高速运放存储设备ide接口一个tv接口,支持ntsc、ntsc-ela、pal等tv格式cf卡sd卡lcd(2*16)字符型液晶扩展接口主板上总线pack接口8寸640*480分辨率26万色tft液晶屏,带触摸屏1个带35个独立i/o的高速扩展接口通讯接口irda1个带36个独立i/o的高速扩展接口canuart电源-12vmoden12viic5vspi3.3vps/2红外遥控器方便做红外实验rs485核心板接口3个120pin高速板对板

37、接口,速度大于1gb/秒10m/100m以太网唯一合法mac地址数字信号源0.5hz-100mhz多组数字时钟1个usb device模拟信号源采用dds芯片,使用单片机控制,产生幅值可调0hz-10mhz的方波、三角波、正弦波4个usb hostfpga jtag4.3.2 核心板powersopc-2c35性能powersopc-2c35 核心板硬件资源如下:(1) 主芯片 fpga 采用cyclone ii 系列的ep2c35f672 器件(等150万门);(2) 配置芯片为 epcs16,16mb串行flash(可选配epcs64-64mb);(3) 8mb sram(32位、16位、

38、8位总线模式可选,可升级到16mb);(4) 128mb ddr sdram,速度为167mhz(ddr333);(5) 128mb nor flash;(6) usb2.0 控制器isp1161;(7) 1个usb host 接口;(8) 带i2c 接口、e2prom(2kb)的复位芯片cat1025si;(9) 3个扩展/原型插座;(10) 独立的1 个jtag 接口、1 个as 接口;(11) 4个用户自定义按键 、1 个重配置按键、1 个复位按键;(12) 8个用户自定义led、1 个配置指示灯;(13) 50mhz系统时钟;(14) 上电复位电路;(15) 板级及芯片级电压3.3v/

39、2.5v/1.25v/1.2v;(16) 独立电源输入接口。4.4 nios ii软核处理器简介 nios ii是一种软核处理器。所谓软核,是指未被固化到硅片上,使用时需要借助eda软件对其进行配置并下载到可编程芯片(比如fpga)中的ip核。软核最大的特点就是可由用户按需要进行配置。 nios ii是运行在fpga上的五级流水线、单指令的risc处理器,它专门针对altera的可编程逻辑器件及片上可编程的设计思想做了相应的优化。作为一种可配置的精减的risc处理器,它可以与用户自定义逻辑结合构成sopc系统,并下载到altera的可编程器件中。32位的nios ii软核,结合外部闪存以及大容

40、量存储器,可以构成一个功能强大的32位嵌入式处理器系统。此外,利用altera提供的ide(integrated development environment)开发工具可以方便的在调试模式下调试处理器,提高开发的速度。第五章 基于magicsopc的uclinux移植基于magicsopc的uclinux的移植主要分为四个个步骤:建立交叉编译环境,内核下载,内核配置和编译,内核烧写。5.1建立交叉编译环境交叉编译是嵌入式开发过程中的一项重要技术,它的主要特征是某机器中执行的程序代码不是在本机器编译生成,而是由另一台机器编译生成,一般把前者成为目标机,后者称为主机。采用交叉编译的主要原因在于,

41、多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译工程转移到高性能的主机中进行。 要把uclinux放到nios ii中运行,首先必须把uclinux代码编译成nios ii的指令。这个编译过程需要相应的程序来完成。下载nios2linux 开发包nios2linux-1.4软件包,并把该软件包安装到quartus ii文件夹下的kit文件夹里。5.2内核下载然后把“smallcore_for_uclunx”内核模板下载到magicsopc 实验箱中。最后,进入nios ii ied,选择“file”“new” “project” “microtronix nios ii”“l

42、inux kernel project”点击,建立新工程,如5.1图:图 5.1项目名称输入first_uclinux,选择相关的sopc buider 工程.ptf 文件和cpu,如图5.2所示:图 5.25.3 内核配置和编译在编译之前先进行内核配置,有3种方法:make config、make menuconfig、make xconfig,分别是字符界面、字符界面下实现的菜单界面和图形界面,3种配置方法是一致的。在配置内核选项中,指定我们需要的硬件,不需要的尽可能不选,因为flash只有16m,因此构造的内核应尽可能的小,其大小不能超过8m。以文本菜单方式选择内核选项,不同版本的内核,

43、选项可能会有一些差异。这一步是内核编译的关键,根据需要支持的硬件、文件系统和协议等内容,选择不同的选项。配置选项时,有三种选择方式,它们代表的含义如下:y将该功能编译进内核n不添加功能m将该功能编译成模块,在需要时动态加载到内核选择的原则是与内核关心紧密而且经常使用的部分功能代码直接编译到内核中;将与内核系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响;不需要的功能就不要选。我们使用空格键进行选取。根据选项的不同,按下空格键的结果也有所不同:选项后有“-”符号的,进入下一级菜单;选项前有中括号的,则在空和*之间

44、切换;选项前有尖括号的,在空、“*”和“m”之间切换;选项前有圆括号的,需要在所提供的几个选项中选择一项,或者需要输入数值等符号。内核配置界面如图5.3所示:图 5.3内核需要正确配置,如果配置不正确会造成内核编译错误。(1) code maturity level options 不选。(2) general setup 选configure standard kernel features for small systems),如图5.4所示:图 5.4(3) loadable module support 全不选。(4) processor type and featuresplatfo

45、rm (microtronix cyclone board support) microtronix cylone board support. 选中,如图5.5所示:图 5.5(5) device drivers 中去掉:ata/atapi/mfm/rll support、networking support.character devices中除serial drivers中选nios ii serial support、support for comsole on nios ii uart(new)外,其它的全不选。如图5.6所示:图 5.6(6) 剩下的全都保持默认值。配置完成后,开始

46、编译内核,配置完成后,打开navigator 表单,右击工程项目,选择build project 编译内核,编译成功后回到first_uclinux工程目录的build目录下生成了vmlinux.bin核心文件。5.4 内核烧写把内核文件下载到flash,启动flash programmer,在flash programmer中首先需要在左边按new生成一个编程配置。然后在右边选择program a file into flash memory。blower 选择内选择vmlinux.bin,而且写入offset 必须是0x0(系统启动地址)。点击apply,然后program flash 启

47、动编程写入,如图5.7所示:图 5.7这个过程也许需要几分钟时间。文件系统下载到flash和核心文件下载类似,如图5.8所示:图 5.8需要注意的地方是offset需要填0x800000。点击apply,然后program flash。启动编程写入,这个过程也需要几分钟。上述工作完成后我们打开串口调试助手,把波特率设为115200,然后关闭并重新打开开发板电源,uclinux 系统启动,如5.9图所示:图 5.9显示出“#”后,然入ls bin 回车就会显示当前bin 目录下的文件和文件夹。 至此,uclinux已经成功地移植到了magicsopc板子上。第六章 全文总结随着计算机技术的发展和

48、微处理器工艺的改进,价格低廉、功能强大、结构小巧的cpu和外设为嵌入式设备提供了稳定可靠的硬件架构,从而快速地促进了嵌入式系统的发展。嵌入式系统应用越来越广泛,功能越来越强大,嵌入式操作系统作为嵌入式设备的灵魂,为系统的开发和管理带来了很大的方便,嵌入式操作系统已成为近年来的研究热点。嵌入式操作系统uclinux是linux操作系统的一个重要分支,它是专为没有存储器管理部件(mmu)的微处理器设计的嵌入式操作系统。uclinux由于其代码的开发性、系统的稳定性、强大的网络功能以及优秀的文件系统支持,在嵌入式设备特别是在网络设备中得到了广泛应用。本论文研究的重点是将uclinux移植到magic

49、sopc开发板上,论文通过对uclinux的分析,以及对嵌入式操作系统移植的探讨,讨论了将uclinux移植到magicsopc开发板上的核心技术和嵌入式操作系统移植的关键问题。随着嵌入式系统应用的快速发展,嵌入式操作系统研究已成为业界的一个热点。本文在详细分析嵌入式uclinux操作系统基础上,给出了uclinux的移植方法,但uclinux作为一个操作系统,还有很多的部分有待于更详细的研究。目前,绝大多数的嵌入式操作系统技术仍然掌握在国外大公司的手中,与它们相比,国产的嵌入式操作系统在技术含量、兼容性、市场运作模式等方面还有相当的差距。uclinux作为自由操作系统,为我们研究最新嵌入式操

50、作系统技术提供了很好的契机。可以肯定的是,随着嵌入式系统的快速发展,开源嵌入式操作系统uclinux的应用必将越来越广泛。谢辞本论文是在孙仁诚老师的指导下完成的。孙老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,使我得到很大的提高,这对于我今后的学习和工作都有巨大的帮助,在此致以衷心的感谢。另外,在这里也特别感谢研究生张杰给我的指导和帮助,正是在他的帮助下,我解决了各种各样的问题,使得课题能及时研究完成。还有身边的同学同样给予我不少帮助,在这里表示感谢!参考文献1周立功,sopc嵌入式系统基础教程。 北京航空航天大学出版社,

51、2006.112陈莉君,深入分析linux内核源代码m。人民邮电出版社,2002.83田志刚,嵌入式linux 系统及其应用j,微计算机应用2003,24(5):4陈坚华,范艳等,基于arm7tdmi的uclinux移植j。电子器件,vol.26,no.1,2003,3:15185uclinux website,www.uc6田泽,嵌入式系统开发与应用,2005.77john lombardo,embedded linux,new riders publishing,isbn 0-7357-0998.x8david mccullough,getting started wit

52、h uclinux/article.pl?sid=02/09/03/13572559李善平等,linux与嵌入式系统,清华大学出版社,200310王庆江,董渭清,张琳等,嵌入式系统及其开发领域典型特征分析j。计算机应用研究,2002,19(4):111311张湘,肖建,嵌入式系统和嵌入式操作系统。12钟锡昌.嵌入操作系统在中国的发展现状与前景j,信息技术与标准化,2002,(6):606213魏忠,菜勇,嵌入式开发详解。电子工业出版社,2003.3 414邹思轶,嵌入式linux设计与应用。清华大学出版社,2001.77-7815周德新,张向利,linux

53、与嵌入式操作系统。桂林电子工业学院学报,2000.4期: 21 2316金西,黄汪,嵌入式linux及其关键技术。微型机与应用,2000, 1 1期:6817何立民,嵌入式系统的定义与发展简史。北京航空航天大学出版社,2004.12.3原文已完。下文为附加文档,如不需要,下载后可以编辑删除,谢谢!施工组织设计本施工组织设计是本着“一流的质量、一流的工期、科学管理”来进行编制的。编制时,我公司技术发展部、质检科以及项目部经过精心研究、合理组织、充分利用先进工艺,特制定本施工组织设计。一、 工程概况:西夏建材城生活区27#、30#住宅楼位于银川市新市区,橡胶厂对面。本工程由宁夏燕宝房地产开发有限公

54、司开发,银川市规划建筑设计院设计。本工程耐火等级二级,屋面防水等级三级,地震防烈度为8度,设计使用年限50年。本工程建筑面积:27#楼3824.75m2;30#楼3824.75 m2。室内地坪0.00以绝对标高1110.5 m为准,总长27#楼47.28m;30#楼47.28 m。总宽27#楼14.26m;30#楼14.26 m。设计室外地坪至檐口高度18.6 00m,呈长方形布置,东西向,三个单元。本工程设计屋面为坡屋面防水采用防水涂料。外墙水泥砂浆抹面,外刷浅灰色墙漆。内墙面除卫生间200300瓷砖,高到顶外,其余均水泥砂桨罩面,刮二遍腻子;楼梯间内墙采用50厚胶粉聚苯颗粒保温。地面除卫生

55、间200200防滑地砖,楼梯间50厚细石砼1:1水泥砂浆压光外,其余均采用50厚豆石砼毛地面。楼梯间单元门采用楼宇对讲门,卧室门、卫生间门采用木门,进户门采用保温防盗门。本工程窗均采用塑钢单框双玻窗,开启窗均加纱扇。本工程设计为节能型住宅,外墙均贴保温板。本工程设计为砖混结构,共六层。基础采用c30钢筋砼条形基础,上砌mu30毛石基础,砂浆采用m10水泥砂浆。一、二、三、四层墙体采用m10混合砂浆砌筑mu15多孔砖;五层以上采用m7.5混合砂浆砌筑mu15多孔砖。本工程结构中使用主要材料:钢材:i级钢,ii级钢;砼:基础垫层c10,基础底板、地圈梁、基础构造柱均采用c30,其余均c20。本工程设计给水管采用ppr塑料管,热熔连接;排水管采用upvc硬聚氯乙烯管,粘接;给水管道安装除立管及安装ic卡水表的管段明设计外,其余均暗设。本工程设计采暖为钢制高频焊翅片管散热器。本工程设计照明电源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论