python烧录单片机_mac实现烧写51单片机

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

自从01年家里有了电脑,一直用windows系统,也算是熬过了95,98,xp,vista,win7到现在的win10。实话说一下基本开电脑只为了玩游戏而已。偶尔悔恨浪费时光痛定思痛的时候,还会换一换linux系统。02年的红旗linux版本,第一次接触唯独钟情右下角菜单栏的工作区切换,感觉很酷,可以在不同工作区开各种界面,虽然当时懵懂除了知道晃晃鼠标点点不会的软件外,但那感觉不亚于dos用户第一次接触win95时感觉惊为天人一般。然而痛定思痛的时间屈指可数,还不如玩玩cs,红警来的更实在。谁让小伙伴总喜欢拉着我去镇上唯一一个网吧联机玩cs半条命呢。

高中有了自己的一个笔记本,联想g450。那也是我暑假辛辛苦苦跳街舞,跟着舞团出去接商演,辛辛苦苦赚了200块钱,加上我妈给我的3000块钱买的呢,深感赚钱不易,所以下定决心要好好学点厉害的技术,去校外住的小伙伴家里安装了ubuntu 8.04,从那以后,整个高中三年,一共开电脑4次。到了大一,换回了win后,偶尔宿舍打打cs,更多的还是跑外边网吧撸啊撸。至于软件专业所学的内容,都是在win下完成的。

系统学习linux应该是在毕业后参加工作时,上班做服务器运维,也是小地方电话销售类服务器,winserver系统,小问题不用我,大问题上面有人。一天除了上班lol开黑到下班,回家和同事骑山地车山上遛个弯回家外。感觉一个月拿着4k多工资混吃等死了。偏偏自己还总是想搞出点技术的东西。饭后就会打开我的惠普pavilion 13笔记本,学ubuntu linux。这时候的版本是14.04。

一直想有一款macbook笔记本,奈何价格实在是自己不能接受的,原因嘛,拿了5个月运维的工作后就跑去当咖啡学徒去了,月薪一千多不敢花的太过。直到16年自己开咖啡店,顺手入了15款macbookpro。初次使用,仿佛又找回了dos换95,linux换win时的感觉。不用说,mbp的外观是我最心仪的样式,其次系统的丝滑程度,比德芙用热水化掉还丝滑。unix系统是学linux历史的时候就知道的,linux软件都可以在mac的brew下找到。然而当时开店繁忙,每天也只有晚上拿出来,上了steam玩会csgo就收起来了。

直到现在换了17款mac,我又来痛定思痛了,决定要好好学学感兴趣的单片机。一个骑行过羌塘和5条进藏线懂咖啡的单片机工程师,听着也蛮酷的嘛。废话不多说了,开始正题:

硬件:

macbookpro 13 版本10.13.6

51开发板 串口芯片为CH340G 51单片机为STC89C52RC

所需软件:

sdcc

stcgal

CH340驱动

一、sdcc编译软件

sdcc(Small Ddevice C Compiler)是一个优化的ANSI-C交叉编译器。当写好51单片机的c文件后,在终端输入sdcc *.c即可编译程序,默认会编译出很多目标文件,我们只需要.ihx后缀的文件即可。

安装方式有两种:

通过终端Homebrew直接安装,前提是系统安装过Homebrew(官网:https://brew.sh/index_zh-cn)

只需要在终端输入:brew install sdcc

2.通过sdcc官网安装(http://sdcc.sourceforge.net/)

左侧Snapshots选择Mac OS X,下载所需版本

下载文件为.tar.bz2格式压缩包,在终端中进入Download目录下,输入:tar -jxvf ***.tar.bz2

解压完成,Download目录下会出现sdcc文件夹。

查看adcc安装文档:cat ~/Downloads/sdcc/share/doc/sdcc/INSTALL.txt

查看安装文档后,只需将解压的sdcc文件夹拷贝到/Library/Developer目录下即可

注意:/Library文件夹为系统目录文件夹,执行复制时需要管理员权限,所以要加sudo,执行过程中需要输入密码,终端下输入密码是不显示的。sdcc为文件夹,cp复制命令复制文件夹需加参数-r。

查看sdcc版本:/Library/Developer/sdcc/bin/sdcc -v

版本为3.4.3,比brew安装的3.7要低。

将sdcc命令添加到环境变量中。编辑~/.bash_profile

末尾添加如下:PATH=”/Library/Developer/sdcc/bin:${PATH}”

即可在终端直接输入sdcc -v查看版本号,无需每次输入/Library/Develper/sdcc/bin/sdcc -v

以上编译工具sdcc即安装完毕。推荐新手直接brew安装,对软件有强烈的控制欲的可以尝试官网下载工具包,安装包位置可随意放置,并不一定放到Library/Developer目录下。

删除sdcc,第一种终端输入:brew uninstall sdcc 即可。第二种删除/Library/Developer/目录下的sdcc文件夹即可:sudo rm -r /Library/Developer/sdcc

二、安装stcgal工具

stcgal是针对STC单片机的命令行烧录脚本,基于python。

根据安装介绍,stcgal需要python3.2以上。mac自带python2.7,而且很多mac系统功能需要使用自带的python2.7。所以自带python最好不要动。python官网(https://www.python.org/getit/)下载

python3.7 for mac

安装成功后终端输入python3 -V。输出版本为3.7即安装成功。

github下载stcgal(https://github.com/grigorig/stcgal)

解压压缩包:tar xvf ~/Downloads/stcgal-master.zip后进入解压的文件夹内

根据安装介绍,终端内先执行:./setup.py build 然后执行:./setup.py install

stcgal的位置在/Library/Frameworks/Python.framework/Versions/3.7/bin/下,进入该目录执行./stcgal会出错,提示:

错误:ModuleNotFoundError:No module named ‘tqdm’ 解决办法:安装tqdm模块

pip3 install tqdm

输入./stcgal -P stc89 -p /dev/tty.wchusbserial1460(tty.wch******为CH340驱动的设备号,下文介绍)

连接成功,stcgal就安装好了。每次进入stcgal目录下执行./stcgal来烧录太麻烦,那么直接将./stcgal的环境变量添加到.bash_profile文件中。

编辑~/.bash_profile文件 在末尾添加如下:

alias stcgal=/Library/Frameworks/Python.framework/Versions/3.7/bin/stcgal

保存后,终端输入:source ~/.bash_profile

以后在烧录的时候直接输入stcgal -P stc89 -p /dev/tty.w***** *.ihx就可以了。

三、CH340驱动

因为mac下找不到CH340驱动,win下好像也是,所以安装CH341驱动,根据文档,这个驱动兼容CH340芯片。所以官网可直接下载安装

http://www.wch.cn/download/CH341SER_MAC_ZIP.html

安装完成后电脑需重启。重启后电脑连接单片机后,终端输入:ls /dev |grep tty.*

tty.wchusbserial1460就是驱动的设备号,说明安装成功并识别CH340芯片了。

至此编译,烧录环境就都安装好了。

接下来烧录一个已经写好的程序试验一下:t1.c //adc0832

sdcc adc0832.c //编译后输出多种文件,51单片机需要的文件后缀为.ihx。即stcgal工具将adc0832.ihx烧录到单片机中。

stcgal格式为:stcgal -P stc89 -p /dev/tty.wchusbserial1460 adc0832.ihx

-P参数后接单片机类型,有以下几种:

烧录stc89系列为-P stc89,由于stcgal并不是官方工具,所以只对部分单片机支持烧录。一下是支持的单片机种类:

亲测不支持stc89c52。上电也无法检测出单片机。

虽然可以烧录部分单片机,但mac系统还是有所不足。因为喜欢mac系统,才会如此不遗余力的折腾下去。

每天都要在咖啡店看店,没有太多的时间构思文章组织语言。你们就当我语文是体育老师教的就好啦~如有错字,请

海涵。

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210289 人正在系统学习中 相关资源:GLONASS卫星位置计算与程序实现_葛奎_glonass_卫星位置__matlab…

来源:weixin_39753584

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月3日
下一篇 2020年11月3日

相关推荐