當然, 事情並不是這麼順啦, 首先是 debug console 相關焊點並不都是這麼好焊. 光是找那個焊點, 就蠻花眼力的. 還好有善心人士照了一個很大的圖.
接著想要透過 debug console 來 reflash 時, 卻發現就算把 DBG/GND 短路後, 再開機, debug console 也沒有任何輸出. 所幸同事觀察到 Zipit 會有一個綠燈一閃一閃的, 想說會不會是debug console 本來就不會有輸出. 於是就根據說明 利用upl盲目上載相關檔案(zpm.bin, loader.bin, ramdisk.gz, zimage.dat)
將 DBG/GND 開路, 拔掉 AC 電源再插入, 果然就看到企鵝了.
接下來, 就是 試試看囉. 我用 root 登錄(不用密碼), 看了一 /proc/meminfo (約 14 MB), 執行 df (ramdisk 約 5 MB). 挫折比想像中的少, 蠻高興的.
註 1: zpm.bin (Zipit-PreBoot-Monitor)/loader.bin 的 source. 由下面的 rom mapping 可以知道為什麼最大只能有 2KB.
註 2: zipit 的 rom mapping
00000000 | boot loader (no GPL source) |
00002000 | start of kernel zImage compressed bootloader |
000045B0+- | start of gzipped Linux data (inside zImage) |
00090000 | start of gzipped Linux ramdisk image (over 4MB expanded) |
001F0000 | Flash stored properties -- "AerMedia Properties" |
001FFFFF | end of FlashROM (2MB) |
註 3: OpenZipIt 是個不錯的進階.
註 4: ZipIt Peek & Poke 有列出一些 Port/GPIO 的用途.
註 5: ZipIt 應用程式開發說明有一些不錯的 Link.
註 6: flash_notes.txt 對使用 debug console 來 reflash有更詳細的說明. 這個 網站 的說明還不錯.
沒有留言:
張貼留言