ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
先容了利用已有的MIPS版Linux源文件包,编译可运行的Linux内核的要领;讨论了在主机上创建干系办事器,通过NFS办事从主机上下载内核,在无盘开辟板上启动Linux的要领。
关键词:MIPS NFS 启动Linux
一、小序
大多数基于MIPS处理惩罚处罚器的平台上都没有提供软、硬盘接口,一样通常环境下,也没有在板载Flash里烧入可利用的利用体系。没有利用体系,用户的利用就会受到很多限定,应用步调的开辟、调试进程就会变得相称巨大。因此,创建切合的利用体系及开辟环境,可以方便用户,简化开辟调试进程。本文以RedHat Linux 为例,阐发在RM7000A处理惩罚处罚器无盘开辟板上创建Linux体系的要领。所用硬件配置:带有10/100Mb以太网接口和用于表现的串口的开辟板、装有Redhat Linux 9.0的主机(Host PC)。如图1:
二、编译内核
l 准备变乱
编译前,须要有MIPS处理惩罚处罚器版的Linux源文件包,大抵的要领是从MIPS公司大概SGI公司等的FTP办事器上下载(ftp://ftp.mips.com/pub/linux 或ftp://oss.sgi.com 或ftp://ftp.linux-mips.org/linux/mips )。别的,由于所用主机是x86体系,要编译在MIPS处理惩罚处罚器上运行的内核,须要有能在x86处理惩罚处罚器上变乱的交错编译东西;为了使Linux启动后,可以在开辟板上直接开辟应用步调,还须要MIPS版的NFS根目次布局包,它包括了Linux运行须要的目次布局、配置文件、东西等等。同样,根目次布局包和东西包也可在上述网站的办事器上下载。下载根目次布局包和交错编译东西时,要过细选择与开辟板设置的数据格局(高序Big Endian或低序Little Endian)划一的版本。
得到源文件包、根目次布局包文件后,将其解压至指定目次,如分别指定为:/tftpboot和/tftpboot/mips,包内文件和子目次就全部展开在相应目次中;
敷衍rpm格局的东西包文件,可在终端窗口用下令行要领展开:
rpm –ihv toolchain-mips-*.rpm
交错编译东西主动摆设到/usr/tools的目次下。进入/tftpboot/linux目次,打开Makefile文件,变动以下语句为:
ARCH=mips
CROSS_COMPILE=http://www.dianzi.net/usr/tools/bin/mips-linux-
l 配置变乱
接下来,是对编译可否顺利通过至关告急的配置进程。所谓配置,便是根据开辟板细致环境,只选择必须选项,使重编译的内核既提供所须要的结果,又占据最小存储空间。由于Linux体系各结果模块之间存在差别程度的依赖干系,配置进程中有大概会粉碎这些讨论干系;因此配置完成后不肯定能通过讨论干系检测,大概须要重复地举行配置弃取。
配置进程须要过细:
1. 数据格局与开辟板的设置和交错编译东西划一,才华天生正确的内核;
2. 设置正确的处理惩罚处罚器,以及相近的开辟板典范;
3. 需提供对标准串口的支持和通过串口表现的结果;
4. 由于编译内核的主机不是MIPS处理惩罚处罚器,以是肯定要设置CROSSCOMPILE项;
5. 由于要通过网络下载内核来启动,对PCI配置、网络协议、网络配置的支持必不可少,别的,在网络文件体系中还要选择NFS_FS和ROOT_NFS选项;
以上为配置底子选项,别的结果可根据开辟板细致环境弃取。配置步调如下:
cd /tftpboot/linux -- 进入目次/tftpboot/linux
make config -- 举行行下令配置
make dep -- 讨论干系检测
l 编译内核
要是无堕落提示,表明配置正确,可以编译内核:
make boot
编译完成后在/tftpboot/linux和/tftpboot/linux/arch/mips/boot中都市出现差别格局的内核映像文件vmlinux、及System.map文件。
三、设置主机办事
1. 设置TFTP办事器
在RedHat Linux摆设CD3中找到tftp文件包:tftp-0.32-4.i386.rpm,在终端输入: rpm –ihv tftp-0.32-4.i386.rpm,体系主动摆设好tftp办事器;
cd /etc/xinetd.d -- 进入目次/etc/xinetd.d
vi tftp --只有在摆设了tftp办过后,才会出现tftp文件
修改此中disable和server_args项,别的可保持稳固。以下为一个完备的tftp文件:
Service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server =http://www.dianzi.net/usr/sbin/in.tftpd
server_args = -s /tftpboot/linux -- 根据须要设置tftp办事默认目次
disable = no -- 默以为yes,应修改成no
per_source = 11
cps = 100 2
flags = IPv4
}
2. 设置DHCP办事器
在RedHat Linux摆设CD2中找到dhcp文件包:dhcp-3.0pl1-23.i386.rpm,在终端输入: rpm –ihv dhcp-3.0pl1-23.i386.rpm,体系主动摆设好dhcp办事器;
cd /etc -- 进入目次/etc
vi dhcpd.conf -- 创建文件dhcpd.conf
在dhcpd.conf文件中写入内容如下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.10;
option subnet-mask 255.255.255.0;
option domain-name “LocalHost”;
option domain-name-server 192.168.0.10;
option time-offset 18000;
range dynamic-bootp 192.168.0.1 192.168.0.15;
default-lease-time 21600;
max-lease-time 43200;
}
此中,192.168.0.10为主机ip地点;192.168.0.1~192.168.0.15为dhcp办事可动态分派的ip有效地点范畴;
3. 设置NFS办事器
cd /etc -- 进入目次/etc
vi exports -- 打开exports文件
添加语句:/tftpboot/mips *(rw,sync,no_root_squash),
此语句设置主机上的目次/tftpboot/mips为客户机通过NFS办事可访问的根目次,并且恣意客户机的访问都被视为是主机root身份,对/tftpboot/mips目次具有读写结果。如许设置是为了方便以后在开辟板上的开辟与调试变乱。
4. 启动办事
在RedHat Linux9.0步调启动栏里,体系设置—〉办事器设置—〉办事,选上dhcpd、tftp、xinetd、nfs、portmap办事选项,点击开始大概重新开始来启动dhcp、tftp、nfs办事。此中tftp办事要通过启动xinetd才华变乱。
四、通过NFS办事在开辟板上启动Linux体系
1.设置minicom
minicom是一个RedHat Linux9.0自带的通讯终端步调,通过minicom可以设置、监督串口事境况态,汲取、表现串口收到的信息,并且在主机和开辟板之间转达数据和控制指令,从而实现通过主机上调试开辟板的目标。以下的利用都是通过主机键盘在minicom窗口里举行的。
在主机上打开一个终端窗口,启动minicom,设置主机串口:波特率9600、数据位8位、克制位1位、奇偶校验位无、数据流控制无;生存设置后,重新启动minicom。这时minicom处于事境况态;
2. 开辟板加电
开辟板上有一个512KB ROM,烧有bootloarder – pmon2000,加电后主动完成处理惩罚处罚器、缓存、内存控制器、网络控制器等初始化变乱;同时pmon2000拥有少量行下令集,用于启动后对内存的读写校验、板载Flash的擦写、ip设置、串口设置以及跟主机之间举行数据通讯,包括上传、下传文件,汲取主机下达指令等等。
开辟板加电后,minicom窗口表现初始化信息;启动完成,表现pmon>;
3.启动Linux
加载内核:pmon>boot 192.168.0.10:vmlinux
pmon2000内部属令boot通过网络,将主机上位于NFS根目次/tftpboot/mips下可实行的vmlinux映像文件,加载到内存,表现入口地点(Entry point);
启动Linux:pmon>g ./root=http://www.dianzi.net/dev/nfs nfsroot=http://www.dianzi.net/tftpboot/mips ip=dhcp
g为实行加载文件的下令;其后的参数,是转达给内核的有关根目次的信息,通过NFS访问主机的客户机(开辟板),其ip由主机dhcp办事动态分派。pmon2000将内核拷贝到内存空间,随后将控制权交给内核,由其完成体系的启动。在启动完成登录行出现时,输入:root,即可进入运行于开辟板上的Linux体系。由于利用体系是在内存里运行的,断电后,要重复步调2、3,重新加载内核后才华再次启动Linux。
4.应用举例
前面设置了客户机具有对根目次/tftpboot/mips的完全控制结果,因此可以在客户机上(minicom窗口中)直接编写、编译、调试步调。这时所利用的编译调试东西是摆设在主机/tftpboot/mips/usr/bin目次里,根目次布局包自带的MIPS版GNU gcc、g++、gdb、ld等等;步调编译完成可直接运行,不须要在主机用交错编译东西编译后,再切换到客户机下载运行,如许进步了开辟屈从。
在开辟板上(minicom窗口),
cd /home
mkdir test -- 在/home目次里创建一个test子目次,实际上是建在主机的/tftpboot/mips/home下
cd test
vi hello.c -- 用vi编写一个名为hello的c语言步调
gcc –o hello hello.c -- 编译孕育孕育产生可实行文件hello.o
./hello -- 实行该文件
至此,可以望见步调运行结果。
五、结束语
文中所编译出来的内核文件vmlinux占空间小(1.9MB),结果有限,须要与主机共同才华发挥作用。在实际的应用中,有大提要参加更多的结果、办事,比如:http办事、ftp办事、mail办事、对GUI的支持等等,内核的占据空间肯定增大,因此,筹划时在结果和资源之间就要有所弃取。别的,体系实际应用中不肯定带有网络,大概是一个独立的体系,此时内核必须放在体系自身的存储单位里(DOC、IDE硬盘、CF卡等)。因此,有须要进一步研究可以大概直接从存储单位启动利用体系的技能。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号