关于做C51编译器

发布时间:2026/11/5 5:18:38
关于做C51编译器 类似proteus的带界面仿真打开内置示例即可仿真支持暗色 亮色工具链正常该支持的都支持了默认兼容keil格式中断标记函数同时兼容sdcccc51sim是一个命令行仿真对AI调试有大用自带cc51new 工具生成demo工程需用vscode打开另外安装cmake、ninja再把cc51的工具链也放到path路径即可方便的编译一些文档 可以让AI去读此编译器针对AI做了优化对AI写代码、调试更加优化目前作者已经进行了较多的测试同步做了系统库支持printf实测占用rom更小。我针对性的测试做了很多轮都没有再发现真机在stc8H 以及 锦锐的单片机都已经验证过其中都写了较复杂的程序可以通过测试。强调一下工具链是奔着生产力工具来做的所以做了相当多的优化实测领先于sdcc解决了sdcc的相当多痛点与keil相比大部分场景下不输可以实测如果有异常欢迎留言反馈。地址https://download.csdn.net/download/yushikong/93805772https://gitee.com/yushikong_2021/cc51_dist以下是我开发过程的一些感想感兴趣的可以看看51系列单片机在现在看来已经越来越没性价比了作为曾经的王者是很多电子工程师的启蒙直到今天学习电子编程相关的仍是推荐先用纯血的8051开始。51系列的单片机绝大部分用keil C51开发软件剩余小一小部分用iar sdcc我已经用sdcc很多年了说实话它除了免费支持更多架构外缺点也是不少其中最受人诟病的是 不支持链接时移除死代码项目稍大一点就必须小心翼翼检查甚至还要加上很多条件编译尽量避免rom耗尽。另一个是 中断函数不是随意写的如果没有在main函数文件里写就必须在main函数文件里面包含到相关的声明不然不会执行且不报错include的自动推导也有点捣蛋不兼容gcc的格式导致写cmake时要自己想办法写各种匹配绕过。编写C51编译器肯定不能从0开始 因为作者本身知识有限对编译器的细节知道的并不多所以从sdcc开始做。下面是一些开发历程和心得。实际上来回改了很多遍也熬掉了不少头发代码大部分是AI写的。刚开始以为挺简单先创建一个rust标准工程尝试通过AI进行转制和优化但是工程太复杂了AI经常是看起来非常不错特别是开头时说的是头头是道。越到后面 就越容易自我怀疑和死循环浪费大量时间和金钱最终项目直接爆炸完全沦为垃圾没有进一步整治的价值。唯一的好处是得到了教训和经验。吸取之前教训先只让AI进行rust转制尽量1比1这样做的好处是 AI有源代码参考防止遇到问题时发散开发到一定阶段后可以输出hex固件了此时如果我手工烧录再进行验证就太难 太慢了 好在sdcc里面有个模拟器 ucsim_51.exe, 这个是程序能高效开发的关键。但这个模拟器 巨难用曾经好多次 AI卡在死循坏调用模拟器不成功。我也让AI 写了使用心得防止新开对话窗口时 它又忘记但是效果一直不佳。 事后总结 解决办法 第一 在windows下 如果想让AI执行命令跑的溜 必须安装 powershell 7 脚本格式用.ps1, 专门开个对话去做一个skill去做模拟器并把做好的skill加入到项目。至此可以较为正常的跑模拟了。当AI开发到一定程度可以正常识别 C51方言 正常进出中断可以正常多文件编译输出此时就可以选择与sdcc分道扬镳。进行各种定制化的操作。比如 我就想让 -MD 相关的行为与gcc对齐这个对AI来说 是比较容易的轻松秒杀。包含 连接时 死代码移除、自由放置中断函数等功能也很好的实现让报错信息加上颜色 与gcc行为保持一致。后期对编译器做了兼容keilC51 的功能一般keil下的方言、C源代码可以直接编译汇编除外算是吸取融合了keil与sdcc的大部分特性测试过生成的代码其编译出来的固件 其资源占用大部分场景下占优。支持 printf、可变参数、浮点数其中printf 与浮点数经过优化 默认使用精简版本能满足大部分场景下的需要。做了一个配套的 cc51_ide.h 主要是对vscode相关的工具骗过自动检查避免不兼容方言导致解析异常。配套开发一个 keil 转 cc51 编译器的工具能一键把keil的工程转制为cc51的cmake工程。目前经过项目实测确实可堪一用。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询