位置:51电子网 » 技术资料 » EDA/PLD

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

发布时间:2008/5/28 0:00:00 访问次数:620

摘要:针对将cclinux向nios处理器移植过程中的启动加载程序u-boot bootloader进行研究。首先介绍移植的步骤,然后利用bootloader的设计思想,着重讨论u-boot在nios中的设计与实现,最后对u-boot在基于linux的嵌入式系统 中的运用作了探索和展望。

关键词:u-boot bootloader uclinux nios软核

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。

(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、内存、寄存器、外设测试功能等;

摘要:针对将cclinux向nios处理器移植过程中的启动加载程序u-boot bootloader进行研究。首先介绍移植的步骤,然后利用bootloader的设计思想,着重讨论u-boot在nios中的设计与实现,最后对u-boot在基于linux的嵌入式系统 中的运用作了探索和展望。

关键词:u-boot bootloader uclinux nios软核

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。

(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、内存、寄存器、外设测试功能等;

-->
相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!