|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于BOOTLOADER和燒寫HEX文件求教! |
| 作者:劉驍獎 欄目:單片機 |
最近公司做個小東東,一個控制的箱子,通過RS485把連接起來!由于要到實地不斷修改代碼來適應(yīng)客戶要求,因此要不斷的燒寫片片,雖然在電路板上已經(jīng)留下了ISP燒寫的接口,但是每次感覺還是太麻煩了!! 這讓我突然想到了一直不太感冒的BOOTLOADER,想想能用這個最好了,把我的本本接到RS485的線上就行了,不用打開控制器燒寫芯片,;)多省事呀!! 因此想自己寫個實用的BOOTLOADER出來,可靠性高些,可以用于工業(yè)場合的那種,基于RS485或者CAN的那種.同時做一個通用的PC的下載程序出來,準備做完后全部都共享出來的. 昨天開始申空學(xué)習(xí)相關(guān)的內(nèi)容,不過發(fā)現(xiàn)HEX的文件格式自己看不是太明白,暈呀,所以想讓大家,看能不能幫幫忙! 文件頭: :020000040000FA :10000000 8A11 0A12 4329 4329 0C18 CE28 8C18 C929 B1 文件尾: :103FF000F82FF92FFA2FFB2FFC2FFD2FFE2FFF2F6D :1042000001002C0000006400010090000B007C0005 :0E42100000000B000200C0000200CD004500BF :00000001FF 以上內(nèi)容不太明白,請大家?guī)蛡忙我好寫相關(guān)代碼,謝謝大家! |
| 2樓: | >>參與討論 |
| 作者: systemchip 于 2005/11/25 10:37:00 發(fā)布:
格式 例如: :10 0000 00 8A 11 0A12 4329 4329 0C18 CE28 8C18 C929 B1 :表示起始碼 10--數(shù)據(jù)字節(jié)數(shù) 0000-數(shù)據(jù)的起始地址 00--該兩位數(shù)據(jù)表示數(shù)據(jù)記錄類型(00表示數(shù)據(jù),01表示中止等) 后面跟著是16個數(shù)據(jù) B1--為校驗和 相關(guān)資料:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1490&filterID=382 |
|
| 3樓: | >>參與討論 |
| 作者: 劉驍獎 于 2005/11/25 12:37:00 發(fā)布:
55555 不過還是沒有搞明白那個CHECKSUM是如何算的,是把數(shù)據(jù)值加在一起,不要高字節(jié),然后對這個結(jié)果取反嗎?我總是算不對! |
|
| 4樓: | >>參與討論 |
| 作者: cjy 于 2005/11/25 13:15:00 發(fā)布:
PIC的機器碼的輸出格式 PIC的機器碼的輸出格式 PIC的機器碼的輸出格式有INHX8M,INHX8S,INHX16和INHX32等,在這些格式中,其機器碼文件中的數(shù)據(jù)記錄開始于9個字符的前綴, 以兩個字符的檢驗和(補碼)結(jié)束.其具體形式如下: BBAAAATTHHH…HHHHCC 其中, BB----兩個數(shù)字的16進制字節(jié)數(shù),表示該行的數(shù)據(jù)字節(jié)數(shù). AAAA-----四個數(shù)字的16進制的地址,表示記錄的起始地址. TT------兩個數(shù)字的記錄類型: 00----數(shù)據(jù)記錄; 01----文件記錄結(jié)束; 02----段地址記錄(INHX32格式); 04----線性地址記錄(INHX32格式); HH----兩個數(shù)字的16進制數(shù)據(jù)字節(jié)(代碼數(shù)據(jù)). CC----兩個數(shù)字的16進制檢驗和,它是該記錄中前面所有字節(jié)和的補碼. (1) INHX8M---產(chǎn)生一個把低字節(jié)和高字節(jié)組合在一起的8位Intellec十六進制目標代碼文件(文件擴展名為。OBJ或。HEX)。這種格式地址只能包含8位,而PIC的指令12--16位,所有的地址都是雙倍的。適于把目標代碼輸入到大多數(shù)的EPROM編程器中。 (2) INHX8S---產(chǎn)生兩個8位十六進制文件,一個文件包含高8位的地址/數(shù)據(jù)對(其擴展名為。OBH或。HXH),另一個包含低8位(其擴展名為。OBL或。HXL)。這種格式對編程高/低字節(jié)的IPROMS特別有用。 (3) INHX16---產(chǎn)生一個16位Intellec十六進制目標代碼文件。 (4) INHX32---產(chǎn)生一個32位Intellec十六進制目標代碼文件。此格式除了輸出擴展線性地址記錄以建立數(shù)據(jù)地址的高16位之外,其格式與INHX8M格式類似。 |
|
| 5樓: | >>參與討論 |
| 作者: systemchip 于 2005/11/25 13:39:00 發(fā)布:
答 校驗和字段是HEX行中所有字節(jié)8位和的2的補碼 :02 00 0004 0030 CA 0x02 + !0x36=0xC9+0x01=0xCA 0x00 + 0x00 + 0x04 + 0x00 + 0x30 =0x36 |
|
| 6樓: | >>參與討論 |
| 作者: micros 于 2005/11/25 14:31:00 發(fā)布:
樓主,我這有一份關(guān)天Bootloader的資料 是MCHP MASTER2005的課程,留下你的EMail我發(fā)給你參考參考! |
|
| 7樓: | >>參與討論 |
| 作者: kingpoo 于 2005/11/26 14:04:00 發(fā)布:
這個很簡單,MICROCHIP有現(xiàn)成的代碼可以下載! 這個很簡單,MICROCHIP有現(xiàn)成的代碼可以下載! 自己到MICROCHIP的網(wǎng)上輸入bootloader就可以了 |
|
| 8樓: | >>參與討論 |
| 作者: 劉驍獎 于 2005/11/26 17:12:00 發(fā)布:
謝謝大家,我差不多明白了! micros兄,這是我的郵箱:mcusun@163.com |
|
| 9樓: | >>參與討論 |
| 作者: micros 于 2005/11/26 17:24:00 發(fā)布:
用于樓主的LED段碼軟件,不錯! 郵件已發(fā)!請查收! |
|
| 10樓: | >>參與討論 |
| 作者: 劉驍獎 于 2005/11/27 9:41:00 發(fā)布:
謝謝micros兄弟郵件收到了! 呵呵,那個小東東呀!如果有空我會做更多類似的小東東,方便寫代碼用! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |