詳細闡述UCD3xxx系列數字電源控制器燒寫常用的兩種十六進制
后綴為X0 的文件是十六進制文件格式的一種,而Intel Hex 文件格式也是一種常用的十六進制文件格式。X0是TI 燒寫軟件和工具常用的文件格式,而Hex 文件是第三方燒寫器常用的文件格式。編譯器(如TI 集成開發環境CCS)編譯C 語言或者匯編語言程序生成二進制機器代碼,然后由機器代碼生成X0 和Hex 這兩種十六進制文件格式。本文首先介紹這兩種文件格式,然后介紹如何在CCS 編譯環境中產生這兩種文件格式,最后結合UCD3xxx 系列數字電源控制器通過實例來進一步了解這兩種文件格式。
1 X0和Hex文件格式
X0 和Hex 文件是由一行行符合對應文件格式的文本所構成的ASCII(American Standard Code for Information Interchange,美國信息互換標準代碼)文本文件。在計算機中,所有的數據在存儲和運算時都要使用二進制數表示,例如a、b、c、d 這樣的52 個字母(包括大寫),0、1 等數字,還有一些常用的符號(如*、#、@等)在計算機中存儲時也要使用二進制數來表示。ASCII 碼就是用來表示這些字母、數字以及符號的,它使用指定的7 位或8 位二進制數組合來表示128 或256 種可能的字符。而X0 和Hex 文件格式就利用ASCII 碼來表示二進制信息。
X0 格式的名稱是“泰克擴展十六進制文件格式”(Tektronix Extended hexadecimal file format),具體格式參見圖1。

圖1:X0文件格式
X0 文件以百分號“%”為記錄標志,表示一行的開始;記錄長度指的是每一行除百分號外的字符數(不是字節數),占一個字節;記錄類型占一個字符,共兩種:6 - 代表數據,8-代表結束;校驗是整個一行字符除(注意不是字節)除校驗自身和百分號外的校驗和,占一個字節;地址共9 個字符,第一個字符是8,指的是地址共占8 個字符,后面8 個字符(4 個字節)是數據所要加載的地址;數據就是程序代碼或其它信息。
以計算機常用的“Hello, Word!(加換行符)”為例,如果把它加載到地址0x006B,那么X0 文件如下
表示:
評論