複製鏈接
請複製以下鏈接發送給好友

sdcc

鎖定
SDCC(Small Device C Compiler)是一個優化的 ANSI - C交叉編譯器,目標CPU為基於Intel 8051, Maxim 80DS390, Zilog Z80 和Motorola 68HC08 的單片機
中文名
sdcc
外文名
Small Device C Compiler
類    型
ANSI - C交叉編譯器
CPU
Intel 8051,

sdcc軟件特點

● SDCC的sdas和sdld 是基於ASXXXX的交叉編譯工具和鏈接工具,他們都是免費開源的軟件,依據GNU General Public License (GPL) 發佈。
● 有針對特定MCU的編程語言擴展,可以高效的使用基本的硬件資源。
● 有大量的標準優化,如全局字表達式削減,循環優化(無任何操作的循環優化,歸納變量循環優化,逆循環優化), 常量合併的傳播,複製傳播,死代碼刪除, 'switch'語句的轉移表優化。
● 針對特定MCU的優化,包括全局寄存器分配算法。
● 特定MCU後端適應能力,能夠很好的適配其他的8位的MCU。
● 基於獨立規則的監視口優化器。
● 全範圍的數據類型支持:char(8位,1字節),short(16位,2字節),int(16位,2字節),long(32位,4字節)和float(4字節IEEE標準)。
● 能夠允許在函數的任意地方嵌入彙編語句。
● 能夠報告函數的複雜度,以幫助決定什麼地方應該用匯編語句重寫。很好的選擇自動迴歸測試

sdcc語法擴展與Keil的不同之處

語法擴展 項目
SDCC
Keil
擴展關鍵字名稱
以兩個下劃線開頭,如__interrupt, __bit
無需下劃線
特殊功能寄存器(SFR)的聲明方式
__sfr __at 0x80 Jcqmz;
sfr Jcqmz = 0x80;
特殊功能寄存器位尋址的聲明方式
__sbit __at 0x87 wei;
sbit wei = Jcqmz ^ 7;
中斷服務(ISR)函數的鏈接
需要在main函數前聲明
不需要

sdcc其他信息

SDCC同時帶有一個源代碼級調試工具SDCDB,使用的是Daniel's s51 仿真器當前版本。
SDCC是由Sandeep Dutta 所寫的,並依據GPL license 發行。
自首次發行以來修復了幾處bugs並增加了一些改進。在1999年12月,SDCC源代碼移到SourceForge ,那裏所有的“users turned developers “都可以獲得同樣的代碼結構樹。
SDCC在用户和開發者共同投入下持續更新。
AVRGBZ80系列單片機不再支持。

sdcc其他解釋

Secure Digital Card Controller
San Diego International Comic-Con(簡稱SDCC)聖迭戈國際動漫展