1、这里你可以进行一下测试。看看你的交叉编译环境是否已经建成,也可以略过不做。方法:nios2-linux-uclibc-gccvReadingspecsfrom/opt/nios2/lib/gcc/nios2-linux-uclibc/3.4.6/specsConfiguredwith:/root/buildroot/toolchain_build_nios2/gcc-3.4.6/configure-prefix=/opt/nios2-build=i386-pc-linux-gnu-host=i386-pc-linux-gnu-target=nios2-linux-uclibc-enable-l
2、anguages=c-enable-shared-disable-_cxa_atexit-enable-target-optspace-with-gnu-ld-disable-nls-enable-threads-disable-multilib-enable-cxx-flags=-staticThreadmodel:posixgccversion3.4.6二:编译uclinux内核1、 把uclinux-dist20060803放进/usr/local/src,解压缩。 rootlocalhost-zxvfuClinux-dist-20070130.tar.tar如果你是在linux系统下(
3、意思是指不是虚拟机),硬盘够大的话,就不应该有问题出现。解压缩之后,一般应该接近1.9G大小。2、 给uclinux打补丁 把 Clinux kernel patch for Nios II:uClinux-dist-20070130-nios2-02.7z到/usr/local/src/uClinux-dist。安裝Clinux kernel patch for Nios IIcduClinux-distuClinux-dist#gunzip-cuClinux-dist-20070130-nios2-02.diff.gz|patch-p0出现以下的结果就表明,补丁打成功。patchingfi
4、levendors/Altera/nios2nommu/config.archvendors/Altera/nios2nommu/config.linux-2.6.xlib/libpng/Makefilelinux-2.6.x/include/asm-nios2nommu/ide.hlinux-2.6.x/include/linux/elf-em.hlinux-2.6.x/usr/Makefilelinux-2.6.x/arch/nios2nommu/kernel/vmlinux.lds.Slinux-2.6.x/arch/nios2nommu/drivers/Kconfiglinux-2.6
5、.x/arch/nios2nommu/drivers/altcf.clinux-2.6.x/arch/nios2nommu/drivers/pci/Kconfiglinux-2.6.x/arch/nios2nommu/drivers/pci/pci-auto.clinux-2.6.x/arch/nios2nommu/drivers/pci/pci.clinux-2.6.x/arch/nios2nommu/drivers/pci/Makefilelinux-2.6.x/arch/nios2nommu/drivers/spi.clinux-2.6.x/arch/nios2nommu/drivers
6、/Makefilelinux-2.6.x/drivers/mtd/maps/altera.clinux-2.6.x/drivers/mtd/maps/Kconfiglinux-2.6.x/drivers/net/Kconfiglinux-2.6.x/drivers/net/Makefilelinux-2.6.x/drivers/net/dm9ks.clinux-2.6.x/drivers/net/open_eth.clinux-2.6.x/drivers/net/dm9000.clinux-2.6.x/drivers/net/Space.clinux-2.6.x/drivers/net/smc
7、91x.clinux-2.6.x/drivers/net/smc911x.clinux-2.6.x/drivers/net/mtip1000.clinux-2.6.x/drivers/usb/Kconfiglinux-2.6.x/drivers/usb/host/Kconfiglinux-2.6.x/drivers/usb/host/isp1362-hcd.clinux-2.6.x/drivers/usb/host/Makefilelinux-2.6.x/drivers/usb/host/isp1362.hlinux-2.6.x/drivers/usb/Makefilelinux-2.6.x/
8、drivers/ide/ide.cuser/microwin/src/fonts/X6x13.cuser/microwin/src/demos/nxroach/Makefileuser/microwin/src/demos/nanox/nxterm.cuser/microwin/src/demos/nanox/nterm.cuser/microwin/src/demos/nxkbd/keynum.cuser/microwin/src/demos/nxkbd/keyctrl.cuser/microwin/src/demos/nxkbd/keyshft.cuser/microwin/src/Mak
9、efile.rulesuser/microwin/src/drivers/kbd_ttyscan.cuser/microwin/src/drivers/scr_fb.cuser/microwin/src/drivers/mou_ser.cuser/ftpd/ftpcmd.cuser/ftpd/Makefile出现的顺序可能不同,出现类似的画面,就应该没有问题。三、进行内核配置(基本都是默认配置) 需要注意的是:里面的每一步,都应该和界面的配置一致。如果有后面make时,有什么error,最好回来仔细检查一下这些默认配置(这些网上找的)。makemenuconfig在Vendor/Product
10、 Selection如下設定在Kernel/Library/Defaults Selection如下設定最後選存檔Step 6:將SOPC Builder設定檔system_0.ptf複製到/usr/local/srcStep 7:根據DE2硬體配置設定make filevendor_hwselect SYSPTF=/usr/local/src/system_0.ptf最後會有選擇動作,分別選擇 1 (CPU_0),1 (cfi_flash_0),2 (sdram)。-PleaseselectwhichCPUyouwishtobuildkernelagainst:(1)cpu_0-Class:
11、altera_nios2Type:fVersion:7.071Selection:1adeviceuploadto:cfi_flash_0altera_avalon_cfi_flashSize:4194304bytesexecutefrom:sram_0sram_16bit_512k524288(2)sdram_0altera_avalon_new_sdram_controller8388608(3)epcs_controlleraltera_avalon_epcs_flash_controller20482最後成功的結果如下所示SummaryusingPTF:/usr/local/src/s
12、ystem_0.ptfCPU:cpu_0DeviceProgrammemorySettingswritten/usr/local/src/uClinux-dist/linux-2.6.x/arch/nios2nommu/hardware.mkmake3:Leavingdirectory/usr/local/src/uClinux-dist/linux-2.6.xmake2:/usr/local/src/uClinux-dist/vendors/Altera/nios2nommumake1:/usr/local/src/uClinux-dist/vendorsStep 8:建立romfs資料夾,
13、過程會有錯誤訊息,可忽略。romfsStep 9:編譯Clinux核心makeStep 10:產生imagemake linux image最後會在/usr/local/src/uClinux-dist/linux-2.6.x/arch/nios2nommu/boot/下找到zImage注意:zImage文件是make时,就已经产生,那个只是一个初步的,没有bootloader的文件,如果你想使你的uClinux在硬件上运行,必须进行make linux image这条命令,从而加上bootloader。四:将uClinux写入硬件1、 把你的.ptf文件对应的.sof文件和生成的镜像文件zI
14、mage一起放在altera72nios2edsexamples下。2、 启动altera的command shell。开始-程序-altera-nios2 EDS-mand shell3、 先进行硬件配置(注意必须先在quartus中把.sof文件烧进去) SOPCBuilder$nios2-configure-sofDE2_NIOS.sof执行结果:SearchingforSOFfile:in.Info:*RunningQuartusIIProgrammerCommand:quartus_pgm-no_banner-mode=jtag-op;UsingprogrammingcableUSB
15、-BlasterUSB-0StartedProgrammeroperationatMonJun0903:01:452008Configuringindex1containsJTAGIDcode0x020B40DDConfigurationsucceeded-device(s)configuredSuccessfullyperformedoperation(s)Ended46wassuccessful.0errors,warningsAllocated54megabytesofduringprocessingProcessingended:Elapsedtime:00:024、 把zImage下
16、到sdram里面nios2-download -g zImage执行的结果:,1,instance0x00Pausingtargetprocessor:OKInitializingcache(ifpresent)Downloaded1197KB14.4s(83.1KB/s)VerifiedStartingprocessoraddress0x00D000005、 启动uClinuxnios2-terminalUncompressingLinuxOk,bootingkernel.Linux2.6.19-uc1(rootlocalhost.localdomain)(gcc3.4.6)#2PREMPT
17、Sun823:28:30CSTuClinux/NiosIIAlteraNiossupport(C)2004MicrotronixDatacomLtd.Builtzonelists.Totalpages:2032Kernelcommandline:PIDhashtableentries:32(order:5,128bytes)Dentry10240,4096Inode-cacheMemoryavailable:5956k/8192kRAM,0k/0kROM(1465kcode,680kdata)Mount-cache512NET:Registeredprotocolfamily16IProute
18、TCPestablishedbindTCP:Hashtablesconfigured(established1024)renoregisteredioschedulernoopdeadlineregistered(default)Serial:UARTdriver$Revision:1.3$ttyJ0MMIO0x806810f0(irq=1)isjtag_uartcubic17Freeingunusedmemory:572kfreed(0x97a0000xa08000)Shellinvokedrun/etc/rchostnameuClinuxmount-tproc/procsysfs/sysu
19、sbfsnone/proc/bus/usbmount:Mountingon/proc/bus/usbfailed:Nosuchordirectorymkdir/var/tmp/var/log/var/run/var/lock/var/emptyifconfiglo127.0.0.1add-net127.0.0.0netmask255.0.0.0locat/etc/motdWelcometo_/_|_|_|/|_|_|/_|_|_|_|_|_|_/_/|_|Forfurtherinformationcheck:http:/www.uclinux.org/ExecutionFinished,ExitingSashshell(version1.1.1)/如果你看到上面的结果,表明你的uClinux移植成功了。但是反映在硬件上的效果不明显,这个要看你的具体的linux应用程序了。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2