mac系统烧录代码到STC89C52RC单片机

最近在家无聊打算研究嵌入式方面的技术,开发板买回来后发现了一个很大的问题,现在的大部分的单片机开发环境都是在window平台。作为mac系统的多年用户,实在不想去安装双系统,所以只能硬着头皮在mac平台上搭建自己的开发环境 PS:其实也就是安装mac串口驱动和烧录软件。

下面是我在某宝上面买到的开发板

https://static.ithome.io/upload/file/99493904-baf8-82d4-aa13-72ecb40fcd27/article_temp/20180407/25f65c125623cc5279ffe008f063615a.jpg

1、在mac下使用的是sdcc来编译我们的代码,所以这个是我们必须要安装的

brew install sdcc


2、安装CH341驱动,我买到的开发板上面默认已经集成了usb转串口模块,它上面使用的CH340芯片。但是在CH340官网上面我没有找到mac系统的驱动,只找到了CH341版本的mac系统驱动,根据文档说明,这个驱动也兼容CH340芯片,所以安装CH341版本的驱动就可以了。

下载地址:CH341 for mac 下载地址 http://www.wch.cn/download/CH341SER_MAC_ZIP.html

在安装驱动之前需要去系统设置里面设置允许安装来源

20180407/c7e418e6f819542ed04f1abf0ff11181.jpg


然后将下载好的 zip文件解压打开双击运行目录里面的ch34xInstall.pkg,根据提示一直点击下一步就可以了然后重启电脑。

将单片机连接到电脑上然后打开Terminal命令行窗口执行

ls /dev/tty.wchusbser*

如果输出类似下面的数据就说明驱动安装成功

wuciyous-MBP:stcgal-master wuciyou$ ls /dev/tty.wchusbser*
/dev/tty.wchusbserial1410


3、安装下载器程序

目前在linux和mac系统下使用得比较多的是stcgal

下载地址:https://github.com/grigorig/stcgal

下载好的这个是python脚本,所以我们需要提前安装python,一般情况下mac里面已经默认安装了python。

4、编写测试代码,将保存为led.c

#include <8051.h>

void main(){
        # 这里将开发板上的第一个和第三个LED灯点亮
	P1_0 = 0;
	P1_2 = 0;
}

5、使用sdcc编译程序,sdcc默认会帮我们编译出很多目标文件,这里我们只需要.ihx后缀的文件就可以,其它的文件可以删除。

wuciyous-MBP:led wuciyou$ sdcc led.c
wuciyous-MBP:led wuciyou$ ls led*
led.asm	led.bin	led.c	led.hex	led.ihx	led.lk	led.lst	led.map	led.mem	led.rel	led.rst	led.sym

6、将代码下载到开发板中,下面的参数 -P 表示使用的是stc89型号, -p /dev/tty.wchusbserial1410 表示usb串口设备 , led.ihx 是刚刚编译好的程序

wuciyous-MBP:led wuciyou$ stcgal-master/stcgal.py  -P stc89 -p /dev/tty.wchusbserial1410 led.ihx 
Waiting for MCU, please cycle power: done
Target model:
  Name: STC89C52RC/LE52R
  Magic: F002
  Code flash: 8.0 KB
  EEPROM flash: 6.0 KB
Target frequency: 11.088 MHz
Target BSL version: 6.6C
Target options:
  cpu_6t_enabled=False
  bsl_pindetect_enabled=False
  eeprom_erase_enabled=False
  clock_gain=high
  ale_enabled=True
  xram_enabled=True
  watchdog_por_enabled=False
Loading flash: 107 bytes (Intel HEX)
Switching to 19200 baud: checking setting testing done
Erasing 2 blocks: done
Writing flash: 640 Bytes [00:00, 1893.91 Bytes/s]                                                                                                                    
Setting options: done
Disconnected!


最后来一个效果图

20180407/546d2fe5f320e089f898011f04007c45.jpg


0条评论