操作系统:Ubuntu16.04 TLS
单片机:STC的STC89C52RC系列及 Atmel的AT89S52...
所需工具:
1.编辑器- Vim(不钟情于IDE,个人喜好,高手勿喷)
2.编译器- SDCC(sudo apt-get install sdcc安装)
3.转换程序 - hex2bin(http://sourceforge.net/projects/hex2bin/files/?source=navbar)源码安装
4.烧录程序 - gSTCISP(http://sourceforge.net/projects/gstcisp/files)源码安装
安装步骤:
1.sdcc----命令行下输入sudo apt-get install sdcc。编译led.c:
$ sdcc led.c
生成led.ihx,使用sdcc自带命令packihx led.ihx > led.hex,生成led.hex。2.Hex2bin-----百度或者Google,在SourceForge上,下载Hex2bin-1.0.10需从源码安装,
$ tar jxvf Hex2bin-1.0.10.tar.bz2,然后
$sudo make install即可。因为gSTCISP只能烧录bin格式文件,所以使用hex2bin将led.hex转换成led.bin:
$ hex2bin led.hex 生成led.bin,完成编译和文件转换之后,就差把bin文件刷入单片机了。
3.gSTCISP-----百度,下载gSTC-ISP_v1.0.tar.gz源码安装,
$ tar xvf gSTC-ISP_v1.0.tar.gz
,解压后进入gSTC-ISP_v1.0目录,源码安装一般都是./configure, make, make install , 不过安装时会提示vte.h无法找到等错误,需
$ sudo apt-get install libvte-dev
,然后复制/usr/include/vte-0.0/vte/中的与vte有关的所有文件到解压后的目录gSTC-ISP_v1.0/src/中,并将gSTC-ISP_v1.0/src/main.c中的#include <vte/vet.h>改为#include <vte.h>,然后
$ ./configure
$ make
$ make install
编译完成后,把单片机的电源关掉,把串口接上电脑,然后以管理员身份运行gSTCISP,即: $ sudo gSTCISP 运行,选择bin文件,下载程序到单片机上,如图:
SDCC 的语法格式和Keil不同,编程格式比较具体用法见附件,初学,敬请批评指正。