gcc編譯hex文件
㈠ hex文件是通過什麼軟體編譯過來的
Hex文件是可以燒寫到單片機中,被單片機執行的一種文件格式,生成Hex文件的方式由很多種,可以通過不同的編譯器將C程序或者匯編程序編譯生成hex。
Hex文件如果用特殊的程序來查看(一般記事本就可以實現)。打開後可發現,真個文件以行為單位,每行以冒號開頭,內容全部為16進制碼。Hex文件可以按照如下的方式進行拆分來分析其中的內容:
例如:
:020000040000FA , 我把它看做 0x02 0x00 0x00 0x04 0x00 0x00 0xFA
第一個 0x02 為數據長度。
緊跟著後面的0x00 0x00 為地址。
再後面的0x04為數據類型,類型共分以下幾類:
'00' Data Record
'01' End of File Record
'02' Extended Segment Address Record
'03' Start Segment Address Record
'04' Extended Linear Address Record
'05' Start Linear Address Record
然後,接著0x04後面的兩個 0x00 0x00就是數據。最後一個0xFA是校驗碼。
㈡ c語言怎麼轉換匯編程序
在單片機中,C語言轉換成匯編語言有一個小竅門,這要藉助於KEILC這個編譯軟體,步驟如下:
1、運行KEIL,建立工程,導入C語言。
㈢ 怎麼樣把hex轉化成C語言形式
基本上不可能,因為HEX必定是單片機的程序格式,
從C語言編譯完成出來的程序格式和編譯器,MCU都有關系,
7 ,8年前見過一個最厲害的C反編譯器,但是也只能在 dos 下,反編譯 TC
而且還需要反編譯器自己的庫。也就是反編譯之後,沒法在TC下編譯,
如果你想做逆向功能,建議你還是多精通 匯編。然後用 IDA5.5 或者 SOFT-ICE
呵呵,目前這個是最可行的方案。
㈣ C語言格式怎麼轉換成hex格式
在KEIL軟體上建立工程項目,編輯C語言,編譯調試無錯後,點擊project下的optionsfortarget,在output標簽下勾選輸出HEX,確定後就在編譯一下會自動生成HEX文件在相同目錄里。
㈤ 單片機:在keil里從新建工程——書寫程序——編譯——生成HEX文件,步驟是這樣的越詳細越好!拜託了各位大
第1步:打開Keil uVision2/3
第2步:新建工程
project->new project
將彈出 creat new project框,寫入工程名稱,例如 test。為了便於集中管理建議新建一個文件夾(上面第二個圖標)。
點擊確定後 彈出一個晶元選擇項,你可以選一個。例如選atmel AT89C51。很多單片機,上面可能沒有列舉,我們任意選一個即可,51單片機選AT89C51代表即可。
然後 彈出一個框,選擇「否」
第3步:新建文件。
file--new
將彈出一個文本框,你可以寫入程序。例如
#include <reg51.h>
main()
{
P1=0XAA;
}
然後保存這個文件
file--save
彈出框save as 填寫你要保存的文件名。例如main.c。注意一定要帶上後綴.c。切記
第4步:載入程序。把我們編寫的c文件載入進入
看到左邊 source group1,點擊右鍵,選擇倒數第四項 「add files....」進入add框,選擇你剛才保存的main.c文件,然後add
看到 左邊source group1下面是不是載入上main.c了
第5步:編譯。
編譯前要進行一個重要的操作。生成HEX文件。
右邊 target 1 右鍵彈出框,找到output,再找到creat hex fi:前面復選框選中 OK
開始編譯了,
project--build target或者按F7或者看到上面圖標(一個圖標有兩個方向向下的箭頭)
編譯的時候,你會發現最先面編譯結果,0 Errors
恭喜你,你已經成功編譯了程序。
打開你先前建立的test文件夾,你會發現有個test.hex文件
記住步驟,慢慢就很熟練了,用快捷方式或圖標更方便
祝好
㈥ )如何編譯工程生成.hex文件,該文件有何作用
一條接一條的指令。
打開keil找到自己編程過的程序比如11.c文件。選擇Target後面的按鍵。然後選擇targetoutput。在CreatExecutable中可以看到下面有兩行字,在第二行字的Creathexfile的前面打一個對號。確認,再重新編譯下就能看到有hex文件生成,就可以開始網單片機傳送所需要的程序了。
它其實是這么組成的,數據地址加數據長度加實際數據組成的,而實際數據就是BIN文件的組成部分。所以,bin文件和hex是可以互相轉換的,但hex肯定比bin大。
㈦ 誰能幫我把一個hex文件反編譯為c語言文件
文件有兩種,一種是文本文件,一種是程序二進制文件,不管哪種文件都可以用十六進制編碼來顯示,稱為hex文件。
1、文本Hex文件一般不需要轉成C語言,更多的是程序二進制文件,用十六進制顯示,可以轉換成C語言,一般使用相應的反匯編程序來實現,這方面的工具很多,不同的平台略有不同。Windows平台一般常用的OllyDbg、Windbg、IDA,Linux平台使用最多的是GDB和Linux版的IDA。
OllyDbg,簡稱OD,一般是軟體逆向工程愛好者,最先使用的一個工具,但是因為當下不在更新,所以一般用一般用於學習使用,下圖中左上角的區域即為反匯編區域 ,用戶可以根據匯編指令,分析程序演算法,然後自己編寫代碼。
通過這個實例 ,相信應該能理解一個大致的流程啦。