BIN、HEX、AXF、ELF文件格式有什么區(qū)別
時(shí)間:2021-09-03 10:08:44
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
[導(dǎo)讀]數(shù)據(jù)量比較從存儲數(shù)據(jù)的信息量上看:ELF>AXF>HEX>BIN,所以這也就確定了只能將大信息量的文件格式向小信息量的文件格式轉(zhuǎn)換,如只能將HEX文件轉(zhuǎn)換為BIN文件,當(dāng)然如果指定了下載地址,也可以將BIN轉(zhuǎn)換為HEX文件。BIN文件bin文件是純粹的機(jī)器碼,沒有地址信息,不能使...
數(shù)據(jù)量比較從存儲數(shù)據(jù)的信息量上看:ELF>AXF>HEX>BIN,所以這也就確定了只能將大信息量的文件格式向小信息量的文件格式轉(zhuǎn)換,如只能將HEX文件轉(zhuǎn)換為BIN文件,當(dāng)然如果指定了下載地址,也可以將BIN轉(zhuǎn)換為HEX文件。BIN文件bin文件是純粹的機(jī)器碼,沒有地址信息,不能使用記事本直接打開,要使用bin文件閱讀器才能打開,如果使用bin文件燒錄程序時(shí),需要指定下載地址。一些下載器只能使用BIN文件進(jìn)行下載,在進(jìn)行OTA遠(yuǎn)程升級時(shí)必須使用bin文件。HEX文件一般是指Intel標(biāo)準(zhǔn)的hex文件,可以使用記事本直接打開,是十六進(jìn)制數(shù)據(jù),包含了基地址、偏移量、校驗(yàn)和、文件開始和結(jié)束標(biāo)志等信息,與bin文件最大的不同就是包含了下載地址。由于hex文件是十六進(jìn)制數(shù)據(jù),而bin文件是二進(jìn)制數(shù)據(jù),如十六進(jìn)制0xFF,用二進(jìn)制表示為1111 1111,所以HEX文件要比bin文件大得多。與axf文件相比,不含調(diào)試信息,不能用于調(diào)試。AXF文件包含了調(diào)試信息,如進(jìn)行在Keil環(huán)境使用Debug功能時(shí),就是先將axf文件下載到芯片內(nèi),才能進(jìn)行調(diào)試。如使用J-Link的J-Scope功能時(shí),必須使用axf文件。ELF文件是由GCC編譯器生成的。elf文件可以直接轉(zhuǎn)換為hex和bin,但hex和bin例如Linux系統(tǒng)下使用gcc指令gcc -o test test.c生成的elf文件,可以通過./test直接執(zhí)行。總結(jié):
- bin文件可以由hex和axf文件轉(zhuǎn)換而來。
- axf文件包含了調(diào)試信息。
- hex文件包含了燒錄地址,而bin文件不含,需要指定地址。