计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

NIOS软核处理器的Linux引导程序U-boot设计

2017-08-10 06:54
导读:理工论文论文,NIOS软核处理器的Linux引导程序U-boot设计在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘要:针对将cClinux向Nios处理器移植过程中的启动加载程序U-bo
摘要:针对将cClinux向Nios处理器移植过程中的启动加载程序U-boot bootloader进行研究。首先介绍移植的步骤,然后利用bootloader的设计思想,着重讨论U-boot在Nios中的设计与实现,最后对U-boot在基于Linux的嵌入式系统 中的运用作了探索和展望。

1 概述

1.1 Nios简介

Nios是Altera公司以RISC为基础的可配置、可裁减软核处理器。它具有16位指令集和16/32位数据通路,通过将包括16或32位高性能处理器在内的移种应用模块嵌入到通用FPGA/CPLD内,实现完全可配置的嵌入式系统。其开发套件包括:具有必要外围内核的Nios处理器、C/C 编译器、Cygnus的源级调试程序、Quartus编译软件、验证工具和开发板。

Nios软核处理器主要特性包括:高效灵活的处理器模块,可以通过软件配置成16位或32位的中央处理单元(RISC结构),并可选择不同的内部存储器大小,其最高执行速度可达50MHz;具有多种其它功能模块的选择(SDRAM控制器、UART控制器、PCI接口模块、LCD接口模块、MAC接口模块等多种功能模块);具有完整、廉价、便捷的开发系统。所有开发(包括设计、调试)均通过软件进行,不再需要专门的硬件仿真器和编器,大大减少了开发设备的成本。

1.2 向Nios移植uClinux需要做的工作和步骤

(1)硬件需求

需要一个Altera公司的开发包,或者是下面三种之一:APEX board,STRATIX board,CYCLONE board。本文选用的是CYCLONAE board。

(2)软件需求

下载一个最新版本的uClinux,并搭建一个Nios的GNU C编译环境,准备好CDK4Nios开发包。CDK4Nios开发包是Nios的交叉开发包。

(3)bootloader

需要编写或移植一个bootloader到Altara Nios board上。本文就是要设计一个用于Nios的U-boot bootloader。利用QUARTUS软件为开发板定义默认参数,然后在开发板上测试U-boot。 (科教范文网http://fw.ΝsΕΑc.com编辑)

(4)uClinux内核的编译

将下载好的uClinux源泉代码解压到/home目录下,会产生/home/uClinux-dist目录,进入该目录,依次键入:

make menuconfig

make dep

make

在/home/uClinux-dist/image目录中产生image.rom,image.ram,romfs.img,它们分别是内核的映像及文件系统的映像文件。键入make menuconfig时,会出现开发平台及内核配置和文件系统应用程序的配置界面,可以根据需要配置。

(5)uClinux的根文件系统及其加载

uClinux系统采用romfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。romfs文件系统不支持动态擦写保存,对于需要系统动态保存的数据,采用虚拟ram盘的方法进行处理(ram盘将采用ext2文件系统)。同时,uClinux内核也支持各种文件系统,例如,网络文件系统,在需要时可以进行mount。

解决了上述问题以后,uClinux便可以成功地移植到Nios上。

1.3 U-boot介绍

U-boot是启动引导程序的一种,是一种通用的Linux bootloader。在做uClinux移植时,碰到的第一个问题就是移植bootloader或者自己编写bootloader程序。Linux内核启动部分的代码需要判断从bootloader传递过来的寄存器值。U-boot对Linux引导有特别的支持,如:

①SCC/FEC以太网支持;

②BOOTP/TFTP引导;

③IP,MAC预置能力和在线读写Flash、DOC、IDE、IIC、EEROM、RTC;

④支持串行口kernit,S-record下载代码;

⑤识别二进制、ELF32、pImage格式的Image,对Linux引导有特别的支持;

⑥单软件软件运行环境(hello.c);

⑦监控(minitor)命令集有读写I/O、内存、寄存器、外设测试功能等;

上一篇:基于ADuC812的智能无功补偿控制器的研制 下一篇:没有了