Linux 下 STC89C52RC 開發環境的搭建

來源:互聯網
上載者:User

Linux 下 STC89C52RC 開發環境的搭建

第一次接觸單片機,自然選擇了簡單的51單片機。然而我的作業系統是 Linux 。在 Windows 下上手51似乎很容易。但是 Linux 上搭建 51 開發環境不是很順。

那麼談談 Linux 我如何搭建 STC89C52RC 的開發環境吧。

(一)

選擇自己喜好的代碼編輯器即可。vim , emacs , gedit 等都可以。

(二)

安裝編譯器。一般選擇 sdcc 。一般可從發行版的包管理器中直接安裝。

如Arch中:  

$ sudo pacman -S sdcc

如果不行,需要自行下載編譯。

簡單介紹使用sdcc:

假如目前的目錄有一個寫好的源檔案 main.c 。 使用如下簡單方式即可編譯。

$ sdcc main.c

產生的若干個檔案中 main.ihx 是一個產生的16進位可執行檔。後面便可以將其燒錄到單片機中。

(三)

將產生的可執行程式燒錄到單片機是需要一條下載線的。一般說來使用 USB 轉串口的下載線。插上之後,在 /dev 裡面有個裝置叫 ttyUSB* 說明可以進行後面內容。

否則你可能需要安裝 USB 轉串口的驅動。

選擇燒錄工具。網上大部分使用的是 gSTCISP 這個工具燒錄。但是在我嘗試之後,總是卡在 We are trying to connect your MCU...這個地方。

起初我還以為下載線出現問題了。後來發現不是。你可以嘗試。注意 gSTCISP 需要的是二進位檔案,因此需要把 main.ihx 轉換為二進位檔案。

一個轉換例子:

$ makebin < main.ihx > main.bin

你需要把檔案名稱更改成你自己相應檔案名稱。其他方法還有很多,自行搜尋。

  通過我測試的一個燒錄工具 stcflash 。這是一個 python 指令碼。因此你需要安裝 python 環境。大部分 Linux 發行版安裝了 python 。但是你需要安裝一個額外的運行庫 python-serial 。

$ sudo pacman -S python-serial

將下載好的 stcflash.py 放入源檔案目錄。接下來開始燒錄。

  首先關閉板子。執行

$ sudo python ./stcflash.py ./main.ihx

開啟開發板即可燒錄進去。成功結果如下:

Connect to /dev/ttyUSB0 at baudrate 2400
Detecting target... done
FOSC: 11.996MHz
Model: STC89C52RC (ver4.3C)
ROM: 8KB
Baudrate: 38400
Erasing target... done
Size of the binary: 218
Programming: #################### done

另外二進位檔案使用 stcflash 也可以燒錄進入。

sdcc :http://sdcc.sourceforge.net/snap.php#Linux

gSTCISP :http://osdn.jp/projects/sfnet_gstcisp/releases/?fulllist=1

stcflash :https://github.com/RainMark/stcflash.git

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.