找回密码
 立即注册
查看: 1430|回复: 10

荣誉版主 推荐 SDCC 为 AI8051U 的 天然盟友,发来一些资料

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-6-12 11:11:47 | 显示全部楼层 |阅读模式
荣誉版主 推荐 SDCC 为 AI8051U 的 天然盟友,发来一些资料

240129-V441-SDCC Compiler User Guide(EN)
SDCC——小型设备 C 编译器up240306
sdcc-4.4.0-setup

SDCC——小型设备 C 编译器up240306.docx

46.92 KB, 下载次数: 139

240129-V441-SDCC Compiler User Guide(EN).pdf

959.34 KB, 下载次数: 126

sdcc-4.4.0-setup.exe

9.68 MB, 下载次数: 121

回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-6-12 11:15:21 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-6-12 11:21:21 | 显示全部楼层
SDCC 支持 C99
SDCC 支持的数据类型


截图202406121121171178.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-6-13 00:00:15 | 显示全部楼层
-----   SDCC unsigned long long 初体验   ------
64位整型数据运算@8H8K64U, SDCC 开源编译器支持
小弟使用单片机处理数据,因MCU资源较少,撑死ulong就够用了。
就连工作电脑使用的数据库的几百万条记录的数据sum也没超过这个值。
先下载了顶楼的SDCC 4.4.0 (32位版,因64位暂还是RC版,还是稳定第一吧),
一路安装,将执行文件添加到路径即可。
然后使用AIAPP-ISP V6.94L 导出SDCC头文件,在SDCC编译,
下载到 开天斧-8H8K64U 体验成功,因初次使用ULL, 请多指教。
据说ULL64的意义是在ARM的单片机中,不少传感器的库使用了64位整数,
要移植到8位或其他非ARM单片机中,就需要编译器支持才可,
SDCC是支持的,IAR暂未实验,
STC-ISP软件也有 IAR EW8051 头文件,就留给有兴趣的坛友吧。
使用了BAT进行编译,生成.hex 文件,下载成功。附图,附视频
  •    unsigned long long   i= 8446744073709551615; //太大会提示隐性溢出:25: warning 158: overflow in implicit constant conversion
  •    unsigned long long   j= 8446744073709451615;
(28)


SDCC440.jpg
SDCC-ULL.jpg
sdcc-ull-xp.jpg
QQ图片20240612234359.gif
sdcc-stcisp.jpg
1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-6-13 00:04:00 | 显示全部楼层
本帖最后由 autop*** 于 2024-6-13 00:10 编辑
autopccopy 发表于 2024-6-13 00:00
---SDCC unsigned long long 初体验。----
  1. //test 64位整数  itkw_autopccopy @240612 foshanshi
  2. #include "STC8H-SDCC.h" //该头文件 从STC-ISP V6.94E的头文件 菜单导出SDCC格式!
  3. void delay2(void);
  4. void main(void)
  5. {
  6. P2M0=0x00;
  7. P2M1=0x00;
  8. P25=0;
  9. while(1)
  10. {
  11.    P25 = !P25; //闪烁P25的LED, 低电平点亮。(开山斧三.2,  单片机型号: STC8H8K64U, 软件协议, V3.0: 7.4.6U, 芯片出厂序列号 : F784C90D018342, 运行频率48Mhz)
  12.    delay2();
  13. }
  14. }
  15. void delay2(void)
  16. {
  17.    //unsigned long long i=18446744073709551615;  //2^64-1=18,446,744,073,709,551,615;
  18.    unsigned long long   i= 8446744073709551615; //太大会提示隐性溢出:25: warning 158: overflow in implicit constant conversion
  19.    unsigned long long   j= 8446744073709451615;
  20.    
  21.    i=i-j; //1000000
  22.    while(i--);
  23. }
复制代码


sdcc-bat.jpg

点评

翻车了。 上面简单测试了SDCC 64位整数的加减法,昨天测试 SDCC 64位整数乘除法都报错! 晕!原来许工在另一帖就提过"SDCC...具体运算什么内容都需要自行添加。”! 不知要如何添加呢?  详情 回复 发表于 2024-6-18 21:31
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-6-13 09:41:34 | 显示全部楼层

8051U 回来了

截图202406130941297725.jpg
C语言程序设计,嵌入式控制
                                           山大 天山 计划@STC8051U
                                   自主可控    从8051到国产32位51


2025,
我们 STC8/STC8051U 例程 全面用 SDCC 覆盖,
现先忙
DSP/24-bit-ADC/STC32G96K256/STC33, CAN-FD, USB-Host,
2024对有线做个总结 !

2025从地球转战天空
【新提醒】追风剑-II@STC8051USB实验箱讨论,从8051到国产32位51 自主可控 - 视频教学,《单片机原理及应用》教学改革及实践研讨会,实战技术交流会,会务通知 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-6-18 21:31:39 | 显示全部楼层

翻车了。

上面简单测试了SDCC 64位整数的加减法,昨天测试 SDCC 64位整数乘除法都报错! 晕!原来许工在另一帖就提过"SDCC...具体运算什么内容都需要自行添加。”! 不知要如何添加呢?

sdcc1.png
sdcc2.png
sdcc3.png

点评

然后提到IAR FOR 8051支持long long , 谁知昨晚实际试验也报错。查阅了IAR FOR 8051的用户指南,竟然发现它不讲武德,long long竟然是32位非64位的!!! 估计8051只能看如何从SDCC扩展了。但测试ARM的KEIL MDK, 则  详情 回复 发表于 2024-6-18 21:36
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-6-18 21:36:31 | 显示全部楼层
本帖最后由 autop*** 于 2024-6-18 22:05 编辑
autopccopy 发表于 2024-6-18 21:31
翻车了。

上面简单测试了SDCC 64位整数的加减法,昨天测试 SDCC 64位整数乘除法都报错! 晕!原来许工在 ...

然后提到IAR FOR 8051支持long long , 谁知昨晚实际试验也报错。查阅了IAR FOR 8051的用户指南,竟然发现它不讲武德,long long竟然是32位非64位的!!!
估计8051只能看如何从SDCC扩展了。



IAR1.png
IAR2.png
IAR0.png
iar8051-e1.png

点评

但测试ARM的KEIL MDK, 则是支持64位的整数。见图,直接在STC33的测试例程中增加定义64位整数,编译通过无报错。  详情 回复 发表于 2024-6-18 21:39
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-6-18 21:39:28 | 显示全部楼层
autop*** 发表于 2024-6-18 21:36
然后提到IAR FOR 8051支持long long , 谁知昨晚实际试验也报错。查阅了IAR FOR 8051的用户指南,竟然发现 ...

但测试ARM的KEIL MDK, 则是支持64位的整数。见图,直接在STC33的测试例程中增加定义64位整数,编译通过无报错。


MDK-ull64.jpg
(仅供参考,欢迎探讨)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-08-27 15:25:33

1

主题

17

回帖

105

积分

注册会员

积分
105
发表于 2024-8-14 09:00:28 | 显示全部楼层
C251暂时没有支持64位整型的编译器,也没有支持C99的,悲催了。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 00:47 , Processed in 0.125813 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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