ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2020-06-16 18:43:36  阅读:371  来源: 互联网

标签:__ 文件 led STC 单片机 gSTCISP Linux sbit


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运行成功!如图:

在这里插入图片描述
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系列头文件,需要自取。

标签:__,文件,led,STC,单片机,gSTCISP,Linux,sbit
来源: https://blog.csdn.net/NASA_2012/article/details/106762176

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有