新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式uClinux應(yīng)用程序的NFS開發(fā)

嵌入式uClinux應(yīng)用程序的NFS開發(fā)

作者: 時(shí)間:2011-05-20 來源:網(wǎng)絡(luò) 收藏

  3 基于

  3.1在主機(jī)上編譯程序,并生成在目標(biāo)機(jī)上運(yùn)行的程序

  在主機(jī)/home/pub下編輯hi.c,其內(nèi)容:

  #include

  main(){printf(“hi! Good!n”);}

  交叉編譯hi.c,#arm-elf-gcc –Wall –Wl,-elf2flt –o hi hi.c生成flt格式的可執(zhí)行文件hi。修改hi的權(quán)限#chmod 711 hi。該文件可以直接下載到目標(biāo)機(jī)上運(yùn)行,這里利用看其執(zhí)行情況。

  3.2目標(biāo)機(jī)利用掛載主機(jī)并進(jìn)行調(diào)試

  用串口線將主機(jī)的COM1和目標(biāo)機(jī)的COM0連接起來,同時(shí)接上網(wǎng)線。在主機(jī)上打開minicom(設(shè)置參數(shù):57600 8N1,無流控)用于同目標(biāo)機(jī)通訊。目標(biāo)機(jī)上電或者復(fù)位,開始啟動,顯示信息成功后進(jìn)入sh。

  在目標(biāo)機(jī)上建立/var/nfs用于掛載主機(jī)上的目錄(這里采用的是romfs只讀文件系統(tǒng),/var使用的是RAM disk驅(qū)動的ext2文件系統(tǒng)。所以僅/var可以用于讀寫,其它目錄只可以讀)# mkdir /var/nfs

  啟動目標(biāo)機(jī)上portmap服務(wù) # portmap

  掛載主機(jī)上的共享目錄#mount -t nfs 192.168.111.1:/home/pub /var/nfs

  #ls /var/nfs可以看到主機(jī)上/home/pub的文件。此時(shí),可以運(yùn)行該目錄下的可執(zhí)行程序hi,#./hi(注意要加“./”)出現(xiàn)hi! Good!。程序正常運(yùn)行,將其編譯到內(nèi)核里。將hi拷貝到源碼包的/romfs/bin下編譯,生成的image.rom可以下載到 flash。在板子上的/bin下就有hi程序了,并且可以直接執(zhí)行hi。

  卸載使用umount # umount /var/nfs。如果讓目標(biāo)機(jī)啟動時(shí)自動運(yùn)行portmap服務(wù),可以修改rc文件(源碼中),在最后加入/bin/portmap,mkdir /var/nfs。

  4 小結(jié)

  使用NFS模式,關(guān)鍵在于對主機(jī)和目標(biāo)機(jī)的配置。如果配置不當(dāng),就會mount失敗。以下是值得注意的地方:

  mount成功,可是運(yùn)行程序. /hi時(shí)報(bào)告錯(cuò)誤:Permission denied.即主機(jī)拒絕操作。需要修改主機(jī)上程序的權(quán)限chmod 777 /home/pub/hi。然后在目標(biāo)機(jī)端運(yùn)行./hi即可。

  主機(jī)上設(shè)置時(shí)候一定要關(guān)閉防火墻,不然目標(biāo)機(jī)mount的時(shí)候沒有響應(yīng)。

  目標(biāo)機(jī)上一定要先開啟portmap服務(wù)。

  主機(jī)和板子的IP在同一個(gè)網(wǎng)段。

  如果要運(yùn)行大的,在Mount的時(shí)候最好加上:

  -o rsize=1024,wsize=1024,timeo=15的參數(shù),否則多半會得到server not responsing的提示信息。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉