首頁 > 軟體

Linux 下 STC89C52RC 開發環境的搭建

2020-06-16 17:54:47

第一次接觸微控制器,自然選擇了簡單的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

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/122092.htm


IT145.com E-mail:sddin#qq.com