您的位置:首页 > 运维架构 > Linux

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

2017-04-21 10:48 525 查看




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

首推(简单方便高效):
在linux下开发51单片机的简单方法

其次(附带IDE的环境):
Linux下构建stc51单片机开发环境




安装: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 18f25k50
18f25k80 18f26j13 18f26j53 18f26k22 18f26k80 18f27j13 18f27j53
18f43k22 18f44k22 18f45k22 18f45k50 18f45k80 18f46j13 18f46j53
18f46k22 18f46k80 18f47j13 18f47j53 18f65j94 18f65k22 18f65k80
18f65k90 18f66j93 18f66j94 18f66j99 18f66k22 18f66k80 18f66k90
18f67j93 18f67j94 18f67k22 18f67k90 18f85j94 18f85k22 18f85k90
18f86j72 18f86j93 18f86j94 18f86j99 18f86k22 18f86k90 18f87j72
18f87j93 18f87j94 18f87k22 18f87k90 18f95j94 18f96j94 18f96j99
18f97j94

==> 55 devices are *not* supported

    185 devices
are 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命令:





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){

    unsigned
char 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


输入完命令后,会提示等待单片机信号,这时候打开单片机电源,不一会儿程序就下载到单片机里面去了。




实际单片机运行:








成功烧录程序后的截图

2、采取IDE模式搭建平台

这个IDE还能开启全屏模式:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: