歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 下 STC89C52RC 開發環境的搭建

Linux 下 STC89C52RC 開發環境的搭建

日期:2017/2/28 13:58:39   编辑:Linux教程

第一次接觸單片機,自然選擇了簡單的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

Copyright © Linux教程網 All Rights Reserved