完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前言
刚买了个MacBook Air,苦于没有keil,不想装双系统,想找个替代品,网上都说sdcc挺好用的,就搞了一下试试,感觉还不错,可能是小白吧,我感觉新手刚开始学习51,用起来跟keil应该没大差别,反正配置环境也不是很麻烦,多多益善嘛。 :) 需要的软硬件: 51开发板 芯片支持:STC 89/90/10/11/12/15/8 series 软件: sdcc CH341驱动 stcgal(烧录的) sdcc的安装 首先,你的Mac上需要先装homebrew,官方介绍上是macOS(或 Linux)缺失的软件包的管理器。 homebrew安装方法: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 1 将以上命令复制粘贴到终端,系统会自动给你安装。 等待一会,安装完成后,就可以通过它来安装很多你想要的东西,比如sdcc。 sdcc安装方法: 在终端输入 brew install sdcc 1 稍微等待一会电脑就会自动下载了,期间要注意网络通畅哦。 安装CH341驱动 CH340/CH341的USB转串口MAC OS驱动程序 下载地址:http://www.wch.cn/download/CH341SER_MAC_ZIP.html 直接点下载就好。 解压下载好的文件,双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步,最后重启电脑就行。 重启后,确认是否安装成功: 连接单片机****连接单片机 打开终端,输入 ls /dev/tty.wchu***ser* 1 如果出现 /dev/tty.wchu***serial14110 1 就代表安装成功了 其中14110代表你单片机的型号,每个单片机不一样的,而且即便是同一个单片机可能有时候也不一样。 安装烧录工具stcgal 下载地址:https://github.com/grigorig/stcgal 下载好的这个是python脚本,我们需要提前安装好python,最新版本只支持 python3,所以需要查看一下自己电脑的python版本,如果不是则需要安装python3版本。 检查python版本: 在终端输入python,如果有显示python2.几(苹果自带的一般都是2.7),那么…再装个python3吧。 都已经搞到这了,继续加油吧! 这是官网:python 下载好后,终端输入python3 ,如果出现python3.7,就代表python 安装好了. 然后安装stcgal,点击网址,clone and download就好,下载后解压 终端输入 ./setup.py build 1 以构建并再输入 sudo ./setup.py install 1 来安装 stcgal,安装完成后,总体环境就配置好啦! 如果其中出现错误,可能是终端目录在个人文件夹,输入 cd … 试一下,或者把文件夹移到上一级的路径。 编译代码 先写一段跑马灯代码试一下,我用的是textmate,最后保存成.c文件就好,保存在个人目录下,最好在里面创一个文件夹,专门放这些文件,用时输入 cd 文件名 就ok。 #include <8052.h> void delay_ms(unsigned int ms) { unsigned char i; while (ms--) { for (i = 0; i < 120; i++) ; } } void main() { unsigned char i; while (1) { P1 = 0xff; i = 8; while (i--) { P1 = P1 << 1; delay_ms(300); } P1 = 0xff; i = 8; while (i--) { P1 = P1 >> 1; delay_ms(300); } } } 保存好后,假设你保存后名称是是 pmd.c 终端cd 文件夹名称 ,进入文件所在的位置。 输入 sdcc pmd.c 然后进入你的文件夹,你会发现多出来好多文件,我们只关注.ihx文件就好。 之后再在终端输入 stcgal -P stc89 -p /dev/tty.wchu***serial14110 pmd.ihx pmd.c是文件名,14110,是前面说的单片机型号,其他的复制粘贴就行,输入 ls /dev/tty.wchu***ser* 就可以查看到单片机型号。 输入后会出现Waiting for MCU, please cycle power: 开关一下电源键,就OK啦! 注意事项 我用的是TX-1C开发板,刚买来的时候它的芯片是stc89c52 它的问题在于你给上电后,Waiting for MCU, please cycle power: 后面的done不会显示出来,这是因为stcgal不支持,后来我上tb花了4块钱买了个stc89c52RC芯片,一切就恢复正常了。 |
|
|
|
只有小组成员才能发言,加入小组>>
2494 浏览 0 评论
1057浏览 2评论
673浏览 1评论
439浏览 0评论
175浏览 0评论
284浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-6 07:26 , Processed in 1.429286 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号