SDCC

一、前言

SDCC 全名為 small device c compiler,是一種免費的 8051 C compiler。可以到 http://sdcc.sourceforge.net/ 這個網站下載。GNU的軟體使用起來固然麻煩,但是只要進入狀況後,其實也是不錯的選擇。我使用GNU GCC for ARM 寫 arm的程式,我也試著使用SDCC這套免費的compiler幫我編譯8051的程式。雖然它的語法和keil有些地方不一樣,尤其是組合語言部份,不過大概只要一個下午的時光就可以進入狀況了。我直接在xp的環境下把SDCC安裝到根目錄,然後把 makefile改一改,把以前寫的8051程式剪剪貼貼,然後compile,覺得還蠻順手的。用SDCC寫 8051 程式時,最好有一隻make程式在身旁伺候,免得被那些編譯指令打敗。我以前覺得makefile怎麼那麼難,超不友善的,不過習慣了它的思考邏輯後,覺得makefile其實也蠻好玩、蠻有特色的。鼓勵大家一起來學makefile,經歷另一種不同的程式設計。


二、SDCC的安裝與使用

SDCC的說明網頁,介紹SDCC的由來、支援的CPU、和支援的作業系統環境。

sdcc

從SDDC的首頁,我們可以連到到下面的網頁,不過不是那麼直接的可以找到就是了。大家可以到這裡來下載 sdcc-2.8.0-setup.exe,在xp下執行安裝。之後,把sdcc從 program files的目錄複製到 c:\sdcc,即可。為什麼要做這一步的原因是,dos下不能吃 c:\program files\sdcc\bin\mingw32-make.exe 這樣的指令,遇到" program files",它就掛了。最後,到 mingw 的網頁抓 mingw32-make.exe ,放在 c:\sdcc\bin 的目錄中。SDCC和編譯工具的安裝到此算是完成了。

sdcc

SDCC安裝完成後,到程式碼的目錄下,打入 c:\sdcc\bin\mingw32-make.exe ,就可進行編譯的工作,如下圖所示。

sdcc

三、ECLIPSE

可以編譯程式碼後,再來就是要找到一支好的 IDE ( integrate develop enviroment )來編輯程式碼。ECLIPSE是一個不錯的選擇。以我多年使用keil ide的經歷來說,我甚至覺得ECLIPSE比一般商用的程式編輯軟體還要好用。ECLIPSE是一支開放原始碼的免費軟體,而且是完全用java寫成的,只要電腦中有灌了java runtime library,就可以執行ECLIPSE了。下面是ECLIPSE的執行畫面。左邊視窗是所有檔案放的地方,右邊視窗放著檔案中的函式的地方,中間的視窗放著當下正在編輯的程式碼。設定make.exe的路徑後,不但可以編輯程式碼,還可以編譯程式碼。至於怎麼設定make.exe的路徑呢,到 [ECLIPSE] -> [PROJECT] -> [PROPERTIES] ->[BUILBER] -> [BUILD COMMAND] 設定為 C:\sdcc\bin\mingw32-make.exe,即可。


eclipse

Java要到下圖所指示的地方下載並安裝。


java

四、結語

使用 SDCC 編譯 8051 的程式碼 ,需要 makefile 的輔助,比一般商業的編譯器還要麻煩。不過,習慣這種方式的編譯後,我覺得還好啦,不會太麻煩。而且,在Linux的環境中,編譯程式碼的時候,使用到makefile的機會很大,趁早習慣寫makefile也是件不錯的事。所以,野孩子在此鼓勵大家多碰碰makefile,不難啦。