培訓(xùn)第三天uclinux開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)_第1頁(yè)
培訓(xùn)第三天uclinux開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)_第2頁(yè)
培訓(xùn)第三天uclinux開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)_第3頁(yè)
培訓(xùn)第三天uclinux開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)_第4頁(yè)
培訓(xùn)第三天uclinux開(kāi)發(fā)板實(shí)驗(yàn)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

SIO插SIO插LCD接口插座電PIOLCD5V源IDE背光電第一節(jié)、開(kāi)發(fā)板接線圖第二CPUADCJUPITER50MHz32BIT16針彩色STNLCD/320*240640*480256色LCDSDRAM16MBYTE328MBYTE16SDRAM32位,JP13:2-3FLASH-AT29C040/28SF040512KBYTE或EPROM JP51(選擇BOOTLOADER所采用的1- 1-22- 2-3 JP28(選擇啟動(dòng)的FLASH1- 1-22- 2-38位。1-2:BOOTLOADER啟動(dòng)數(shù)據(jù)為82-3:BOOTLOADER啟動(dòng)數(shù)據(jù)為165V22-28VLCD1-2:LCD選用開(kāi)發(fā)板的VCC2-3:LCDJupiterVMSIOIDEPIO第三節(jié)、嵌入式Linux開(kāi)發(fā)套件包GNU編譯器(gcc、器工具集ADSLpppdpppoe(提供源代碼)LCDLEDJFFSflashCGIWEBIPflashBOAWEB提供bootloader,支持以太網(wǎng),運(yùn)行及燒寫(xiě)FLASH(提供源代碼)第四節(jié)、Jupiter開(kāi)發(fā)板使用1PCjupitereth0直接連接,pcjupiter1(cpu的串口IpPc2WIN300M(pc機(jī)上CYGWINWINDOWS解開(kāi)并安裝ECOMI_se3208_v,到\cygwin\usr\local,是EISCCPU的編譯軟件。設(shè)置ifwindows98,windows95 ,insertnextlineconfig.sys:"s UsuallyStart->Programs->MS-DOSPromptandthenenterthecommandse3208-elf-gcc-v"如果顯示版本號(hào)則安裝正確。 )總 如下圖所示cygwinCygwinwindowslinuxlinux。Compilebydefaultconfiguration (CancompileforJupiterorvirgine)In\cygwin\home\administrator\uclinux-eisc\uClinux-2.4.20(如下圖)Executethefollowingat>make>make #ormake> >make>5elf格式(redhat8.0以上版本執(zhí)行elfblftlinuxse3208-elf2flt大小,copy到真正的linux的 下;將你elf文件放在 下,執(zhí) o。Blft。bin文件,文件名太長(zhǎng)拉,改為 o就可以了。將rdgz。Bin也copy到這 ramdisk(rdgz.bin)的制RamdiskimageLINUXddif=/dev/zeroof=rdiskbs=1kcount=2048#"count"isramdisksize mke2fsrdiskmkdirmount-olooprdisk#copyfilesto"./mydisk"umount./mydiskgziprdisk6、前 /home/zyf下新建一個(gè)ramdis_root ,使用./ramin(在光盤(pán)software目錄下做完之后將o文件考到ramdis_root的bin o生成了新的rdgz.bin,copy回windowsramin的內(nèi)容cprdgz.binrd.gzod777gunzip/sbin/losetup/dev/loop1rdmountdev/loop1ramdisk_rootramout的內(nèi)容:umount/sbin/losetup-d/dev/loop1gziprdcprd.gzwindowsdhcpprogram->hanewinsoftware->installDHCPbootserver,DHCP,WIN98Options->addstaticaddressentry:SettheHardwareaddress"00:01:23:45:67:00jupiterMACAttheIPaddress,firstthreeoctetmustbesamewithserverIPaddressandlastoctetcanbeanyone.,ipOption->preference->dhcpserverIPuseselectedaddress設(shè)置完后自動(dòng)啟動(dòng),在狀態(tài)欄中顯示:listeningonport設(shè)置完后自動(dòng)啟動(dòng),在狀態(tài)欄中顯示:listeningonport設(shè)置TFTPD:設(shè)置tftpd->configure->homedirectory:為:“\cygwin\administrator\uclinux-eisc\tftpsevr”,在這里存放了linux.bin,rdgz.bin文件用于tftp網(wǎng)絡(luò)。然后tfptd->start,在狀態(tài)欄里顯示:serveris9bootpseloader>OurEthernetaddressis00012345Sendingbootpbh_opcode:2,htype:1,hlen:6tid: ,chaddr:0:1:23:45:67:0len=>300,IP=>A8C00000 hostIP=>A8C00300bh_opcode:2,htype:1,hlen:6tid: ,chaddr:0:1:23:45:67:0len=>300,IP=>A8C00000 hostIP=>A8C00300BootpPacket (server)Ethernet:0000B4581526 (server)IP :*,.((.0.2(target)Ethernet:000123456700(target) :執(zhí)行tftplinux.bin顯示:seloader>tftplinux.binkernelTFTPStart... (server) :(target)IP :*,.((.0.3LoadingFilename :linux.bin :Loading0x000A0258(655960)bytesreceived.tftpdone.執(zhí)行tftprdgz.bin顯示seloader>tftprdgz.binramdiskTFTPStart... (server) :(target)IP :*,.((.0.3LoadingFilename :rdgz.bin :Loading0x000715C9(464329)bytesreceived.tftpdone.bootStartingkernelinhead-Linuxversion2.4.20-uc0(administrator@ZENGYU-X14PHIPI)(gccversionegcs- (egcs-1.1.2release))#1ThuApr1015:43:302003Architecture:eisc-jupiterOnnode0totalpages:zone(0):0zone(1):1536BUG:wrongzonealignment,itwillcrashzone(2):0pages.Kernelcommandline:root=/dev/ram0Calibratingdelayloop. 33.07BogoMIPSMemory:6MB=6MBMemory:5256KBavailable(572Kcode,210Kdata,28Kinit)Dentrycachehashtableentries:1024(order:1,8192bytes)Inodecachehashtableentries:512(order:0,4096bytes)Mount-cachehashtableentries:512(order:0,4096bytes)Buffer-cachehashtableentries:1024(order:0,4096cachehashtableentries:2048(order:1,8192POSIXconformancetestingbyUNIFIXLinuxNET4.0forLinux2.4BaseduponSwanseaUniversityComputerSocietyNET3.039InitializingRTnetlinksocketStartingjupiterkeypaddriverinitializeddmc9512touchscreendriverinitializedjupiter_eth.c:v1.009/10/2002eduarmyJupiterEthernet0probeJupiterEthernet1failed01:WrongAddr,eth1is1f03600JupiterEthernet103: eth1is1f03600jupiter_eth1.c:oldv1.009/10/2002JupiterEthernet1tx_fd_initializeeth1is1f03600c2c8208JupiterEthernet1rx_fd_initializeeth1is1f03600c2c5208JupiterEthernet1probeRAMDISKdriverinitialized:16RAMdisksof8192Ksize1024blocksizeloop:loaded(max8devices)NET4:LinuxTCP/IP1.0forIP:routingcachehashtableof512buckets,4KbytesTCP:Hashtablesconfigured(established512bind512)RAMDISK:Compressedimagefoundatblock0inginitrdmemory:700KEXT2-fswarning:mountinguncheckedfs,runninge2fsckis VFS:Mountedroot(ext2filesystem).inginitmemory: invokedtorunfile:/etc/rcCommand:hostnamejupiterCommand:mount-tprocproc/procCommand:cat/etc/motde |||_| _| ||_ _ |||| ||| _\||||\\/||_|||||||||||_| |_||_|_| | forEISCChipsForfurtherinformationCommand:ifconfigeth0Command:ifconfigeth1upCommand:ifconfigeth1Command:routeadddefaultgwCommand:ifconfigloCommand:routeadd-netnetmaskloCommand:#dhcpcd-p-aeth0&ExecutionFinished,Sashcommand (version1.1.1),(pgid:第五節(jié)、應(yīng)用程序的編準(zhǔn)備工PC1臺(tái),1臺(tái)跑WIN2000,另一臺(tái)跑LINUX版本8.0以上。JUPITER開(kāi)發(fā)板一塊,HUB一個(gè)(可以不要)網(wǎng)線,普通網(wǎng)線或?qū)β?lián)線。連接方法見(jiàn)上述使1〉Copyapp/下的.c,Makefile,se3208-elf2flt.ld到一個(gè)新 2〉對(duì)Makefile中的路徑進(jìn)行相應(yīng)的修改,以適應(yīng)新的路徑和文件名。(Don’ttouchtheCFLAGS,LDFLAGS)其中關(guān)鍵是makefile的修改,例如的MAKEFILE就改下面是的makefile文件 =se3208- = = =$( =$(CC)-E = = =$( =$( =$( =$( pwd)/../../uClibc/include-I$(spwd)/../../uClinux-2.4.20/include =-Wall-Os-g-Dlinux-D -Dunix-D -DEMBED- =-r-Xlinker-Tse3208-elf2flt.ld =-r-X-Tse3208-elf2flt.ld =$(s =-lm-LDLIBS=-L$(LIBDIR)exportASLDCCCPPARNMSTRIPOBJCOPYOBJDUMPRANLIBCFLAGS =$(LIBDIR)/crt0.o = =elfdebug =se3208-elf2flt =elf2flt.ld = =all::$(CC)$(LDFLAGS)-o$@.$(OBJFMT)$(CRTOBJ) $(LIBSASH)-lgcc $(OBJFMT2FLT)-v$@.$(OBJFMT)>${OBJDUMP}-DSx$@.$(OBJFMT)>$(CC)$(CFLAGS)-c$<-o$(AS)$<-orm-f*.o*.elf*.bflt pwd)/../../uClibc/include-I$(spwd)/../../uClinux-2.4.20/include 4〉移動(dòng)rd.gz(就是rdgz.bin改個(gè)名字) .elf到一臺(tái)linuxPC機(jī)的的自己的工 下,se3208-elf2fl在所給光盤(pán)上。這時(shí)使用LINUX機(jī)(JUPITER板,也不是 下執(zhí)行"se3208-elf2flt.elf"生成.elf.bflt文件,這就是uclinux中的可elflinuxbinflat6〉依次執(zhí)行如下三條指令(software/raminLinux下執(zhí)行mkdirramdisk_rootcprdgz.binrd.gzgunziplosetup/dev/loop1mount/dev/loop17>進(jìn)入ramdisk_root 到bin umount./ramdisk_rootlosetup-d/dev/loop1gziprdcprd.gz9rdgz.bincygwinlinux.binrdgz.binRAM中這時(shí)又回到win2000PC機(jī)環(huán)境下。 在CYGWIN環(huán)境中常見(jiàn)錯(cuò)LINUX中的"\"字符和WINDOWS中解決方法:把"\"#define第六動(dòng)程序編 uClinux-eisc\uClinux-2.4.20\drivers\mydriver\Makefile文件obj-y+=mydriver.o 網(wǎng)口驅(qū)動(dòng)程序eth1的驅(qū),,uclinuxifconfigeth1ifconfigeth1ifconfiglo/bin> Link inetaddr: UPBROADCASTRUNNING RXpackets:274errors:0dropped:0overruns:0frame:0TXpackets:29errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:100Interrupt:26Base Link inetaddr: UPBROADCASTRUNNINGMULTICAST RXpackets:9errors:0dropped:0overruns:0frame:0TXpackets:8errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:100Interrupt:27Base Linkencap:Localinetaddr:UPLOOPBACK RXpackets:17errors:0dropped:0overruns:0frame:0TXpackets:17errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0鍵盤(pán)驅(qū)動(dòng)程 uclinux執(zhí)行:cat ==> ==>touch ==>kerneluclinux啟動(dòng)過(guò)程:0XC20000027C801的是ROMIMAGE.BIN,現(xiàn)在不需要燒EPROM了,用以太網(wǎng)0口可以SDRAM第七節(jié)ramdisk(rdgz.bin)的制 都放入ramdisk400K2MRamdiskimageLINUXddif=/dev/zeroof=rdiskbs=1kcount=2048#"count"isramdisksize mke2fsrdiskmkdirmount-olooprdisk#copyfilesto 別丟了umount./mydiskgziprdisk第八1.WIN2000IPWIN2000XPIPDOSipconfigIP2.JUPITERSELOADERROM(BOOTROM)BOOTPETH0(板子右上角的網(wǎng)口),時(shí)黃色LED燈三個(gè)中的至少中間的一個(gè)應(yīng)該亮??拷吘壍狞S色LED燈是檢測(cè)燈。如果檢測(cè)燈總是閃亮,則表示網(wǎng)絡(luò)太忙,你可以使用對(duì)聯(lián)網(wǎng)線直接連接PC(WIN2000)JUPITERHANWINDHCP/BOOTPHELP3.BOOTPTFTPTFTPDPC(WIN2000)第二,如果檢測(cè)燈總是閃亮,則表示網(wǎng)絡(luò)太忙,你可以使用對(duì)聯(lián)網(wǎng)線直接連接(WIN2000)JUPITERTFTPUDP4.EPROMAM29LV160UCLINUX和RAMDISK(RDGZ.BIN)是用以太網(wǎng)0口到SDRAM中。然后在終端中執(zhí)行BOOT來(lái)啟動(dòng)。當(dāng)開(kāi)發(fā)完成后,需要把SELOADER+UCLINUX+RDGZROMIMAGE.BIN,燒寫(xiě)EPROM(1M的話)在編譯內(nèi)核的時(shí)候自動(dòng)就做了ROMIMAGE.BIN制作ROMIMAGE.BIN的文件是E:\cygwin\home\administrator\uClinux-eisc\uClinux-2.4.20\makeimage-jupiter注意在該 下的RDGZ.BIN文件應(yīng)該換成你做的。該文件的RDGZ的開(kāi)始地址可以修改,以適應(yīng)LINUX.BINddif=$RAMDISKof=$ROMIMAGEseek=700bs=1k#defineRAMDISK_SRAM_BASE(0x000AF000)//700kSELOADER如果你的ROMIMAGE.BIN超過(guò)1M,則需要用更大的,如該的燒寫(xiě)可以用以下方法首先將AM29LV160的片選接在JUPITER的CS4在EPROM的位置插一個(gè)含有燒寫(xiě)程序的,該程序的作用是把ROMIMAGE.BIN文件燒寫(xiě)到AM29LV160中。ROMIMAGE.BIN文件可以從串口,或網(wǎng)絡(luò)下傳到SDRAM。其實(shí)寫(xiě)一個(gè)UCLINUXAM29LV160中(已經(jīng)完成:燒寫(xiě)AM29LV160DB)。然后移去EPROM,將AM29LV160的片選從CS4變回CS0,通電就可以運(yùn)行了。jp321-jp332-3(cs0162-3(cs08bootloaderCS0/EPROMkernelramdiskCS4/am29lv160bootloader/include/config.h//Positionof#defineKERNEL_SRAM_BASE //#defineKERNEL_SRAM_BASE(SRAM_BASE_ADDR+LOADER_SRAM_MAX_SIZE)#defineKERNEL_DRAM_BASE(0x0c200000)#defineKERNEL_MAX_SIZE(0xD0000 #defineNUM_KERNEL_BLOCKS(KERNEL_MAX_SIZE///Positionof#defineRAMDISK_SRAM_BASE(0x080e0000)#defineRAMDISK_DRAM_BASE#defineRAMDISK_MAX_SIZE #defineNUM_RAMDISK_BLOCKS(RAMDISK_MAX_LEN/SRAM_BLOCK_SIZE)#defineDEFAULT_RAM_WORK_START(0x0c400000)bootloader也可以做成能自動(dòng)啟動(dòng)的bootloader,上放不下了,可以發(fā)郵件問(wèn)我要5.怎樣使用FALSH的文件系統(tǒng)在編譯內(nèi)核時(shí)增加選項(xiàng)(jffs6.jupiteruclinux2pclinux,一臺(tái)跑win2000pc256M,mvwarelinuxlinuxelfbinflatramdisk.kernel,app,uclibcwin2000cygwinmvware軟件需免費(fèi)要一個(gè)7.cpuseloaderforJupiter\seloader\src\start_se3208.S#ldi0x00009f61,%R7#45.5Mhzldi0x00003E21,%R7#50Mhz#ldi0x0000A151,%R7#8.增加時(shí),如增加一片am29lv160,還要修改seloader嗎是的,jupiter有8個(gè)memorybank,請(qǐng)參考 如果am29lv160被放在bank4,則需要修改程序#LocalSRAM8&16ForCS4#ldi0x01F00410,%R6#Bank4(cs4)Controlldi ,%R7 29lv160,st%R7,MACE:\cygwin\home\zy\uclinux-eisc\uClinux-init_phy_chip(dev-/*setmacaddrdev->dev_addr[0]=0x00;dev->dev_addr[1]=0x01;dev->dev_addr[2]=0x23;dev->dev_addr[3]=0x45;dev->dev_addr[4]=if(dev->base_addr==0x1F03400)dev->dev_addr[5]=0x00;dev->dev_addr[5]=MAC0E:\cygwin\home\zy\uclinux-eisc\uClinux-init_phy_chip(dev-/*setmacaddrdev->dev_addr[

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論