Linux下51单片机编译烧录平台搭建…

来源:互联网 发布:通信网络管理系统 编辑:程序博客网 时间:2024/05/17 02:35
Linux下51单片机编译烧录平台搭建资料汇总

软件相关网站:
SDCC - SmallDevice C Compiler
laborer/stcflash(GitHub) 点击右边的Download ZIP进行下载

首推(简单方便高效):
在linux下开发51单片机的简单方法
其次(附带IDE的环境):
Linux下构建stc51单片机开发环境
Linux下51单片机编译烧录平台搭建资料汇总
安装:apt-get install mcu8051ide(文件很大,网速很慢,安装过程还是很坑很痛苦的)


其他方法:
Linux平台51单片机环境搭建(LOFTER)
Linux下89c51单片机开发环境部署(编译器as31+模拟器emu8051+反编译dis51+程序写入cycfx2prog)
在Linux下面开发51单片机(数码之家)

1采取简单模式搭建平台,操作
第一步使用sdcc的源码安装sdcc。
./configure以后出现错误: boost library not found
解决办法:(链接:Contiki学习笔记——被逼无奈转战Ubuntu)
apt-get install libboost-graph-dev
中途可能需要update。
apt-get update

之后即可进行sdcc源码的编译,编译过程中出现问题:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!
!!! WARNING: The installed gputils do not support all
!!! PIC devices currently supported by SDCC.
!!! If you continue to build SDCC, library files for the
!!! following devices will not be built, and you will
!!! not be able to compile any projects for these devices:
!!!

 18f23k22 18f24k22 18f24k50 18f25k22 18f25k5018f25k80 18f26j13 18f26j53 18f26k22 18f26k80 18f27j13 18f27j5318f43k22 18f44k22 18f45k22 18f45k50 18f45k80 18f46j13 18f46j5318f46k22 18f46k80 18f47j13 18f47j53 18f65j94 18f65k22 18f65k8018f65k90 18f66j93 18f66j94 18f66j99 18f66k22 18f66k80 18f66k9018f67j93 18f67j94 18f67k22 18f67k90 18f85j94 18f85k22 18f85k9018f86j72 18f86j93 18f86j94 18f86j99 18f86k22 18f86k90 18f87j7218f87j93 18f87j94 18f87k22 18f87k90 18f95j94 18f96j94 18f96j9918f97j94
==> 55 devices are *not* supported
    185 devicesare supported

!!!
!!! Please update your gputils to a recent snapshot and
!!! run configure again using the updated gputils. Make
!!! sure to have them in PATH prior to the previously
!!! found ones (or remove the older version completely).
!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

需要下载gputils,使用命令:
apt-get install gputils
完成后即可顺利configure,make,make install sdcc。
成功后的截图,输入sdcc命令:

Linux下51单片机编译烧录平台搭建资料汇总

python程序也顺带装好了,按照操作来执行即可。
使用单片机开发板买来赠送的样板程序,头文件稍作改动,改成8052.h
#include<8052.h>
void delay(unsigned int i);  //声明延时函数

main(){
  P1  = 0x00; //置P0口为低电平
  delay(600); //延时
  P1  = 0xff; //置P0口为高电平
  delay(600); //延时
}


void delay(unsigned int i){
    unsignedchar j;
    for(i; i> 0; i--)
       for(j = 255; j > 0; j--);
}

存为main.c格式,使用命令行编译:
sdcc main.c
packihx main.ihx main.hex
objcopy -I ihex -O binary main.hex main.bin
编译完成后,用下载的python烧录程序stcflash.py进行下载。下载之前,单片机链接电脑,但是不要打开单片机电源
sudo python stcflash.py main.bin
输入完命令后,会提示等待单片机信号,这时候打开单片机电源,不一会儿程序就下载到单片机里面去了。
Linux下51单片机编译烧录平台搭建资料汇总
实际单片机运行:
Linux下51单片机编译烧录平台搭建资料汇总

Linux下51单片机编译烧录平台搭建资料汇总




成功烧录程序后的截图


2、采取IDE模式搭建平台
这个IDE还能开启全屏模式:
Linux下51单片机编译烧录平台搭建资料汇总


0 0
原创粉丝点击