ICETEK OMAP3530 MINI V3號稱硬體跟beagle board相容.
由於mini board有512MB nand flash & DM9000 ethernet所以捨棄了beagle board.
但風險就是萬一硬體有不相容的地方就得自己搞了
http://code.google.com/p/beagleboard/wiki/BeagleSoftCompile
1.OMAP3530 boot
Boot對Embedded System是一件大事,就像生命的起源一般.
OMAP3530可以從nand flash or SD card boot,由x-loader開始.
x-loader負責初始化CUP,包含memory & nand flash,之後會載入並執行u-boot.
預設供電後由nand flash載入x-loader.
按住user button + reset button就會由SD card載入x-loader.
2.Compile x-loader
修改xloader/include/configs/omap3530Mini.h
/* NAND is partitioned:
* 0x00000000 - 0x0007FFFF Booting Image
* 0x00080000 - 0x0025FFFF U-Boot Image
* 0x00260000 - 0x0027FFFF U-Boot Env Data (X-loader doesn't care)
* 0x00280000 - 0x0067FFFF Kernel Image
* 0x00680000 - 0x08000000 depends on application
*/
#define NAND_UBOOT_START 0x0080000 /* Leaving first 4 blocks for x-load */
#define NAND_UBOOT_END 0x0260000 /* Giving a space of 2 blocks = 256KB */
#define NAND_BLOCK_SIZE 0x20000
make
./signGP x-load.bin
mv x-load.bin.ift MLO
Build x-loader for nand boot
http://elinux.org/BeagleBoardNAND
Modify include/configs/omap3530mini.h
Disable CONFIG_MMC
//#define CONFIG_MMC 1
make
./signGP x-load.bin
Copy x-load.bin.ift to nand
3.Format SD Card
http://elinux.org/BeagleBoardBeginners
有一些細節要注意,就不再贅述
將MLO copy 到SD card FAT partition (FAT partition一定要是乾淨的)
將x-load.bin.ift copy到 FAT partition
4.Install pre-built 0xdroid images
複製uImage / 0xkernel-beagle.bin / android-beagle.ubi 到SD card FAT parition
退出SD card
Boot from SD card
進入u-boot command
由SD card更新nand flash上的檔案
Refresh x-load.bin.ift
OMAP3 MiniBoard # mmcinit
OMAP3 MiniBoard # fatload mmc 0 ${loadaddr} x-load.bin.ift
reading x-load.bin.ift
11332 bytes read
OMAP3 MiniBoard # nand unlock
Usage:
nand - NAND sub-system
OMAP3 MiniBoard # nand erase 0 40000
NAND erase: device 0 offset 0x0, size 0x40000
Erasing at 0x20000 -- 100% complete.
OK
OMAP3 MiniBoard # nandecc hw
HW ECC selected
OMAP3 MiniBoard # nand write ${loadaddr} 0 40000
NAND write: device 0 offset 0x0, size 0x40000
262144 bytes written: OK
OMAP3 MiniBoard # nand lock
Usage:
nand - NAND sub-system
Refresh u-boot
OMAP3 MiniBoard # mmcinit
OMAP3 MiniBoard # fatload mmc 0 ${loadaddr} u-boot.bin
reading u-boot.bin
275904 bytes read
OMAP3 MiniBoard # nand erase 80000 1e0000
NAND erase: device 0 offset 0x80000, size 0x1e0000
Erasing at 0x140000 -- 100% complete.
OK
OMAP3 MiniBoard # nand write ${loadaddr} 80000 1e0000
NAND write: device 0 offset 0x80000, size 0x1e0000
917504 bytes written: OK
OMAP3 MiniBoard #
Refresh uImage.bin
OMAP3 Miniboard # mmcinit
OMAP3 Miniboard # fatload mmc 0 ${loadaddr} uImage-beagle.bin
reading uImage-beagle.bin
2140524 bytes read
OMAP3 Miniboard # nand erase 280000 400000
NAND erase: device 0 offset 0x280000, size 0x400000
Erasing at 0x660000 -- 100% complete.
OK
OMAP3 Miniboard # nand write ${loadaddr} 280000 400000
NAND write: device 0 offset 0x280000, size 0x400000
4194304 bytes written: OK
5.取出SD card, reboot to install 0xdroid automaticlly.
完成後reboot
6.u-boot environment variable
setenv ubifsargs 'setenv bootargs console=${console} init=/init omapdss.def_disp=dvi omapfb.mode=dvi:1280x1024MR-24@60 root=ubi0:rootfs ubi.mtd=4 rw rootfstype=ubifs'
setenv nandboot 'echo Booting from nand ...; run ubifsargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}'
7.0xdroid works
Texas Instruments X-Loader 1.4.2 (Sep 24 2009 - 17:05:57)
MiniBoard V2.0: Run Xloader from SD card
Loading u-boot.bin from nand
U-Boot 2009.08-00217-g30d7aae-dirty ( 9月 24 2009 - 20:23:31)
OMAP3530-GP ES2.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
DRAM: 256 MB
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Beagle Board rev C
Die ID #4b9a00020000000004031c1307010007
Hit any key to stop autoboot: 0
Unknown command 'mmcinit' - try 'help'
Booting from nand ...
NAND read: device 0 offset 0x280000, size 0x400000
4194304 bytes read: OK
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Linux-2.6.29-omap1-g327a826
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2165760 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
您好!!
回覆刪除我想請問史大大個問題
OMAP3530 MINI V3 跟 OMAP3530 DevKit8000
同樣都是要玩 0xdroid
之間有甚麼不同嗎?
關於這句:複製uImage / 0xkernel-beagle.bin / android-beagle.ubi 到SD card
uImage板子是一定吃的到
而xkernel-beagle.bin & android-beagle.ubi
我的版子好像吃不起來
是因為版子原廠問題?
還是我要改我的u-boot?
[版主回覆07/24/2010 18:13:52]建議不要用mini v3因為0xdroid並未support這塊板子.
在u-boot下mmcinit or mmc init就能使用SD card上的file.
注意你的SD card要依照omap3的要求建立FAT file system.
你好阿!
回覆刪除我那各SD 卡裡面有原來的檔案,我按照你講的
按住user button + reset button就會由SD card載入x-loader.
但是畫面會停掉ㄟ!
都不會動,救無發更新囉!
請你指導一下囉!
謝謝
[版主回覆12/23/2010 00:04:06]從SD card boot有看到東西嗎? 傳上來偶看看.
如果你的nand flash上的u-boot有支援讀取SD card也可以.
進入u-boot console之後下指令 mmc init 或 mmcinit (要看你的u-boot版本而定)
接下來應該跟blog上的流程一樣.
您好:
回覆刪除我想請問您一些問題,我現在手上有一塊mini V3的板子,但他官方提供的kernel source似乎只有到2.6.28,我自己從網路上下載的kernel source code是2.6.32,現在我再驅動SPI Interface,再設定menuconfig的時候,沒有看到有關min v3i的config設定,導致無法更新kernel,想請問哪邊還能下載到2.6.32以上有支援mini V3的kernel source呢?或是有關於mini V3如何將spi給掛載起來。在2.6.28我已經有將spi包進kernel內,但沒有看到有關於spi的裝置,想請問你是否有研究過spi呢?希望您能給我一點建議!!謝謝!!
[版主回覆12/31/2010 16:10:11]據我所知mini v3的kernel原廠還是停留在2.6.28
試試看 TI 官方的kernel source 有沒有支援mini v3吧.
沒有的話就要自己Porting了.
OMAP 3 SPI我沒有實際試過.
有一些基礎的mux / register要先正確設定.參考omap 3530 user manual
沒有看到spi裝置?
1.確定driver有載入系統
2.自行建立device node (用mknod)
接著寫資料給SPI driver以示波器看有沒有信號.
您好:
回覆刪除TI 官方的kernel source我再設定config時,似乎沒有mini v3的config。所以可能要自己porting,那要怎麼porting呢,我還沒有這方面的經驗,請高手指點一下!!!謝謝您!!
[版主回覆12/31/2010 17:42:09]建議你還是在2.6.28上搞SPI會比較妥當.
Porting的細節與問題很難一一說明.
基本上就是找一個相近的硬體config來參考複製(mini v3 以 beagleboard config 最適合)
您好!!有問題想請教大大,我在Terminal端輸入nand erase把u-boot給洗掉了,我上google查詢並嘗試了各種方法,有些文章是說只要在SD卡上面放MLO、u-boot.bin、uImage,另外還有文章是寫要在SD卡上放置x-load.bin.ift、MLO、u-boot.bin、flash-uboot.bin、uImage、randisk.gz等等,想請問這些放法有什麼差別呢,請問有沒有相關的參考網址可以提供給我。另外就是這兩種方法我都試過,檔案放到sd卡後按著user插電,但就是讀不到x-load等開機檔案,是否也能提供一下方法呢?
回覆刪除[版主回覆02/16/2011 15:11:42]差別只有從NAND boot or SD Card boot.
你需要先從SD Card boot進入u-boot再將x-loader / u-boot寫入nand flash.
請仔細閱讀並製作SD Card. http://elinux.org/BeagleBoardBeginners
MLO : x-loader for boot from SD Card
x-load.bin.ift : x-loader for boot from nand flash
兩個都要copy到SD card, boot之後再將x-load.bin.ift寫入nand flash
其他u-boot.bin, uImage等是沒有分別的