uclinux移植教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习开发套件V3.0中嵌入Uclinux的步骤和方法
在学习开发套件V3.0中嵌入Uclinux的步骤和方法,硬件系统为EP1C6,2Mflash,8Msdram.
开发环境:SOPC学习开发套件V3.0,型号EP1C6。QII5.1+SP2,NiosII IDE5.1+SP1。
一 .安装nios2linux开发包nios2linux-1.4
二 .建立硬件系统
1. QII中建一工程linux_nios,并添加NIOSII CPU,QII工程和平常的建立并没有什么区别,只要得加上flash和sdram,因为这里只是对linux的简单调试,所以SOPC中只添加LED和UART等几个简单外设。如下图:
注意为防止不必要的麻烦,这里尽量使用默认名字。
如果想用USB连接电脑,在QII中把串口连接到USB线的IO管脚上即可。
我们的工程中是两个口都接了,使用串口或者USB口都行。
三.建立软件环境
打开NIOSII IDE
3.1 建立linux内核
file-> new-> project 后如下图:
注意:在安装Microtronix_uclinux_nios2开发包后在IDE中分增加出如上图的Microtronix NiosII选项如果没有可以按下面方法解决:
1)、打开cmd,在 开始->运行 那里输入cmd
2)、cd到你的NiosII的工作目录下面,我的NiosII安装在D盘,如下:
3)、在这里输入命令nios2-ide.exe –clean,进入NiosII IDE的clean模式,选择workspace:
这是在New->Other那里你就可以看到那个linux的目录项了。关了IDE窗口和cmd窗口,这样就可以正常看到Microtronix_linux了。
3.2 输入内核名字
按next:
finish完成
四. 构建内核:
4.1 右键内核名,在弹出菜单中选择Configure Kernel如下:
注意:如果右键菜单中没有Configure Kernel项,请在IDE菜单Windows->show view-> navigator, 在navigator窗口下使用右键便可。
后进入如下界面:
因为flash只有2M因此构造的内核应尽可能的小,其大小不能超过1M(对于8M的Flash大小不能超过2M)。因此在这里要去掉没用到的选项:
按空格键 取消或者选择
General setup:
processor type and features:这里选择的是Microtronix Cyclone board support,不是Altera
在Device drivers除以下默认及保留串口外,其它都去掉
Generic Driver Options --->
Memory Technology Devices (MTD) --->
Block devices --->
串口位置及设置如下:
Device drivers--ÆCharacter devices --->Serial drivers --->:
注:如果Flash是intel公司生产的需要在Device Drivers>Memory Technology Device
AMD公司Flash:AM29系列。
Intel公司Flash:JS28F、E28F等。
设置完这里后其它便可使用默认,然后esc退出保存。
4.2 修改两个脚本文件
D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin ux.kernel_1.4.0\linux-2.6.x\arch\nios2nommu\kernel\ vmlinux.lds.inc文件以及同目录下的vmlinux.lds.S文件 改成如下以符合我们的2Mflash: (注:如果是8M Flash不必修改,使用默认即可)
在
D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin ux.kernel_1.4.0\linux-2.6.x\drivers\mtd\maps\ 中找到microtronix.c文件,修改以下画线部分以及把BUSWIDTH 由2改为1(2表示16位总线,1表示8位总线,请根据开发板具体情况修改,V3.0实验板上的flash使用8位总线所以这里要改为1。注表:开发板版本V2:16位,V3:8位,V4:16位,V5:8位。以下的两个文件是内核文件和文件系统文件在Flash中的映射,如果是8M的flash 使用默认即可,如果不是8M可以根据具体情况设置),如下图:
五..完成后编译内核:
经过相当长时间的等待便可看到编译生成的内核vmlinux.bin二进制文件:
六.用flash programer下载此内核到flash中的从0地址开始:
七.建立文件系统:
7.1 在IDE中 File->new->project
Next 输入名字:
继续Next:
NEXT:点击Install Minimal:
Finish后有警告,不管,确定后完成。
7.2 编译此文件系统后生成romfs.bin文件,同上面烧写内核的方法,把此
文件烧写到flash 中去,注意offset地址为:0x100000
(注:对于8M的flash这里的偏移量为0x200000,偏移地址为多少是根据上面那两个根本文件中对flash的设置而定。客户也可以根据自己的实际需要做修改)
此图中我把romfs.bin文件拷到了C盘,所以file中是:c:\romfs.bin
八.ok
下载成功后,接上USB (或者串口),打开串口调试工具,按一下板子上的reset 键后可看到串口工具接收窗中显示如下信息:linux系统便启动成功了。