使用IAR生成HEX與ELF文件
[if !supportLists]1、[endif]什么是ELF文件
ELF:Executable and Linking Format 可執(zhí)行和鏈接格式。ELF文件不同于我們常下載用的hex文件,Intel hex文件常用來保存單片機或其他處理器的目標程序代碼义起,是保存物理程序存儲區(qū)的目標代碼映像睛琳,而ELF文件不僅僅包括上述hex文件的信息,同時還包括符號表接奈、鏈接信息、調(diào)試信息通孽、源碼信息等序宦。這就是為什么我們可以將ELF文件轉(zhuǎn)成hex文件,卻不能將hex文件轉(zhuǎn)成ELF文件背苦。一些第三方調(diào)試軟件或仿真軟件需要使用ELF文件而不能使用hex或bin文件互捌,下面以IAR for ARM編譯器來生成ELF文件潘明。
[if !supportLists]2、[endif]IAR生成HEX
這里我們以IAR for ARM 6.30版本編譯STM32F1系列單片機代碼為例秕噪,其他版本的IAR設(shè)置不盡相同钳降,可供參考。
打開工程的Option選項腌巾,切換到Output Converter標簽遂填,如下圖所示
勾選Generate additional output可生成用于下載的hex文件,Output format可設(shè)置生成的文件格式澈蝙,若勾選Override default可修改默認生成文件名城菊。
[if !supportLists]3、[endif]IAR生成ELF
切換到Linker標簽頁中的Output碉克,可用生成ELF文件凌唬,如下所示
Output filename可修改生成的文件名,默認格式為.out可直接修改擴展名為.elf漏麦,其實這里的.out就是.elf文件相同格式客税。
我們來看下生成的elf文件
可勾選Include debug information in output,設(shè)置生成的elf文件是否包含debug信息撕贞。
????Z?~?