詳細(xì)闡述UCD3xxx系列數(shù)字電源控制器燒寫常用的兩種十六進(jìn)制
后綴為X0 的文件是十六進(jìn)制文件格式的一種,而Intel Hex 文件格式也是一種常用的十六進(jìn)制文件格式。X0是TI 燒寫軟件和工具常用的文件格式,而Hex 文件是第三方燒寫器常用的文件格式。編譯器(如TI 集成開發(fā)環(huán)境CCS)編譯C 語言或者匯編語言程序生成二進(jìn)制機(jī)器代碼,然后由機(jī)器代碼生成X0 和Hex 這兩種十六進(jìn)制文件格式。本文首先介紹這兩種文件格式,然后介紹如何在CCS 編譯環(huán)境中產(chǎn)生這兩種文件格式,最后結(jié)合UCD3xxx 系列數(shù)字電源控制器通過實(shí)例來進(jìn)一步了解這兩種文件格式。
1 X0和Hex文件格式
X0 和Hex 文件是由一行行符合對(duì)應(yīng)文件格式的文本所構(gòu)成的ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)文本文件。在計(jì)算機(jī)中,所有的數(shù)據(jù)在存儲(chǔ)和運(yùn)算時(shí)都要使用二進(jìn)制數(shù)表示,例如a、b、c、d 這樣的52 個(gè)字母(包括大寫),0、1 等數(shù)字,還有一些常用的符號(hào)(如*、#、@等)在計(jì)算機(jī)中存儲(chǔ)時(shí)也要使用二進(jìn)制數(shù)來表示。ASCII 碼就是用來表示這些字母、數(shù)字以及符號(hào)的,它使用指定的7 位或8 位二進(jìn)制數(shù)組合來表示128 或256 種可能的字符。而X0 和Hex 文件格式就利用ASCII 碼來表示二進(jìn)制信息。
X0 格式的名稱是“泰克擴(kuò)展十六進(jìn)制文件格式”(Tektronix Extended hexadecimal file format),具體格式參見圖1。
圖1:X0文件格式
X0 文件以百分號(hào)“%”為記錄標(biāo)志,表示一行的開始;記錄長度指的是每一行除百分號(hào)外的字符數(shù)(不是字節(jié)數(shù)),占一個(gè)字節(jié);記錄類型占一個(gè)字符,共兩種:6 - 代表數(shù)據(jù),8-代表結(jié)束;校驗(yàn)是整個(gè)一行字符除(注意不是字節(jié))除校驗(yàn)自身和百分號(hào)外的校驗(yàn)和,占一個(gè)字節(jié);地址共9 個(gè)字符,第一個(gè)字符是8,指的是地址共占8 個(gè)字符,后面8 個(gè)字符(4 個(gè)字節(jié))是數(shù)據(jù)所要加載的地址;數(shù)據(jù)就是程序代碼或其它信息。
以計(jì)算機(jī)常用的“Hello, Word!(加換行符)”為例,如果把它加載到地址0x006B,那么X0 文件如下
表示:
評(píng)論