首页 技术 正文
技术 2022年11月10日
0 收藏 456 点赞 4,639 浏览 1540 个字

在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[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void Delay(uint xms){
uint i,j;
for(i=xms;i>;i--)
for(j=;j>;j--);
} void main(){
uchar i;
while(){
for(i=;i<;i++){
P1 = tab[i];
Delay();
}
}
}

编译它:

sdcc test.c 

会生成这么多的文件(我们只需要其中的 test.ihx):

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

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

接着下载hex2bin文件,网址(http://sourceforge.net/projects/hex2bin/files/latest/download)。

hex2bin sourcefile.hex。之后就会生成sourcefile.bin文件。

注意:为了方便以后调用hex2bin,可以将路径加入到 .bashrc文件在~/.bashrc最后一行加上Hex2bin 所在的文件夹位置:

PATH=$PATH:/home/jikexianfeng/-demo/Hex2bin-2.5

可以写个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

第二步:安装烧写工具 
a)下载stcflash: http://github.com/laborer/stcflash ,这是个用python写的向单片机烧写bin文件的软件 
b)安装环境:sudo apt-get install python-serial 
c)烧写 : sudo python ./stcflash.py test.bin

解决 ImportError: No module named ‘serial’ 问题

Traceback (most recent call last):
File "/home/jikexianfeng/51-demo/.stcflash/stcflash.py", line , in <module>
import serial
ImportError: No module named serial

解决办法(安装 serial module,这里区分python2和 python3):

sudo apt install python-pip //python2
sudo apt install python3-pip //python3

单片机成长之路(51基础篇) – 006 在Linux下搭建51单片机的开发烧写环境

安装python3的 pip3的时候,如果时国内的软件源可能安装不上,(当时用中国科学技术大学的软件源,python3-pip下载有问题),换成ubuntu官网成功下载。

安装pyserial:

pip install pyserial    //python2
pip3 install pyserial //python3

单片机成长之路(51基础篇) – 006 在Linux下搭建51单片机的开发烧写环境

可以从pyserial下载这里去获取源码进行熟悉和学习。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,360
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,852