Linux系统下51单片机开发环境配置

因为现在使用linux的桌面系统进行办公,用虚拟机或者装双系统切换着实不方便。

文章目录

  • 需要的工具
  • 头文件位置
  • c文件编写
  • 编译
  • 烧录
  • 配置中可能会出现的挫折
    • 1.ch340驱动问题
    • 2.stcgal问题

需要的工具

sdcc

#51mcu等各种较老式的mcu的c语言编译器#我使用的是deepin linux
sudo apt install sdcc #可能版本不是最新的但是对市面上的51系列单片机够用#还可以自己下载编译,但是不推荐,总会有点解决不了的小问题
http://sdcc.sourceforge.net/snap.php#Linux

stcgal

#一个python编写的程序烧写器#最好在root中安装这个包
sudo pip3 install stcgal#这个工具有点小问题,待会再说

头文件位置

#如果用apt 下载的sdcc
#头文件在
/usr/share/sdcc/mcs51
使用的时候调自己手里51单片机的型号就行,不知道就用<mcs51/8052.h>这个通用兼容的头文件就行

c文件编写

#include<mcs51/8052.h>void main(){//寄存器位的赋值还有中断函数与keil不太一样,但是差别不大,编写的时候查百度就行P2_0 = 0;while(1);}

编译

sdcc main.c#产生的烧录文件
main.ihx

烧录

sudo python3 -m stcgal -P stc89 /home/username/main.ihx [-b 115200] 传输波特率可选设置默认 19200
#有些51单片机到这会出问题

配置中可能会出现的挫折

1.ch340驱动问题

检查你的系统ch340驱动是否没问题(之前确保你的数据线没问题)

ls /dev/tty* | grep USB0
#出现 ttyUSB0 说明驱动好使
#啥都没有说明驱动有问题

有些版本的linux中,没有ch340的驱动,系统无法识别你开发板usb接口

下载驱动包

https://www.wch.cn/download/CH341SER_LINUX_ZIP.html

先不要着急编译,这里的c文件只支持到3.几的版本,其实我们只需要的是其中的makefile文件

再到

https://elixir.bootlin.com/linux/v5.10.113/source/drivers/usb/serial/ch341.c

中找到你系统内核版本的ch341.c文件

uname -r 可以查到内核版本

将找到的ch341.c内容 复制到驱动包中 改名为ch34x.c 将原来的ch34x.c替换。

到驱动包中,编译并加载内核

sudo makesudo make load

查看内核是否加载成功

lsmod | grep ch
#出现 ch34x 的字样就是成功了

再查看驱动是否安装成功

ls /dev/tty* | grep USB0
ttyUSB0

2.stcgal问题

当你进行烧录的时候

sudo python3 -m stcgal -P stc89 /home/username/main.ihx

一直在等待上电重启

Waiting for MCU, please cycle power:

或使用默认类型时

sudo python3 -m stcgal /home/username/main.ihx

出现

Waiting for MCU, please cycle power: done
Protocol detected: stc89
Protocol error: packet checksum mismatch
Disconnected!

不要怕,这不是你差步骤或者别的问题,是stcgal的问题

查了很多是 BSL version的问题,虽然我也不知道这个是个什么东西但是只有下一个有stc89a类型的stcgal就解决了

git clone https://github.com/nrife/stcgal.git

再用这个 git下来的包中的stcgal.py来指定stc89a这个类型

sudo python3 stcgal.py -P stc89a /home/username/main.ihx

你的第一linux下写的51程序就烧好了!!!

Linux环境下开发51单片机相关推荐

  1. 在桌面Linux环境下开发图形界面程序的方案对比

    在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的 ...

  2. Linux环境下开发板Tiny4412应用,实现交叉编译及minicom的调配,将代码编译后下载到开发板并运行

    一.实验目的 1.熟悉Linux环境,学习使用命令行操控计算机系统,学会基础的ubuntu机器操作. 2.初步学习使用开发板Tiny4412,查看实验说明以及开发板说明书,学习基本使用步骤. 3.安装 ...

  3. 嵌入式LINUX环境下视频采集知识

    Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版.V4L2是linux操作系统下用于采集图片.视频和音频数据的API接口,配合适当的视频采集设备和相应的 ...

  4. linux如何运行java程序,Linux环境下运行简单java程序

    一.安装java 1.下载jdk8 选择对应jdk版本下载.(Tips:可在Windows下载完成后,通过FTP或者SSH到发送到Linux上) 2. 登录Linux,切换到root用户 su roo ...

  5. linux视频采集软件,嵌入式LINUX环境下视频采集

    Video for Linux two(Video4Linux2)简称V4L2,是V4L的改进版.V4L2是linux操作系统下用于采集图片.视频和音频数据的API接口,配合适当的视频采集设备和相应的 ...

  6. linux 8051 编译,[编译] 3、在Linux下搭建51单片机的开发烧写环境(makefile版)

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  7. linux中板子烧写环境配置,3、在Linux下搭建51单片机的开发烧写环境(makefile版)...

    星期二, 10. 七月 2018 01:01上午 - beautifulzzzz 一.SDCC(Small Device C Compiler)编译环境搭建 SDCC是一个小型设备的C语言编译器,该编 ...

  8. 零基础 Ubuntu 20.04.01 下搭建51单片机开发环境[开源编译器SDCC]

    原创首发于CSDN,转载请注明出处,谢谢! 文章目录 为何会在Linux下开发单片机 个人系统环境与所用开发板 安装开源编译器 sdcc STC MCU ISP 闪存工具 stcgal 的安装 单片机 ...

  9. linux开发 stc_Linux环境下搭建STC单片机平台的指南

    Linux 环境下的头文件定义 编译文件以及转换bin文件等 操作系统:Ubuntu16.04 单片机:STC89C52RC 所需工具: 1.编辑器 - vim 2.编译器 - sdcc 3.转换程序 ...

最新文章

  1. TOA定位算法的FPGA实现
  2. 比较Java 8中的命令式和功能性算法
  3. Problem J: Island Buses
  4. php用空格分隔的字符串对比,探讨各种PHP字符串函数的总结分析
  5. linux 启动tomcat 怎么显示日志文件,随着LINUX的启动,打开一个终端显示TOMCAT的日志文件,请问如何做到?...
  6. 内含福利 | 我们“偷”来了一座航站楼。9.21, HAY!18等你来候机!
  7. 快速阅读之眼球的训练
  8. arcgis怎么压缩tif文件_PDF文件怎么压缩才能变小?这样压缩,真的很简单!
  9. 如何进行音频合并?很简单,只需三步骤
  10. Alfred神器使用手册
  11. ENGLISH-英文进修
  12. 深入理解8583协议
  13. Mybatis-Plus整理知识点01
  14. 泰山OFFICE技术讲座:Times New Roman的kerning研究
  15. C++ Cstring类型使用
  16. 看漫画学python下载_漫画批量下载
  17. matlab qpsk 星座图,【求助】如何画QPSK信号的星座图?各位高手帮帮忙啊!小弟...
  18. cpu_only openpose Windows环境搭建
  19. 共享内存—shmget参数shmflg详解—IPC_CREAT、IPC_EXCL、0666(对内存的读写执行权限)
  20. java基础篇 第1章 计算机、程序和java概述 学习笔记 - 副本

热门文章

  1. Springcloud五大神兽流程图
  2. 关于手机Camera的硬件电路知识
  3. 脑机接口信号基本操作回顾
  4. 广州外援斯贝茨被CBA公司停赛4场 罚款10万元
  5. ProBuilder快速关卡建模实践
  6. 【大数据】利用Python进行Hbase查询的简易指南
  7. 4x4矩阵键盘扫描c语言程序,单片机4*4矩阵键盘扫描程序(c语言+汇编语言2个版本)...
  8. Beaglebone Black基本操作(Debian)
  9. 四个步骤教你入门Selenium+python脚本编写
  10. 【Mysql数据库全套教程笔记-SELECT使用篇】