天天看點

友善之臂tiny4412-1306開發闆安卓系統燒寫

折騰了很久,終于燒寫成功。不廢話,咱們說說流程吧。

首先,我們需要有一個基于tiny4412的kernel,從友善之臂官網擷取。

然後解壓:

1、tar -xvf  linux-3.5 ....

然後cp  tiny4412-android_deconfig  .config

接下來make zImage 在 arch/arm/boot/生成對應的zImage ,這個也就是我們的kernrl。

當然在此之前,我們需要安裝交叉編譯工具arm-linux-gcc。沒有的話就裝上這個環境,arm-linux-gcc-4.5.1-v6-vfp-20120301(過程略)

2、下來安卓檔案系統

從友善之臂官網下載下傳對應的安卓檔案系統,我下的是安卓5.0:android-5.0.2-fs-20150325.tar.gz

同樣的用tar 指令解壓。

1、到安卓主工程目錄下,如圖:

友善之臂tiny4412-1306開發闆安卓系統燒寫

2、然後在指令行下輸入. setenv後會出現:

友善之臂tiny4412-1306開發闆安卓系統燒寫

生成相應的環境配置腳本

3、接下來lunch full_tiny4412-eng:

擷取版本資訊以及相應的安卓工作和指令等等。。。

友善之臂tiny4412-1306開發闆安卓系統燒寫

4、接下來就是直接在工程下敲make -j4 

系統就會開始編譯啦,漫長的等待............(如果你電腦好的話,4核也需要編譯5-6個小時的時間)

5、編譯成功後./gen-img.sh執行這個腳本會生成安卓的img,如果執行出錯的話就去安裝uboot的mkimage工具。

具體如下,到官網去下載下傳uboot_tiny4412-20130729.tgz

然後以下步驟:

tar xzf uboot_tiny4412-20130729.tgz

cd uboot_tiny4412/

make tiny4412_config

make

sudo cp tools/mkimage /usr/bin/

6、生成的img有

ramdisk-u.img 、 system.img 、 userdata-4g 、 還有其它,我們主要需要前面這三個加上上面的zImage就可以了,

還有我們還需要Superboot4412、FriendlyARM.ini這兩個檔案,最前面那個是bootloader,後面那個是下載下傳的配置腳本。

準備完成後,接下來:(以下是copy網友的,有侵權請聯系我注明,謝謝。)

本步驟将執行以下操作:

SD-Flasher.exe會對SD卡進行分區,第一個分區為130M用于存放Superboot4412,剩下的空間格式化為FRIENDLYARM分區,用于存放系統檔案images。有些小于256M的SD卡是無法使用的,我們推薦使用至少4G的SD卡。

以下是詳細步驟,基于Windows7環境:

Step1:打開CD光牒tools目錄,解壓SD-Flasher-1327.7z得到SD-Flasher.exe燒寫軟體,啟動它,請注意,你需要通過管理者身份來打開該軟體才行,如圖

友善之臂tiny4412-1306開發闆安卓系統燒寫

啟動SD-Flasher.exe軟體時,會彈出“Select your Machine...”對話框,請在其中選擇“Mini4412/Tiny4412”項:

友善之臂tiny4412-1306開發闆安卓系統燒寫

點Next後将彈出SD-Flasher主界面,點選一下Scan,将列出你的SD卡,選中它,然後點“ReLayout”對SD卡進行分割,注意,本操作會将SD卡内的資料清空然後重新分區。

友善之臂tiny4412-1306開發闆安卓系統燒寫

分割完成後,再點一下“Scan”,你會看到Available已變為可用狀态,表示已分割完成:

友善之臂tiny4412-1306開發闆安卓系統燒寫

Step2:點按鈕找到所要燒寫的Superboot4412.bin(預設位于CD光牒images/目錄下,如CD光牒目錄已移動過,注意不要放在中文目錄下),如圖:

友善之臂tiny4412-1306開發闆安卓系統燒寫

Step3:點“Fuse”,Superboot4412.bin就會被安全地燒寫到SD卡的無格式區中了,以後你再使用SD-Flasher制作SD卡時,無需再執行ReLayout操作,FAT32分區中的資料會得以保留。

友善之臂tiny4412-1306開發闆安卓系統燒寫

Bootloader被寫入SD卡後是無法看到的,該如何檢測呢?

方法是把SD卡插到已連接配接序列槽的開發闆上,并把開發闆上S2開關設定為“SDBOOT”模式,開機後,序列槽上有資訊輸出,例如:

友善之臂tiny4412-1306開發闆安卓系統燒寫

表示Bootloader已被寫入SD卡,如果序列槽沒有輸出,說明沒有燒寫成功。

以下幾種原因均有可能導緻不行,并有解決方法:

1.使用了筆記本自帶的讀卡器,建議使用外接的usb讀卡器,注意,有的外接usb讀卡器也是不行的

2.使用了山寨的SD卡,請使用正品,最好是4G或以上的SDHC

3.使用了microSD+卡套,請使用普通的SD卡,因為卡套的方式非常容易導緻接觸不良

4.因接觸不良導緻無法使用SD卡啟動的可能性比較大,建議多插拔幾次試試,這包括(1)核心闆和底闆的接觸,(2)SD卡座本身的接觸

由于使用者一般都會使用SD卡來存放一些其它的資料,是以,基于此考慮,SD-Flasher軟體在Vista/Winows7中運作時,會把SD卡自動分割為普通的FAT32格式區(自動命名卷标為“FriendlyARM)和無格式區(占130M)兩部分,燒寫軟體将會依據卷标名稱作為标志,把bootloader燒寫到無格式區,這樣就不會破壞普通FAT32格式區中的資料了。

實際上,Vista/Windows7系統本身的安全性很高,普通使用者是無法在Vista/Windows7系統上強制燒寫SD卡的,是以必須要先分割才能寫入。

另外,燒寫Superboot4412.bin請務止使用Windows7運作SD-Flasher來操作,如果使用Windows XP,可能會燒寫失敗導緻無法通過SD卡啟動。

如需要使用SD卡脫機燒寫系統功能,則可以将CD光牒上的images目錄整個拷貝到SD卡的根目錄下:

友善之臂tiny4412-1306開發闆安卓系統燒寫

想要對嵌入式開發闆進行開發和操作,都需要進行檔案傳輸或者是控制,這時基本都是需要通過序列槽線或者是網線進行連接配接的,在Windows下是使用超級終端通過序列槽對開發闆進行操作的,而在Linux下,最後最常見的序列槽調試工具就是minicom。minicom的安裝過程還是比較簡單的,對于操作過程也就是一個熟悉的過程,在其中的操作都是字元界面下的,隻要知道熟悉,就能熟練運用了。

在終端中輸入sudoapt-get install minicom安裝。

第一次啟動前,在終端中輸入sudo minicom -s,對minicom進行第一次的配置。在彈出的對話框内,選擇Serial port setup一項,

友善之臂tiny4412-1306開發闆安卓系統燒寫

然後按下a鍵,修改為/dev/ttyUSB0,就是選擇了UART0,然後按下回車;再按e,修改為115200 8N1,設定傳輸的比特率等設定,然後按下回車;再按f,把Hardware Flow Control修改為No,然後按下回車。再在剛才的主菜單中選擇Save setup as dfl,儲存為預設配置,最後選擇Exit from minicom,退出配置菜單。

友善之臂tiny4412-1306開發闆安卓系統燒寫

或者選擇Exit直接進入minicom:

友善之臂tiny4412-1306開發闆安卓系統燒寫

注:此步驟假設你的SD已經燒寫了Superboot4412.bin,并且從CD光牒中拷貝了相應的燒寫檔案到SD卡上,拷貝方法是将CD光牒中整個images目錄拷貝到SD卡的根目錄下。

把SD卡插入電腦,輕按兩下打開”imagesFriendlyARM.ini”檔案,将FriendlyARM.ini的内容修改成如下内容(預設已經如此):

#This linecannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No

Action = Install

OS = Linux

LowFormat = No

VerifyNandWrite= No

LCD-Mode = No

CheckCRC32=No

StatusType =Beeper | LED

###################Linux ####################

Linux-BootLoader= Superboot4412.bin

Linux-Kernel =Linux/zImage

Linux-CommandLine= root=/dev/mmcblk0p1 rootfstype=ext4 console=ttySAC0,115200 init=/linuxrcctp=2

Linux-RamDisk =Linux/ramdisk-u.img

Linux-RootFs-InstallImage= Linux/rootfs_qtopia_qt4.img

注意,使用Tiny4412SDK 1308底闆的使用者,Android-CommandLine上還要加上uhost0=y,在使用Tiny4412SDK 1306底闆的使用者則無需指定。

使用電阻屏的使用者,需要在Linux-CommandLine上,設定ctp=0及skipcali=n。

底闆的版本在這裡檢視:

友善之臂tiny4412-1306開發闆安卓系統燒寫

檢查SD上至少存在如下檔案,如果沒有,從CD光牒中拷貝到SD卡(将CD光牒的images目錄整個目錄拷到SD卡的根目錄即可):

友善之臂tiny4412-1306開發闆安卓系統燒寫
友善之臂tiny4412-1306開發闆安卓系統燒寫

然後上電開機,開始燒寫系統時,LCD和序列槽終端會有進度顯示。

燒寫系統過程中,開發闆“滴”一聲,表示開始燒寫系統,當發出兩聲“滴”,此時系統已經燒寫完畢。在minicom中可以看到如下log資訊,顯示OS‘LINUX’ Installed:

友善之臂tiny4412-1306開發闆安卓系統燒寫

系統燒寫完成後,參照下圖把開發闆S2開關設定為“Nand”啟動,然後重新開機即可啟動新的Linux系統了。

友善之臂tiny4412-1306開發闆安卓系統燒寫

此時可以在minicom中看到如下資訊,表示系統燒寫成功:

友善之臂tiny4412-1306開發闆安卓系統燒寫

通過ls指令可以順利進入系統的檔案根目錄:

友善之臂tiny4412-1306開發闆安卓系統燒寫

接下來就可以進行其他操作了!

還有一種是不需要用SD卡進行下來,直接通過DNW線就可以了,具體的,在FriendlyARM.ini中加一句:

USB-Mode = yes 

表示用USB模式來下來,這樣我們就可以直接用MiniTool這個工具來下載下傳我們剛剛的那些.img了,驅動是自動識别的,不需要我們自己去安裝,接下來下載下傳的步驟請參考"Tiny4412使用者手冊",百度一搜就有,照着做就可以成功了。

友善之臂tiny4412-1306開發闆安卓系統燒寫

然後就等待你的開發闆啟動成功,下面這個是我的開發闆:

友善之臂tiny4412-1306開發闆安卓系統燒寫
友善之臂tiny4412-1306開發闆安卓系統燒寫

繼續閱讀