Linux(Ubuntu12.04)上玩儿STC单片机(转)
操作系统: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单片机(转)的更多相关文章
- Linux (Ubuntu12.04) 下开发工具安装和使用
Linux (Ubuntu12.04) 下开发工具安装和使用 这里讲述的是关于在ubuntu12.04下面安装和使用各种IDE 开发环境和初步使用的知识.说一下背景:很多的开发基本都是在linux操作 ...
- 在vmware 6.5+ubuntu12.04上安装VMware tools出现问题的分析
笔者已经写了一篇关于安装"VMware Tools",以实现文件共享的文章,那篇文章对于你实现共享操作是足够了, 所以,倘若你赶时间不如直接去在虚拟机的linux中利用VMware ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决
Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...
- (转)Ubuntu12.04上NFS Server安装使用过程
原文链接:Ubuntu12.04上NFS Server安装使用过程 实现步骤: 1.服务器端:sudo apt-get install portmap2.服务器端:sudo apt-get insta ...
- Ubuntu12.04 上使用perl snmpwalk问题
今天在Ubuntu12.04上使用perl来获取snmp数据,运行时出现下列问题.解决方法安装一下libnet-snmp-perl即可.命令行运行:sudo apt-get install libne ...
- Linux Ubuntu12.04下安装OpenCv2.4.10
参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...
- mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战
首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...
- Putty远程登录VMware虚拟机Linux(Ubuntu12.04)
为了不至于来回在Win7和Ubuntu12.04之间来回切换,在Win7下使用VMware9.0安装了Ubuntu12.04. 首先下载Vmware9.0虚拟机软件,下载地址为:VMware-work ...
随机推荐
- nginx高效学习方法
nginx高效学习方法 nginx做为一个高性能的web服务器,相对于apache等服务器来说它的代码量并不是非常庞大,反而非常精简.看过nginx源码的人都知道,nginx将“一切皆为模块”和“所有 ...
- Vim 命令、操作、快捷键全集
Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.Vim是自由软件. 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择 ...
- 关于LayoutInflater的错误用法(警告提示:Avoid passing null as the view root)
项目中用LayoutInflater加载xml布局一直飘黄警告,上网搜了搜发现没有解释明白的,到是找到了一篇外国的博文,但是竟然是英文...幸好以前上学时候的英语不是很差加上谷歌的辅助,简单翻一下! ...
- javascript高级语法学习
可维护的代码意味着: 可读的 一致的 可预测的 看上去就像是同一个人写的 已记录 命名函数表达式 (function fn(){}) 他是表达式的原因是因为括号 ()是一个分组操作符,它的内部只能包含 ...
- 【DB】MYSQL相关细节
在进行统计API模块测试时候,需要用SQL进行查询,并和API的返回结果进行对比: 而SQL中一些以前用过的细节需要记住: 补充一下show的部分用法: MySQL中有很多的基本命令,show命令也是 ...
- Unix线程概念、控制原语、属性
线程: 线程基础概念: 线程在Linux中又称轻量级进程.而且它和进程都有PCB(进程控制块).可是差别是进程的虚拟地址空间是独享的,也就是每一个进程都有自己的虚拟地址空间.可是线程的PCB是共享的, ...
- 远程IPC种植木马
要实现代码例如以下: ///////////////////////////////////////////////////////////////////////////////////// typ ...
- Scala的Class、Object和Apply()方法
Scala中如果一个Class和一个Object同名,则称Class是Object的伴生类.Scala没有Java的Static修饰符,Object下的成员和方法都是静态的,类似于Java里面加了St ...
- 8个很实用的在线工具来提高你的Web设计和开发能力
近期在网上看到一张帖子感觉不错.只是是英文版的今天闲着没事锻炼一下英语能力分享给大家看看! 原文地址:http://webdesignledger.com/tools/8-useful-online- ...
- js Object.create 初探
1.作用 Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. https://developer.mozilla.org/zh-CN/docs/W ...