pretty code

2025年12月5日 星期五

巡田水 again


最近 Kobo 工程師很乖,沒有亂改 HTML 碼XD

看一下 github 修改記錄,上一次修改已經是半年前的事了。

很好,請 Kobo 繼續保持,這樣我才有動力繼續在這裡買書XD

STDF Format

STDF 是個很有趣的檔案格式,它常用在儲存 ATE 的測試資料。


對於寫 C code 的人來說,可以很簡單的用 fread + structure 的方式無腦 parsing。

它的 Hex 資料如上圖,這裡只框出前 5 筆 record。

每一筆 record 都帶有 4 個 byte 的 header,前兩個 byte 是 REC_LEN,後面兩個 byte,一個是 REC_TYP,另一個是 REC_SUB,header 後面就是帶有 REC_LEN 長度的資料。

一個橘色框框的是一筆 record,淺藍色的就是 REC_LEN,深藍色的是 REC_TYP + REC_SUB,沒有底線的就是該筆 record 的資料組成。

我們可以由 REC_TYP + REC_SUB 得知 record 的種類。


Spec 中也很貼心的用 C code 表達不同資料的解碼方式以及等於 C type 的變數宣告。


我們以第一筆 FAR record 為例,CPU_TYPE 欄位 = 0x02,屬於 IBM PC 的處理器,故其大於 1 byte 資料的順序為 Little Endian,比如說 REC_LEN 在解碼時,就必須反過來看。


隨便使用 STDF parser 當關鍵字在 github 搜尋就有 3 頁的程式碼可以參考,各類程式語言應有盡有,挑自己喜歡的來使用即可。


就像前面說的,C code 跟這種檔案格式很搭,故要快速得到一個結果,找 C code 的專案就對了。