找回密码
 立即注册
查看: 126|回复: 4

[开源c251编译器] 基于tinycc实现的c251编译器

[复制链接]

21

主题

89

回帖

549

积分

高级会员

积分
549
发表于 2026-8-13 07:19:40 | 显示全部楼层 |阅读模式

基于tinycc实现的c251编译器

之前在做c51cc的时候发现一直没有什么进展, 那段时间又比较忙就放下了, 前段时间想了想使用tinycc实现c251应该是个不错的主意, 就做了一个这个编译器

以下是测试内容

    { 'e', "echo",   test_echo } // 基础的串口回传测试
    { 'a', "arith",  test_arith } // 算术测试
    { 'm', "memory", test_memory }   // 内存/指针/结构体/字符串测试
    { 'g', "gpio",   test_gpio }     // 基础的gpio测试
    { 't', "timer",  test_timer }     // 定时器0 16 位计数
    { 'i', "intr",   test_interrupt } // 定时器0 中断计数
    { 'c', "adc",    test_adc }      // 采样内部参考电压
    { 'b', "bits",   test_bits }     // 位运算测试
    { 'r', "recurse",test_recurse }  // 递归测试
    { 'w', "wdt",    test_wdt }      // 看门狗测试
    { 's', "spi",    test_spi }        // SPI 主模式配置读回  
    { 'E', "eeprom", test_eeprom }    // 内部 EEPROM 写读回测试
    { 'd', "deep",   test_deep }       // 深度数据结构测试
    { 'l', "long",   test_long }       // 32位整型运算测试
    { 'p', "pwm",    test_pwm }        // 定时器版本的pwm测试
    { 'u', "uartm",  test_uart_multi } // 串口回传测试
    { 'k', "memfun", test_memfunc }  // 内存函数测试
    { 'v', "version", test_version } // 编译时间版本测试
    { 'x', "mixed",  test_mixed }    // 综合测试

测试方法:

[06:16:27.908]发送→w
[06:16:27.942]接收←HW:CMD w BEGIN
                    HW:CMD w PASS
                    HW:CMD w DONE
                
[06:16:28.135]接收←HW:READY

当前优化还没有做的特别细致, 之后持续更新, 测试使用的单片机是stc32g12k64, 仅使用了串口测试, 所以可能存在部分问题, 欢迎大家测试, 提bug

附件中会附带tcc_c251.exe以及测试文件, 之后代码整理好之后会放出来upload 附件:c251_dist.zip

回复

使用道具 举报 送花

已绑定手机

82

主题

218

回帖

700

积分

高级会员

积分
700
发表于 2026-8-13 07:41:30 | 显示全部楼层
回复

使用道具 举报 送花

已绑定手机

19

主题

3551

回帖

8057

积分

论坛元老

积分
8057
发表于 2026-8-13 15:13:36 来自手机 | 显示全部楼层
tinycc很少看见做单片机的,主要还是gcc吧。
回复

使用道具 举报 送花

21

主题

89

回帖

549

积分

高级会员

积分
549
 楼主| 发表于 2026-8-13 17:45:09 | 显示全部楼层
so*** 发表于 2026-8-13 15:13
tinycc很少看见做单片机的,主要还是gcc吧。

是的, 其设计存在固有缺陷
回复

使用道具 举报 送花

21

主题

89

回帖

549

积分

高级会员

积分
549
 楼主| 发表于 2026-8-15 09:04:24 | 显示全部楼层
源码在这

c251.zip

1.21 MB, 下载次数: 10

回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-9-23 16:02 , Processed in 0.073469 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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