我依然清晰的記得剛拿到Imx283 257的情景,興奮中充滿憂慮,對操作系統的概念只知一二,不知三四!!周立功出品的資料我一直覺得是比較精品的,同樣這款iMX283配套的文檔資料(v1.04)也是比較經典的,非常適合初學者使用。
作爲一個初學者,我願意把自己學習的經歷分享出來,分享出自己對文檔的理解和總結,以便自己爲日後的學習總結出更好的學習方法,同時也讓初學者少走自己走過的彎路,高手不要吐槽,可以指正。
1、關於文檔的一、二章
第一章就是一個對283的簡介,第二章的是關於在開發板中如何燒寫linux系統,如果開發板上已經裝載了linux系統,我建議先略過此章節,等學了一段時間之後再回過頭來細看此章節。
論壇上有人問:爲什麼nand flash燒寫不成功:
如果按照文檔中燒寫前準備那樣做的:
l 請確認通訊線是否接好,通訊線連接好燒寫工具:MfgTool-ZLG界面“正在監控”下會出現“HID-compliantdevice”字樣。
l ubootloader.bat最好以管理員身份啓動,每次啓動都需要對開發板重新上電。
l 重新打開燒寫工具。
當看完一二章節之後,先不要着急往下看了,找一本linux書,瞭解linux的一些基本概念,學一些linux常用的操作命令,再往下看吧。
2、關於文檔的第三章
l 串口終端:
首先初學者需要明白,linux系統會有一個終端,開發板既然安裝了linux系統,同樣它也會有一個終端,叫做串口終端。介紹兩個串口終端Xshell和secureCRT,百度下載一下就好了。
Xshell使用簡介:
打開→新建→協議選擇(SERIAL)→名稱(隨意輸入一個名字)→左側選擇(SERIAL)→選擇波特率(115200)和串口端口。
l 網絡設置:
網絡設置讓我花了很長一段時間才搞定的,在此總結一下:
我選擇的網線與與電腦直連的方式進行學習的,此種方式下,網絡未設置正確時windows本地連接是打叉的。
a) 首先關閉防火牆(必須選擇關閉),設置PC機網絡:
iP:192.168.2.2
子網掩碼:255.255.255.0
默認網關:192.168.2.1
b) 其次設置開發板網絡:
root@EasyARM-iMX283~# ifconfig eth0 192.168.2.10 #此爲開發板IP
注意:root@EasyARM-iMX283~#是開發板串口終端。
c) 其次設置linux主機網絡(即虛擬機linux的):
vmuser@Linux-vmuser:~$sudo ifconfig eth0 192.168.2.15 設置linux主機iP地址。
vmuser@Linux-vmuser:~$ifconfig eth0 查看設置的iP地址
vmuser@Linux-vmuser:~$ifconfig eth0 down 關網卡
vmuser@Linux-vmuser:~$ifconfig eth0 up 開網卡
注意:vmuser@Linux-vmuser:~$是linux主機終端。
l 測試網絡連通:
Ping +ip地址測試網絡連接
Eg:測試linux主機和開發板的聯通性 ping 192.168.2.10
注:該IP是我測試學習用的IP,也可自己設定,只要保證三機(PC機、linux主機、開發板)三個網段在一起,就可以ping通。
總結:以上測試是網線直接連PC機,如果用交換機的話連接的話,會更加簡單、穩定。
l 應用程序的開發模式:
對於初學者而言,會比較糾結上了linux操作系統,怎麼下載程序進去啊,看來半天文檔也不知道怎麼下載程序,好尷尬啊。
對我而言,我之前學過51,、AVR、XS128,STM32單片機,總是愛拿單片機的思維來套用,現在想想是多大的錯誤。iMX283已經裝載了操作系統,想想我們的PC機也是裝了操作系統,只不過是windows而已,所以對於iMX283的學習開發而言,要清楚它是分許多層的:
a) 上層應用程序的開發(類似於windows中的各種軟件)
b) 外設驅動的開發
c) 跨平臺移植
d) Bootloader代碼分析和移植
e) 以太網燒寫工具代碼分析與移植
f) BDM/JTAG工具代碼的分析與移植
對於應用程序的開發我想說下自己的喜歡的開發模式
開發板中的linux系統是非常精簡的,也就意味着它跟真正的linux系統有很大的差距,所以對於一般的應用程序開發,採用在linux主機下開發,用交叉編譯器進行編譯,再將編譯好程序下載到開發板裏運行。
a) ssh模式:
在網絡設置以後,可以相互ping通,在linux主機中,打開終端輸入:
ssh [email protected](//192.168.2.10爲開發板IP地址),可以以ssh登入開發板,輸入密碼:root(不顯示,輸完回車即可)
在linux主機下設置NFS共享目錄,並將該目錄掛載到開發板中的某個目錄下,這樣在linux在NFS共享目錄下編寫的應用程序就可以在開發板中相應目錄中找到。
注:如何NFS共享和掛載在文檔第四章講的有哈!
如果想將該應用程序固化(即保存到開發板裏),可以用cp 命令保存到開發板目錄下即可,同時要記得同步一下掉電纔不會丟失。
Eg:root@EasyARM-iMX283 ~# cp hello/opt //保存hello程序到opt目錄下
root@EasyARM-iMX283 ~# sync //記得同步操作哦
b) 串口終端模式
其實串口終端模式只不過是在Xshell裏登陸開發板的同時,也登陸linux主機終端。也是通過掛載NFS,進而固化程序來實現應用程序的開發。
注意:ssh登陸linux,新建→協議默認(ssh)→名稱(隨意命名)→主機(linux IP地址),會提示輸入linux主機密碼,按照提示做即可。
這兩種開發的模式只需要在一個工具裏打開兩個終端窗口就可以實現。省去兩種工具裏來回切換的麻煩。