編譯單片機文件
A. 單片機程序經過匯編後生成什麼文件,用它來存放什麼
單片機程序經過編譯後生成HEX代碼文件,不是匯編後,這個HEX代碼文件就是單片機可以執行的機器碼。
如下圖所示的HEX文件就是,給單片機燒錄程序時,就是要打開這種HEX代碼文件的,做模擬時也是給單片機載入這個HEX文件。
B. linux下怎麼編譯單片機c代碼,怎麼下載到51單片機上呢
1.編譯軟體用sdcc
2.sdcc不支持keil51c 的一些語法。要做以下修改:
sbitled1=P1^0; 改為 #define led1 P1_0
中斷函數interrupt改為__interrupt
單個位 P1^0 改為P1_0
若vim安裝插件YCM的話,要在.ycm_extra_conf.py加入以下兩個路徑
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
沒創建一個工程都要拷貝一份.ycm_extra_conf.py到該工程的目錄下。
3.編譯用命令
` sdcc 目標文件
4.燒錄軟體用stcflash.py,該軟體只能支持stc89c52rc,不支持stc89c52。我自己親自試過。
sudo python ./stcflash.py 目標文件
C. 學習單片機,Keil無法編譯.asm文件和.c文件
你只是打開了源文件,但是沒有將源文件導入你的工程,所以提示這個錯誤
導入文件的選項在右邊project框裡面,右鍵點Source Group 1,選Add Files... 添加你的源文件就行了
D. 單片機內部基本原理 bin文件如何跑起來 編譯器做了什麼
無論是單片機還是cpu內部主要有三種部件 ALU 控制器 寄存器。
這個要從編譯器開始講起,編譯器會給你編寫的軟體增加一個頭部,無論是MDK還是IAR等等,這個頭部是做了什麼工作那?頭部主要利用單片機寄存器上電後從FLASH將全局變數以及全局未初始化變數搬移倒RAM,增加堆棧 復位 中斷向量表 才開始從flash讀取你編寫的程序,因為編譯器已經把程序整個編碼為機器碼放在flash,有不太了解機器碼的可以再去了解,機器碼主要是運算加減搬移的那些操作,只不過單片機它就認識了。
單片機內部的控制器讀取flash的機器碼,通過內部R0-R15做數據中轉和RAM交換數據,通過ALU做運算,ALU非常擅長做邏輯的運算,寄存器是存放需要暫存處理的數據,使得它跑了起來。
編譯器----編譯器的程序----bin文件----機器碼----運行
E. 單片機:在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文件
記住步驟,慢慢就很熟練了,用快捷方式或圖標更方便
祝好
F. 編譯單片機不生成hex文件怎麼回事
你應該有protues這個軟體的吧
雙擊dsn文件用protues打開,就是protues的模擬原理圖,圖形類似於protel原理圖。
如果你打不開的話就是你的protues版本和dsn文件的版本不對。
而hex只能用在protues模擬圖里可編程的東西如8051單片機
雙擊單片機,里邊有個選項「打開文件」,你把hex文件路徑填進去,
然後就可以模擬單片機了
G. 用MPLAB IDE編譯PIC單片機程序,如何才能生成.hex文件
如果是匯編程序,直接點擊build圖標即可編譯成HEX文件。如果是C語言,因為MPLAB上沒有C編譯器,所以你還需要下載並安裝一個C編譯器。如果是PIC10/12/16等系列單片機的程序,可以用HI-TECH的PICC編譯器。如果是PIC18系列,則需要裝MICROHIP出的MCC18或者HTITECH的PICC18編譯器,如果是PIC24系列或者dsPIC系列,則需要裝MICROHIP出的MCC30或者HTITECH的PICC24編譯器
H. 單片機:怎麼從asm文件編譯出hex文件,用keil
用KEIL建立工程,設置工程選項卡的options fot target
再點OUTPUT選項卡,把Creat hex前打勾,然後將你的ASM文件添加到工程中進行編譯構造目標,在ASM的文件夾里就會產生你要的HEX文件了