专栏首页FreeBuf在Linux下烧录51单片机

在Linux下烧录51单片机

背景

我一直在学习Linux 系统,但是最近还要学习51单片机,所以在Linux下给51单片机烧录程序那是非常必要的。

之前在windows上使用keil十分方便,但是转移到Linux上去没有专门给单片机烧写程序的IDE了。无奈只能自己一步一步地配置咯!

看了网上一些博客发现他们写的很模糊,像我这种Linux小白真的是一头雾水,在自己捣鼓了两天之后,把自己的心得发出来,像我那些即将或者正在为此事烦恼的人能够稍微轻松一点!

正文

首先得使用USB转TTL模块给51单片机接线。

接完线之后,我们得在Linux下配置我们的开发编译环境。

首先我们得配置SDCC编译器 ,像我使用了Ubuntu,我直接使用包管理器安装。当然了你也可以去下载文件自己下来编译!

这里我贴上sdcc的网站链接文字

 sudo apt install sdcc

当然了我们有了编译器还不行。我们还需要可以给51单片机烧录程序的软件啊。哈哈。它就是stcflash,大家可以直接使用git命令去克隆到本地

解压之后会有一个名为stcflash 的可执行脚本。

我把她重新命名了一下,为了方便我直接把他重新命名为1。

之后为1添加可执行权限。

chmod +x 1

这样的话,就算没有后缀名的花也可以运行,因为在脚本第一行就已经申明了运行。同样的我贴上stcflash的github的地址。

之后我们得把它添加到环境变量里面去。

mv 1/usr/local/bin/

这时候我们得安装一个依赖,因为51单片机是使用串口下载程序的,安装一个python serial。

apt install python serial

这时候我们可以执行1(stcflash.py)这个脚本了,这时候切换到工作目录中,写一个51单片机的程序。在Linux下写的和Windows下写程序会有一些不同的地方。

比如说在Windows下引用reg51.h这个头文件就好了而在linux下我们得引用msc51/8051.h这个头文件。

当然了我们在Windows下写定义端口的的时候是使用^符号,而在Linux下要使用_符号来表示。

我在这里只是简单介绍一下如何在Linux下烧录单片机,不是来告诉你在Linux和Windows下编写程序的时候有哪些不同的,这些要注意的是我们自己要去摸索的。

编写之后我们就可以使用SDCC 编译我们的.c代码了。

sdcc main.c

但是sdcc编译出来的是.ihx文件。但是烧录51单片机是要使用.hex文件。不要怕,其实我们在安装sdcc的时候我们就已经安装了一个packihx软件 。这个软件的功能就是将.ihx文件转化成.hex文件的。

packihx  mian.ihx>main.hex

使用命令packihx之后,现在我们就有了可以烧写的了.hex文件了。

我们之前就已经把1(stcflash.py) 放到了我们的环境变量了,对就是那个我重名命为1的软件。我们在使用1这个软件的时候我们要使用root权限。当然了stcflash会自动识别我们插入的端口,但是你电脑上有多个串口的话,你可能要指定一下串口号。我这里只有这一个串口号,所以他就会自动识别,目前来看她自动识别还是听准确的。目前没啥问题!

stcflsh main.hex --port /dev/ttyusb0

我的串口号是USB0。

51 单片机是要断电重启才能烧录的,所以我们断电重启一下。

OK

完美。万事开头难,解决了第一步,大家都可以开始奔放了。

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何将Pastebin上的信息应用于安全分析和威胁情报领域

    FreeBuf百科 Pastebin是一个便签类站点,用户可以在该平台任意储存纯文本,例如代码,文字等内容。Pastebin支持的编程语言种类也非常齐全,还会自...

    FB客服
  • 全能无线渗透测试工具,一个LAZY就搞定了

    近来一直在研究无线安全方面的东西,特别是在无线渗透测试这块,每次渗透测试时总要来回不停的切换操作和挑选利器,很是麻烦。就想看看是否可以有一款功能全面的集合型工具...

    FB客服
  • WordPress插件Form Maker SQL注入漏洞分析

    最近WordPress的插件出现各种姿势漏洞(都是插件,不知何时能有核心漏洞出现),Easy WP SMTP、 Social Warfare、Form Make...

    FB客服
  • 天云数据副总经理李从武:大数据实践三部曲

    <数据猿导读> 2016中国信息大数据通信大数据大会在京召开,天云数据副总经理李从武在大会上发表了以“大数据实践三部曲”为主题的演讲。他主要格局整个大数据从平台...

    数据猿
  • vSphere 初体验之ESXi5的安装

    物理机:DELL IPTIPLEX 990 PC机      I52400处理器支持VT功能 8G内存 千兆网卡

    三杯水Plus
  • 15位顶尖思想家告诉你,未来的人类社会将会如何被颠覆

    导读:假设到了2050年,哪一项创新发明会最大程度地改变人类的生活?本文作者在海伊文学节开幕前曾邀请了15位顶尖作家和思想家回答了一个问题。

    华章科技
  • 【盘点】2016年十大数据泄露事件:社交网络成泄露重灾区

    近年来,随着互联网、大数据的爆发,数据安全已经成为时下人们最为关注的问题。数据猿小编对今年全球范围内所发生的数据泄露事件进行了梳理,并从中选出十个经典案例。

    华章科技
  • [入门]容器

    在上个世纪50年代前,当时物流远没有现代这么普及,集装箱在当时并不被认可,几乎所有货物都是通过零散方式运输。

    木禾wen
  • 教程 | Kaggle初学者五步入门指南,七大诀窍助你享受竞赛

    选自EliteDataScience 机器之心编译 参与:Panda、黄小天 Kaggle 是一个流行的数据科学竞赛平台,已被谷歌收购,参阅《业界 | 谷歌云官...

    机器之心
  • 物理自我的未来:控制论、身体交换和基因工程

    大数据文摘

扫码关注云+社区

领取腾讯云代金券