2007年3月8日 星期四

閱讀 javascript 相關資料

今天試了一些東西得記下來
1. window.onbeforeunload event handler.
例:
window.onbeoreunload = function() { if (modified) return "something need to save"; };

如果 modified 為真, 則在準備離開當前頁面時 (含關閉視窗 或 分頁), browser 會提示 一些制式訊息, 及 onbeforeunload 所傳回的字串.
果選擇確認, 就會離開或關閉. 選擇取消 則會停留在原頁面.

2. 閱讀完 JavaScript 的 Operator, JavaScript Functions.
例如: === 是表示 型態 和 值 都要相等., !== 表示 型態 或 值 不等.
Function, Function.prototype, arguments, arguments.callee, arguments.caller 等.

3. 閱讀了 prototype 中的 base.js. 理解一些應注意事項.

2007年3月7日 星期三

download over air for terminal feature

今天又跟 Jason 通了電話, 看樣子 download 還是得做. spiparm.dat/parm.dat 也逃不了.
parm.dat/spiparm.dat 是還好啦. download 的話就有蠻多問題的.

雖然可以將部份連續的 sectors 保留下來做這個用途, 但總是有問題.
我大概的想法是
留下兩個 cluster 是用於索引的. (我還是不確定這兩個 blocks 是否有可能會被同一個 erase/write cycle 所影響到,.... 沒有資料啊.....)
下載時, 就同步更新這兩個索引. 如果 資料寫到一半故障, 索引是舊的, 就不會有問題.
如果更新第一份索引時故障, 第二份(還是舊的) 就可以用. 如果是第二份故障, 那就算了.
這樣就可以 tracking 可能的寫入位置.

但在 copy 到 drive C 時, 還是可能出問題......
這時就要讓 drive A 的程式可以 format drive C 才行. (怎麼知道 drive C 故障了 ?)

一堆問題.... 還是得想....

2007年3月6日 星期二

Zipit, Zipit, Zipit !

今天同事根據 Internet 上的資料, 焊好 Zipit 上的 debug console, 再把 相關的檔案 flash 到 Zipit 之後, 開機, 然後成功 ~

當然, 事情並不是這麼順啦, 首先是 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
00000000boot loader (no GPL source)
00002000start of kernel zImage compressed bootloader
000045B0+-start of gzipped Linux data (inside zImage)
00090000start of gzipped Linux ramdisk image (over 4MB expanded)
001F0000Flash stored properties -- "AerMedia Properties"
001FFFFFend of FlashROM (2MB)

註 3: OpenZipIt 是個不錯的進階.
註 4: ZipIt Peek & Poke 有列出一些 Port/GPIO 的用途.
註 5: ZipIt 應用程式開發說明有一些不錯的 Link.
註 6: flash_notes.txt 對使用 debug console 來 reflash有更詳細的說明. 這個 網站 的說明還不錯.

checksum for selected files on flash disk is verified

今天 chris 有測到 發生 flash file corruption 的情況, 而且 gps.exe 可以正確認出, 並且避開問題.
再跟 Jason 通e-mail/電話. 確認狀態後, 又和 Jason 討論了一些關 over the air download 會遇到的問題. 要我想一想是否有解決方法 (我沒有~, 寫封 e-mail 告訴他)

2007年3月5日 星期一

checksum for selected files on flash disk

今天將 checksum feature 加入 terminal 以下功能中
usrvar.dat(usrvar.mir), msg-*.dat (msg-*.mir), pws.cfg(pws.mir), trip.dat(trip.mir)

比較特別的是 msg-*.dat(msg-*.mir) 似乎有點奇怪. 從 disk image 讀出來的一致的, 但透過 xdos 讀到的內容卻是不一致. 透過 debug 模式, 觀察到確實有將相同的資料寫入, 就先不找了.

接下來就是交給工程人員測試.

本週待辦事項 (2007/03/05-2007/03/09)

星期二早上 要去 Siemens 討論關於 RTB 方面的事情
星期四下午, 會有關於 SIP 密錄方面的公司來 Demo.


另外. 應該要開始閱讀 Zipit 相關的資料了.

2007年3月3日 星期六

finally, the terminal ap with direct FAT access is done

星期五下午, 終於攪定這一部份, 接下來就是要上線測試了.

很期待下一個關於 embedded linux 的 project. 希望會有好的結果.