找回密码
 立即注册
查看: 385|回复: 3

使用SDCC的极简开发方法

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2024-03-23 15:15:15

2

主题

0

回帖

230

积分

中级会员

积分
230
发表于 2025-2-2 21:01:52 | 显示全部楼层 |阅读模式
常用的8位8051编译方案通常需要建立工程,或者联网下载大量运行库,在临时搭建、教别人搭建时较为麻烦。
这里介绍一种Windows下的极简、快速的开发方法,适用于对代码较为熟练,或者代码量很小,不需要代码补全的情况,软件甚至可以放在U盘里。

需要准备的软件:
  • STC的ISP软件:用于生成SDCC用的头文件、烧录单片机、串口调试等。
  • SDCC编译器:默认会自动添加到PATH,前不久已更新到4.5.0。
  • 轻量文本编辑器:如记事本、NotePadNext等,用于编辑代码。还有很多同类文本编辑软件可参考此网址

新建一个文件夹存放工程所有.c, .h文件(可以有子文件夹),并在其中建立一个.bat后缀的批处理文件用于编译:
  1. @echo off
  2. 2>nul md build
  3. set objs=
  4. for /r %%f in (*.c) do sdcc %%f -I. -c -o "build\%%~nf.rel"&&call set objs=%%objs%% "build\%%~nf.rel"
  5. sdcc %objs% -o build\output.hex&&type build\output.mem
  6. pause
复制代码
解释:会自动建立build文件夹,递归搜索所有.c文件编译为.rel文件,并链接为output.hex文件。可使用STC的ISP软件下载(可勾选“当目标文件变化时自动装载并发送下载命令”)。

如果工程较小,每次都编译所有文件并不会花费很长时间。
如需清除生成的文件,关闭STC的ISP软件,再删除build目录即可。

如果只有一个.c文件,可以将文件拖到以下批处理上,直接编译成.hex文件:
  1. @echo off
  2. 2>nul md build
  3. sdcc %1 -o "build\%~n1.hex"&&copy "build\%~n1.hex" .&&type "build\%~n1.mem"
  4. pause
复制代码
该批处理还将.hex复制一份,便于保存。




sdcc-4.5.0-x64-setup.exe

8.96 MB, 下载次数: 6

NotepadNext-v0.10-Installer.exe

10.77 MB, 下载次数: 9

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:232
  • 最近打卡:2025-05-02 07:37:08

0

主题

26

回帖

604

积分

高级会员

积分
604
发表于 2025-2-3 01:35:48 | 显示全部楼层
收藏备用,等厌烦keil了就用这套方法试试
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:503
  • 最近打卡:2025-05-02 08:06:55
已绑定手机

1

主题

834

回帖

1447

积分

金牌会员

积分
1447
发表于 2025-2-3 07:53:24 | 显示全部楼层
MARK
靡不有初,鲜克有终
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-02 07:55:56
已绑定手机

19

主题

3191

回帖

4872

积分

论坛元老

积分
4872
发表于 2025-2-3 17:59:53 | 显示全部楼层
sdcc作为免费软件感觉编译效率不是很好。软件延时还要重新计算。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 21:48 , Processed in 0.137750 second(s), 73 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表