操作系统: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不同,编程格式比较具体用法见附件,初学,敬请批评指正。

Linux(Ubuntu12.04)上玩儿STC单片机(转)的更多相关文章

  1. Linux (Ubuntu12.04) 下开发工具安装和使用

    Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...

  2. 在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析

    笔者已经写了一篇关于安装"VMware Tools",以实现文件共享的文章,那篇文章对于你实现共享操作是足够了, 所以,倘若你赶时间不如直接去在虚拟机的linux中利用VMware ...

  3. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  4. Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决

    Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...

  5. (转)Ubuntu12.04上NFS Server安装使用过程

    原文链接:Ubuntu12.04上NFS Server安装使用过程 实现步骤: 1.服务器端:sudo apt-get install portmap2.服务器端:sudo apt-get insta ...

  6. Ubuntu12.04 上使用perl snmpwalk问题

    今天在Ubuntu12.04上使用perl来获取snmp数据,运行时出现下列问题.解决方法安装一下libnet-snmp-perl即可.命令行运行:sudo apt-get install libne ...

  7. Linux Ubuntu12.04下安装OpenCv2.4.10

    参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...

  8. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  9. Putty远程登录VMware虚拟机Linux(Ubuntu12.04)

    为了不至于来回在Win7和Ubuntu12.04之间来回切换,在Win7下使用VMware9.0安装了Ubuntu12.04. 首先下载Vmware9.0虚拟机软件,下载地址为:VMware-work ...

随机推荐

  1. nginx高效学习方法

    nginx高效学习方法 nginx做为一个高性能的web服务器,相对于apache等服务器来说它的代码量并不是非常庞大,反而非常精简.看过nginx源码的人都知道,nginx将“一切皆为模块”和“所有 ...

  2. Vim 命令、操作、快捷键全集

    Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.Vim是自由软件. 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择 ...

  3. 关于LayoutInflater的错误用法(警告提示:Avoid passing null as the view root)

    项目中用LayoutInflater加载xml布局一直飘黄警告,上网搜了搜发现没有解释明白的,到是找到了一篇外国的博文,但是竟然是英文...幸好以前上学时候的英语不是很差加上谷歌的辅助,简单翻一下!  ...

  4. javascript高级语法学习

    可维护的代码意味着: 可读的 一致的 可预测的 看上去就像是同一个人写的 已记录 命名函数表达式 (function fn(){}) 他是表达式的原因是因为括号 ()是一个分组操作符,它的内部只能包含 ...

  5. 【DB】MYSQL相关细节

    在进行统计API模块测试时候,需要用SQL进行查询,并和API的返回结果进行对比: 而SQL中一些以前用过的细节需要记住: 补充一下show的部分用法: MySQL中有很多的基本命令,show命令也是 ...

  6. Unix线程概念、控制原语、属性

    线程: 线程基础概念: 线程在Linux中又称轻量级进程.而且它和进程都有PCB(进程控制块).可是差别是进程的虚拟地址空间是独享的,也就是每一个进程都有自己的虚拟地址空间.可是线程的PCB是共享的, ...

  7. 远程IPC种植木马

    要实现代码例如以下: ///////////////////////////////////////////////////////////////////////////////////// typ ...

  8. Scala的Class、Object和Apply()方法

    Scala中如果一个Class和一个Object同名,则称Class是Object的伴生类.Scala没有Java的Static修饰符,Object下的成员和方法都是静态的,类似于Java里面加了St ...

  9. 8个很实用的在线工具来提高你的Web设计和开发能力

    近期在网上看到一张帖子感觉不错.只是是英文版的今天闲着没事锻炼一下英语能力分享给大家看看! 原文地址:http://webdesignledger.com/tools/8-useful-online- ...

  10. js Object.create 初探

    1.作用 Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. https://developer.mozilla.org/zh-CN/docs/W ...