基本介紹
- 中文名:sdcc
- 外文名:Small Device C Compiler
- 類型:ANSI - C交叉編譯器
- CPU:Intel 8051,
特點,語法擴展與Keil的不同之處,其他信息,其他解釋,
特點
● SDCC的sdas和sdld 是基於ASXXXX的交叉編譯工具和連結工具,他們都是免費開源的軟體,依據GNU General Public License (GPL) 發布。
● 有針對特定MCU的程式語言擴展,可以高效的使用基本的硬體資源。
● 針對特定MCU的最佳化,包括全局暫存器分配算法。
● 特定MCU後端適應能力,能夠很好的適配其他的8位的MCU。
● 基於獨立規則的監視口最佳化器。
● 全範圍的數據類型支持:char(8位,1位元組),short(16位,2位元組),int(16位,2位元組),long(32位,4位元組)和float(4位元組IEEE標準)。
● 能夠允許在函式的任意地方嵌入彙編語句。
● 能夠報告函式的複雜度,以幫助決定什麼地方應該用彙編語句重寫。很好的選擇自動回歸測試。
語法擴展與Keil的不同之處
語法擴展 項目 | SDCC | Keil |
擴展關鍵字名稱 | 以兩個下劃線開頭,如__interrupt, __bit | 無需下劃線 |
特殊功能暫存器(SFR)的聲明方式 | __sfr __at 0x80 Jcqmz; | sfr Jcqmz = 0x80; |
特殊功能暫存器位定址的聲明方式 | __sbit __at 0x87 wei; | sbit wei = Jcqmz ^ 7; |
中斷服務(ISR)函式的連結 | 需要在main函式前聲明 | 不需要 |
其他信息
SDCC是由Sandeep Dutta 所寫的,並依據GPL license 發行。
自首次發行以來修復了幾處bugs並增加了一些改進。在1999年12月,SDCC原始碼移到SourceForge ,那裡所有的“users turned developers “都可以獲得同樣的代碼結構樹。
SDCC在用戶和開發者共同投入下持續更新。
AVR和GBZ80系列單片機不再支持。
其他解釋
Secure Digital Card Controller
San Diego International Comic-Con(簡稱SDCC)聖迭戈國際動漫展