1. keil目錄
asm:放置組合語言的標頭檔案,格式為xx.inc。inc是include的簡寫。
inc:放置c語言的標頭檔案,格式為xx.h。
hlp:幫助檔案。help的簡寫。
example:例子。
rtxtiny2:keil自帶的rtx51作業系統。
flashmon,mon51,mon390:目標監視器。
isd51:偵錯程式。
2. bin目錄內可執行檔案
c51.exe/cx51.exe:c語言編譯器。
a51.exe/ax51.exe:組合語言彙編器。
lx51.exe/bl51.exe:鏈結器/定位器。
lib51.exe/libx51.exe:library庫檔案管理器。
oc51.exe:banked objectfile轉換器。
oh51.exe/ohx51.exe: obj-hex轉換器。
3. ide介紹
uvision 與 ishell 分別是 c51 forwindows 和 for dos 的整合開發環境 (ide),可以完成編輯、編譯、連線、除錯、**等整個開發流程。開發人員可用 ide 本身或其它編輯器編輯 c 或彙編原始檔。然後分別由 c51 及 a51 編譯器編譯生成目標檔案 (.obj)。目標檔案可由 lib51 建立生成庫檔案,也可以與庫檔案一起經 l51 連線定位生成絕對目標檔案。絕對目標檔案由 oh51 轉換成標準的 hex 檔案。
4. c51編譯庫檔案
lib目錄中的一些庫檔案。
5. 工程專案內包含的檔案
標頭檔案.h
c 語言 .c
彙編 .asm
備份檔案 .bak
預處理檔案 .i
編譯日誌檔案.plg
列表檔案(包含編譯的有關資訊) .lst
編譯生成的目標檔案 .obj
連線日誌檔案 .lnp
連線資訊檔案(包含連線的有關資訊) .m51
絕對(位址)目的檔案 — 無字尾檔案
可執行檔案 .hex
keil的工程檔案 uvopt和uvproj
6. ide編譯過程
c 語言轉換為二進位制機械語言要經過四個過程:預處理,編譯,彙編,連線。
預處理:編譯器的預處理指令,包括巨集替代,去除注釋,包含檔案,條件編譯等;
編譯:c 語言經過編譯器轉換為組合語言;
彙編:組合語言經過彙編器轉換為二進位制;
(每個 c 語言/彙編原始檔都會生產乙個二進位制的目標檔案)
連線:將所有目標檔案通過聯結器結合在一起生成可執行檔案。
7. 命令列編譯過程——cmd
(1)編寫好源程式uart.c。
(2)命令語句:c51.exe "c:\users\john\desktop\新建資料夾\uart.c"
呼叫c51.exe對uart.c進行編譯,生成列表檔案.lst和目標檔案uart.obj。
(3)命令語句:bl51.exe "c:\users\john\desktop\新建資料夾\uart.obj"
呼叫bl51.exe對uart.obj進行連線定位,生成連線資訊檔案.m51和絕對目標檔案uart。
(4)命令語句:oh51.exe "c:\users\john\desktop\新建資料夾\uart"
呼叫oh51.exe對uart進行轉換,生成可執行檔案uart.hex。
8. 庫檔案
靜態鏈結庫.lib——包含乙個或多個目標檔案.obj 和索引資訊等的集合檔案。
一般將多個 c 語言原始檔編譯生成的目標檔案.obj 集合起來生成庫檔案使用。
鏈結器會將目標檔案.obj 與庫檔案.lib鏈結生成可執行檔案。
動態鏈結庫.dll
原始檔會生成.lib 和.dll,.lib 包含動態鏈結庫到 link 的資訊,.dll 包含具體實現的**,鏈結器會將.lib 加入可執行檔案中.exe,編譯完成後得到可執行檔案.exe 和動態鏈結庫.dll,執行.exe 時會根據需要從.dll中獲取對應的**。keil c51沒有動態庫檔案的生成。
Keil C51詳細設定
一.target名更改 開啟keil後,左側project workspace中的target可改,方法 右擊target manage compnents 雙擊待修改項即可,若要新增,使用對話方塊內對應工具欄。二.optionfor target 設定之target項 1 memary model...
Keil C51詳細設定
2013 12 10 19 41 251人閱讀收藏 舉報2010 12 30 19 54 39 分類 常用eda軟體 字型大小 訂閱 一.target名更改 開啟keil後,左側project workspace中的target可改,方法 右擊target manage compnents 雙擊待修...
KEIL C51 和 ANSI C 的區別
不同系列的嵌入式系統的c編譯器,根據它所對應的不同晶元系列有其各自的特點,在這裡,以keil公司的針對51系列的keilc51編譯器為例,簡要說明它與ansi c的主要區別,其它的編譯系統與ansi c的差別,可具體參照指定編譯系統手冊,找出它們的不同之處。清楚嵌入式系統的c編譯器與標準 ansi ...