2021-05-12 14:32:11
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
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-08/122092.htm
相關文章