Tiny4412和PC互傳文件方法:
將編譯好的可執(zhí)行文件下載到目標(biāo)板目前主要4種方式:
第一種:通過(guò)ftp傳送文件到開發(fā)板(推薦使用)
第二種:復(fù)制到介質(zhì)(如優(yōu)盤)
第三種:通過(guò)串口傳送文件到開發(fā)板
第四種:用nfs文件系統(tǒng)作為根文件系統(tǒng)啟動(dòng)
下面分別進(jìn)行介紹:
1、使用ftp傳送文件(推薦使用):
說(shuō)明:使用ftp登錄目標(biāo)板,把編譯好的程序上傳;然后修改上傳后目標(biāo)板上的程序的可執(zhí)行屬性,并執(zhí)行。
首先,在PC端執(zhí)行,如下所示:
ftp 192.168.48.151
用戶名:plg
密 碼:plg
設(shè)置文件傳送格式:bin
傳送hello文件 :put hello
退出登錄 :by
然后,在目標(biāo)板一端執(zhí)行,如下所示:
到接收目錄下 :cd /home/plg/
ls
增加可執(zhí)行權(quán)限:chmod +x hello
運(yùn)行測(cè)試 :./hello
2、先把編譯好的可執(zhí)行程序復(fù)制到優(yōu)盤,再把優(yōu)盤插到目標(biāo)板上并掛載它,然后把程序拷貝到目標(biāo)板的可執(zhí)行目錄/bin:
①. 復(fù)制程序到優(yōu)盤
把優(yōu)盤插到PC的USB接口,執(zhí)行以下命令把程序復(fù)制到優(yōu)盤
#mount /dev/sda1 /mnt ;掛接優(yōu)盤
#cp hello /mnt ;復(fù)制剛才編譯好的程序到優(yōu)盤
#umount /mnt ;卸載優(yōu)盤
②. 把程序從優(yōu)盤拷貝到目標(biāo)板并執(zhí)行
把優(yōu)盤插入到開發(fā)板的USB Host接口,優(yōu)盤會(huì)自動(dòng)掛載到/udisk目錄,執(zhí)行以下命令就可以運(yùn)行hello程序了。
#cd /udisk
#./hello ;執(zhí)行hello程序
注意:如果此時(shí)強(qiáng)制拔出優(yōu)盤,需要退回到根目錄,再執(zhí)行umount /udisk方可為下一次做好自動(dòng)掛載的準(zhǔn)備。
3、通過(guò)串口傳送文件到開發(fā)板:
通過(guò)5.3.5章節(jié)我們學(xué)會(huì)了如何通過(guò)串口傳送文件到開發(fā)板,你也可以通過(guò)相同的方法傳送hello可執(zhí)行程序,具體步驟在此不再詳細(xì)描述,記得傳送完畢把文件的屬性改為可執(zhí)行才能正常運(yùn)行。
#chmod +x hello
說(shuō)明:有些用戶使用USB轉(zhuǎn)串口線,因?yàn)橛行┺D(zhuǎn)接器性能是不太好的,所以有時(shí)會(huì)出現(xiàn)“傳輸超時(shí)”或者根本無(wú)法傳輸?shù)介_發(fā)板的現(xiàn)象,因此我們建議使用ftp傳送到開發(fā)板。
4、用nfs文件系統(tǒng)作為根文件系統(tǒng)啟動(dòng):
①.參考博文“Tiny4412友善之臂ARM開發(fā)板靜態(tài)IP設(shè)置(重啟有效)”把開發(fā)板的ip設(shè)置為靜態(tài)的;
參考博文“Ubuntu下如何安裝NFS服務(wù)及其配置”啟動(dòng)ubuntu的nfs服務(wù)
②.Ubuntu安裝nfs服務(wù):
sudo apt-get install nfs-kernel-server
Ubuntu nfs重啟服務(wù)
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
在Ubuntu上查看nfs服務(wù)器:
sudo /etc/init.d/nfs-kernel-server start //查看nfs是否啟動(dòng)
③.增加權(quán)限:
sudo vi /etc/exports
添加:
/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 *(insecure,rw,async,no_root_squash)
/home/book/workspace/tiny4412_project/new_fs_tiny4412 *(insecure,rw,sync,no_subtree_check,no_root_squash)
sudo chown book:book /home/book/workspace/tiny4412_project/rootfs_qtopia_qt4/ -R
sudo chown book:book /home/book/workspace/tiny4412_project/new_fs_tiny4412/ -R
chmod 777 /home/book/workspace/tiny4412_project/rootfs_qtopia_qt4
chmod 777 /home/book/workspace/tiny4412_project/new_fs_tiny4412
④.Ubuntu上嘗試自己掛在自己:
//掛載廠家提供文件系統(tǒng)
sudo mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 /mnt
//掛載自己做的文件系統(tǒng)
sudo mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 /mnt
sudo umount /mnt
⑤.tiny4412開發(fā)板手動(dòng)掛載nfs:
//掛載廠家提供文件系統(tǒng)
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 /mnt
//掛載自己做的文件系統(tǒng)
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 /mnt
⑥.tiny4412開發(fā)板nfs作為根文件系統(tǒng)啟動(dòng)(自己做的文件系統(tǒng)):
參考:"SD卡啟動(dòng)u-boot燒寫裸板、系統(tǒng)"和"fastboot工具下載tiny4412的uboot、linux、文件系統(tǒng)"編譯燒寫uboot、linux、filesystem后采用eMMC啟動(dòng)開發(fā)板,并設(shè)置開發(fā)板linux啟動(dòng)時(shí)的ip地址,再設(shè)置uboot的參數(shù)bootargs采用nfs啟動(dòng)根文件系統(tǒng):
修改命令行:
默認(rèn):
set bootargs root=/dev/mmcblk0p2 init=/linuxrc console=ttySAC0,115200 lcd=S70 ctp=2
改為:
seten bootargs noinitrd root=/dev/nfs nfsroot=192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 ip=192.168.48.100:192.168.48.104:192.168.48.255:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200 lcd=S70 ctp=2
注意:tiny4412使用的是usb接口的網(wǎng)卡,目前的uboot根本就不支持這個(gè)網(wǎng)卡,所以u(píng)boot以nfs作為根文件系統(tǒng)啟動(dòng)無(wú)法實(shí)現(xiàn),可以參考下文“驅(qū)動(dòng)測(cè)試搭建開發(fā)環(huán)境”中在linux啟動(dòng)后設(shè)置自動(dòng)掛載nfs文件系統(tǒng)。
DTB Device Tree 視頻教程:以瑞薩Cortex-A15為例:
http://www.hexiongjun.com/?s=Device+Tree
Tiny4412裸機(jī)程序匯總地址:
http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11778&highlight=tiny4412
iTOP-4412實(shí)現(xiàn)NFS網(wǎng)絡(luò)文件系統(tǒng)啟動(dòng)(包括安裝Ubuntu NFS服務(wù)、編譯配置內(nèi)核)
http://www.oschina.net/question/2371345_2158782
==================================================================
驅(qū)動(dòng)測(cè)試搭建開發(fā)環(huán)境:
由于采用nfs作為文件系統(tǒng)啟動(dòng)失敗,所以在內(nèi)核啟動(dòng)后在把服務(wù)器的/home/book/workspace/tiny4412_project/driver/mountfile目錄掛載到開發(fā)板的mnt目錄下:
在開發(fā)板上修改文件:vi /etc/init.d/rcS
在修改開發(fā)板啟動(dòng)ip地址的下面增加:
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/driver/mountfile /mnt
注意:在Ubuntu中給mountfile目錄增加權(quán)限后要重啟虛擬機(jī),重啟開發(fā)板就會(huì)在開發(fā)板/mnt目錄下自動(dòng)掛載Ubuntu的mountfile目錄
上一篇:tiny4412的Uboot啟動(dòng)流程
下一篇:Tiny4412友善之臂ARM開發(fā)板靜態(tài)IP設(shè)置(重啟有效)
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 穩(wěn)壓器到底有哪些作用?如何選擇穩(wěn)壓器
- 穩(wěn)壓器有哪些使用規(guī)范?如何選擇穩(wěn)壓器的功率
- 穩(wěn)壓器如何安裝?4種必須掌握的穩(wěn)壓器接線方法
- 變壓器的保護(hù)有哪些?變壓器過(guò)負(fù)荷要求了解嗎
- 飽和變壓器有哪些特點(diǎn)?飽和/非飽和變壓器有什么區(qū)別
- 短路阻抗對(duì)變壓器有哪些影響?如何維護(hù)變壓器
- 如何進(jìn)行變壓器減容?短路阻抗和變壓器有什么關(guān)聯(lián)
- 如何測(cè)量變壓器各繞組電壓?變壓器減容是怎么回事
- 隔離變壓器的工作原理是什么?隔離變壓器如何選型
- 隔離變壓器對(duì)電源有影響嗎?隔離變壓器應(yīng)用方法介紹
- 英特諾獲得來(lái)自美國(guó)千萬(wàn)美元大額訂單
- 5G對(duì)邊緣網(wǎng)絡(luò)的速度提出了更高的要求
- 藍(lán)牙Mesh賦能歐司朗,開啟智能照明無(wú)線新時(shí)代
- Mobileye聯(lián)手福特,共同更先進(jìn)的高級(jí)駕駛輔助系統(tǒng)
- Imperas Software宣布成立OpenHW Group
- 伍德麥肯茲:2024年前全球能源存儲(chǔ)能力將擴(kuò)大13倍
- 農(nóng)業(yè)和養(yǎng)老是機(jī)器人就業(yè)的大市場(chǎng)
- 江蘇第二批電網(wǎng)側(cè)儲(chǔ)能項(xiàng)目將在5地建10個(gè)儲(chǔ)能電站
- 人工智能、隱私和機(jī)器人
- 三亞將借人工智能打造智慧旅游
- wanghlady,你若未嫁,我怎敢老?
- 防盜報(bào)警聯(lián)動(dòng)視頻監(jiān)控系統(tǒng)應(yīng)用解析
- 帶DDR2 RAM的PCB的層疊結(jié)構(gòu)設(shè)計(jì)
- 干一年頂三年?臺(tái)積電工程師曬250W獎(jiǎng)金
- 【連載】【ALIENTEK 戰(zhàn)艦STM32開發(fā)板】STM32開發(fā)指南--第三十三章 FC游戲手柄控實(shí)驗(yàn)
- 有人用STM32F103做過(guò)多路AD采樣嗎
- stk600中斷問(wèn)題
- 測(cè)評(píng)匯總:米爾基于NXP第一顆帶NPU套件MYC-JX8MPQ
- 請(qǐng)問(wèn)USIM卡中電話簿文件是怎樣存儲(chǔ)的?
- c8051f電源問(wèn)題解決方法