Linux环境下搭建STC单片机平台的指南

Linux 环境下的头文件定义
编译文件以及转换bin文件等
操作系统:Ubuntu16.04
单片机:STC89C52RC

所需工具:
1.编辑器 - vim
2.编译器 - sdcc
3.转换程序 - hex2bin
4.烧录程序 - gSTCISP

安装步骤:
1.sdcc---- 命令行下输入sudo apt-get install sdcc。
2.在SourceForge上,下载Hex2bin-1.0.10需从源码安装。
tar jxvf Hex2bin-1.0.10.tar.bz2,然后sudo make install即可。
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/vte.h>改为#include <vte.h>,然后
a) $ ./configure

b) $ make
c) $ make install
编译完成后,把单片机的电源关掉,把串口接上电脑,
然后以管理员身份运行gSTCISP,即:
$ sudo gSTCISP运行成功!如图:

Linux环境下搭建STC单片机平台的指南
1.新建文件main.c:**
$ vi main.c
举例说明:
#include <stc89c52rc.h>
__sbit __at 0x80 LED; /* Keil code : sbit LED = P0^0; /
__sbit __at 0x90 ADDR0; /
Keil code : sbit ADDR0 = P1^0; /
__sbit __at 0x91 ADDR1; /
Keil code : sbit ADDR1 = P1^1; /
__sbit __at 0x92 ADDR2; /
Keil code : sbit ADDR0 = P1^2; /
__sbit __at 0x93 ADDR3; /
Keil code : sbit ADDR0 = P1^3; /
__sbit __at 0x94 ENLED; /
Keil code : sbit ENLED = P1^4; */
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR3 = 1;
ADDR2 = 1;
ADDR1 = 1;
ADDR0 = 0;
while(1)
{
for(i=0; i<10000; i++);
LED = 0;
for(i=0; i<10000; i++);
LED = 1;
}
}

2.sdcc编译源程序
$ sudo sdcc led.c
这一步将完成编译,汇编和链接的源文件.输出文件如下:
led.asm - 程序的汇编文件

led.lst - 程序的列表文件
led.rst - 被链接器更新的列表文件
led.sym - 由链接器生成的符号清单
led.rel - 由汇编器生成的对象文件,提供给链接器使用
led.map - 被链接器更新的最终存储器映射

led.mem - 内存的使用情况摘要
led.ihx - 用于生成Intel Hex格式文件模块
3.ihx文件转换成hex文件,
$ packihx led.ihx > led.hex

4.hex文件转换成bin文件,
$ hex2bin led.hex
生成led.bin文件.

5.打开gSTCISP,
烧录bin文件到单片机中,
$ sudo gSTCISP
将单片机USB线连接到电脑上,关闭单片机电源,
在gSTCISP中Port选****择/dev/ttyUSB0,波特率选9600,
目标文件选择刚才生成的led.bin,然后选择Download,
打开单片机电源,LED.bin烧录到单片机成功!
注:已上传编辑完整的SDCC_STC89C52RC系列头文件,需要自取。

上一篇:笛卡尔树


下一篇:2020-12-8 吴恩达-卷积神经网络-w3 目标检测(课后作业)