STC单片机+SDCC+Stcgal(MAC环境)
1. 安装编译器SDCC: 我们在Mac上通常使用 brew 这个包管理工具,通过 brew 来安装 SDCC 的命 令:
brew install sdcc
安装结束后使用如下命令查看 SDCC 版本信息:
sdcc -v
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8 3.8.0 #10562 (Mac OS X x86_64)
published under GNU General Public License (GPL)
到此,编译器 SDCC 就安装成功了。
2. 编译代码
sdcc led.c
查看编译后文件
ls
led.asm led.c led.ihx led.lk led.lst led.map led.mem led.rel led.rst led.sym
SDCC 编译器编译完成之后,会生成很多文件,有的是中间件,有的是可以当做库提供给他人的,这里我们主要关心 led.ihx 文件,这个文件是可以烧录到单片机的可执行文件。 3.连接,驱动 我的学习板是板载USB转串口模块的,芯片是 PL2303,需要安装 PL2303 Mac 版本的驱动程序,这样通过 USB 连接到学习板后,就可以发现设备。驱动下载地址在上面的背景介绍中。CH340 芯片的同理,安装好驱动后,其他没有差别。 驱动安装后必须要重启电脑
打开终端,执行如下命令:
ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port /dev/tty.usbserial
其中 /dev/tty.usbserial 就是学习板 USB 转串口设备,一会儿要用到这个设备进行烧录。
4. 安装烧录工具 烧录工具我知道的有:stcgal 和 stcflash 这里选择 stcgal 就好。
下面来安装 stcgal,推荐使用 Python3 和 pip3 来安装 stcgal,执行如下命令:
pip3 install stcgal
可能需要读写系统目录的权限。 烧录工具就安装完成了。
5.烧录程序 回到终端,接下来我们将之前编译好的程序烧录到单片机中,使用如下命令:
stcgal -P stc89 -p /dev/tty.usbserial led.ihx
介绍一下这个命令:-P stc89 表明单片机型号,-p /dev/tty.usbserial 是我们上面查到的 USB 转串口设备,led.ihx 就是我们之前编译好的程序。
执行完上面的命令后,终端会提示你给单片机重新上电:
Waiting for MCU, please cycle power:
终端会在这里等待,知道你把单片机重新上电后,会继续执行烧录工作。重新上电后效果如下:
Waiting for MCU, please cycle power: done
Target model:
Name: STC90C516RD+
Magic: F130
Code flash: 62.0 KB
EEPROM flash: 0.0 KB
Target frequency: 23.846 MHz
Target BSL version: 4.3C
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: 188 bytes (Intel HEX)
Switching to 19200 baud: checking setting testing done
Erasing 2 blocks: done
Writing flash: 640 Bytes [00:00, 2015.33 Bytes/s]
Setting options: done
Disconnected!
至此,一个简单的跑马灯程序,经过编码 -> 编译 -> 烧录后,成功的运行在单片机上了。
如有侵权请告知
|