前言
在windows下,有keil和stc-isp.这两个工具,都没有macos的版本,所以需要其他的工具
编辑器
因为要用到make,一般的编辑器需要涉及到环境的配置,所以直接使用vscode。
编译器
不知道macos下有多少种可以编译51的编译器,我只知道sdcc这个,需要用到homebrew来安装,关于homebrew的安装,网上有很多教程。
现在安装sdcc好像会报错,网上应该有相关的解决方案。
烧录器
烧录器有人介绍用stcflash,它是用python写的,但并没有加入pip库,所以不能用pip去安装它,只能从github上下载它的py文件,这就需要用python跑它,需要额外的配置,就比较麻烦。
另一个烧录器是stcgal,它也是用python写的,好处是它可以用pip来安装,可以直接调用。
额外
sdcc生成的是ihx文件,stcgal可以识别这个类型的文件,如果要生成hex和bin文件,sdcc自带来两个工具。
hex
packihx *.ihx > *.hex
bin
makebin *.hex > *.bin
makefile
CC := sdcc
MAKEHEX := packihx
MAKEBIN := makebin
BUILD = ./output
$(BUILD)/%.ihx: %.c
$(CC) $^ -o $@
$(BUILD)/%.hex: $(BUILD)/%.ihx
$(MAKEHEX) $^ > $@
$(BUILD)/%.bin: $(BUILD)/%.hex
$(MAKEBIN) $^ > $@
all: $(BUILD)/main.bin
.PHONY:load
load: $(BUILD)/main.ihx
stcgal -P stc89 -p /dev/tty.usbserial $@
test: $(BUILD)/main.ihx
stcgal -P stc89 -p /dev/tty.usbserial $(BUILD)/main.ihx
clean:
rm -rf $(BUILD)/*.*