常用的8位8051编译方案通常需要建立工程,或者联网下载大量运行库,在临时搭建、教别人搭建时较为麻烦。
这里介绍一种Windows下的极简、快速的开发方法,适用于对代码较为熟练,或者代码量很小,不需要代码补全的情况,软件甚至可以放在U盘里。
需要准备的软件:
- STC的ISP软件:用于生成SDCC用的头文件、烧录单片机、串口调试等。
- SDCC编译器:默认会自动添加到PATH,前不久已更新到4.5.0。
- 轻量文本编辑器:如记事本、NotePadNext等,用于编辑代码。还有很多同类文本编辑软件可参考此网址。
新建一个文件夹存放工程所有.c, .h文件(可以有子文件夹),并在其中建立一个.bat后缀的批处理文件用于编译:
- @echo off
- 2>nul md build
- set objs=
- for /r %%f in (*.c) do sdcc %%f -I. -c -o "build\%%~nf.rel"&&call set objs=%%objs%% "build\%%~nf.rel"
- sdcc %objs% -o build\output.hex&&type build\output.mem
- pause
复制代码
解释:会自动建立build文件夹,递归搜索所有.c文件编译为.rel文件,并链接为output.hex文件。可使用STC的ISP软件下载(可勾选“当目标文件变化时自动装载并发送下载命令”)。
如果工程较小,每次都编译所有文件并不会花费很长时间。
如需清除生成的文件,关闭STC的ISP软件,再删除build目录即可。
如果只有一个.c文件,可以将文件拖到以下批处理上,直接编译成.hex文件:
- @echo off
- 2>nul md build
- sdcc %1 -o "build\%~n1.hex"&© "build\%~n1.hex" .&&type "build\%~n1.mem"
- pause
复制代码
该批处理还将.hex复制一份,便于保存。
|