当前位置:首页 > 单片机 > 单片机
[导读]在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了。

在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了。

第一步:安装交叉编译工具

a) 安装SDCC

sudo apt-get install sdcc

b)测试SDCC是否可用,这是个网上找的简单的流水灯代码 test.c, 用来测试

#include "8051.h"

#define uint unsigned int

#define uchar unsigned char

uchar tab[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

void Delay(uint xms)

{

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--);

}

void main()

{

uchar i;

while(1)

{

for(i=0;i<8;i++)

{

P1 = tab[i];

Delay(100);

}

}

}12345678910111213141516171819202122232425

编译它: sdcc test.c

会生成这么多的文件:

test.lk test.map test.rel test.sym test.asm test.ihx test.lst test.mem test.rst

我们只需要其中的 test.ihx

packihx file.ihx >file.hex 转换为hex文件

接着下载hex2bin文件,网址(http://sourceforge.net/projects/hex2bin/files/latest/download)。命令:hex2bin sourcefile.hex。之后就会生成sourcefile.bin文件。

hextobin file.hex 生成bin文件

注意:为了方便以后调用hex2bin,可以将路径加入到 .bashrc文件

在~/.bashrc最后一行加上Hex2bin 所在的文件夹位置

PATH=$PATH:/home/leo/workspace/c51/Hex2bin-2.31

可以写个makefile文件,编译方便些

这是我写的makefile:

test.hex : test.c

sdcc test.c

packihx test.ihx > test.hex

hex2bin test.hex

clean:

rm -rf *.asm *.lst *.mem *.rst *.lnk *.rel *.sym *.ihx *.hex *.map

~ 1234567

第二步:安装烧写工具

a)下载stcflash:github.com/laborer/stcflash,这是个用python写的向单片机烧写bin文件的软件

b)安装环境:sudo apt-get install python-serial

c)烧写 : sudo python ./stcflash.py test.bin

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

双系统将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对双系统的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 双系统 Windows Linux

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

安装Linux操作系统并不复杂,下面是一个大致的步骤指南,以帮助您完成安装。1. 下载Linux发行版:首先,您需要从Linux发行版官方网站下载最新的ISO镜像文件。

关键字: Linux 操作系统 ISO镜像

计算机是由一堆硬件组成的,为了有限的控制这些硬件资源,于是就有了操作系统的产生,操作系统是软件子系统的一部分,是硬件基础上的第一层软件。

关键字: Linux 操作系统 计算机

Linux操作系统是一套免费使用和自由传播的类Unix操作系统,通常被称为GNU/Linux。它是由林纳斯·托瓦兹在1991年首次发布的,并基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Lin...

关键字: Linux 操作系统

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

所谓进程间通信就是在不同进程之间传播或交换信息,它是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息;还可以让一个程序能够在同一时间里处理许多用户的需求。

关键字: Linux 进程通信 编程接口

串口通信作为一种最传统的通信方式,在工业自动化、通讯、控制等领域得到广泛使用。

关键字: Linux 串口通信 通讯

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

2023年11月16日: MikroElektronika(MIKROE) ,作为一家通过提供基于成熟标准的创新式硬软件产品来大幅缩短开发时间的嵌入式解决方案公司,今天宣布推出一款基于单线设备的软硬件开源解决方案Cli...

关键字: 嵌入式 Linux 操作系统
关闭
关闭