找回密码
 立即注册
楼主: 杨为民

STCIDE + 金水151 + AIapp-ISP:全国产纯绿色的80x51单片机软件开发工具链

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-9-30 08:46:14 | 显示全部楼层
杨*** 发表于 2024-9-29 19:06
老子写了《道德经》,你知道老子为什么不写《西游记》吗?

所以说啊,,专业的就让专业的来啊

点评

我问:老子写了《道德经》,你知道老子为什么不写《西游记》吗? 你答:所以说啊,,专业的就让专业的来啊 我评:回答错误,0分。 网络标准答案:因为老子他不愿意! ------------------ 对于30楼主的说法“要不 让  详情 回复 发表于 2024-9-30 16:12
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:246
  • 最近打卡:2025-04-30 10:10:32

3

主题

155

回帖

537

积分

高级会员

积分
537
发表于 2024-9-30 09:53:52 | 显示全部楼层
本帖最后由 咫尺天涯 于 2024-9-30 09:55 编辑

有几个问题:
1、编译器是否带由标准库,比如stido
2、代码自动补全功能关键词提示等效果如何
3、代码编译效率怎么样,是否可以优化处理

点评

谢谢你的关心,下面逐条回答:1、编译器是否带由标准库,比如stido 金水151编译器带了C51/C251的全套标准库,由于增加了笔者认为对于单片机更有用的库函数,因此库的分类的方法与C51/C25有所不同。 金水151编译器的  详情 回复 发表于 2024-9-30 17:51
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-9-30 16:12:06 | 显示全部楼层
_奶*** 发表于 2024-9-30 08:46
所以说啊,,专业的就让专业的来啊

我问:老子写了《道德经》,你知道老子为什么不写《西游记》吗?

你答:所以说啊,,专业的就让专业的来啊
我评:回答错误,0分。
网络标准答案:因为老子他不愿意!
------------------
对于30楼主的说法“要不 让STCIDE也支持插件也不是不行”
我看法是:行是行呀,可是老子不愿意呀


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-9-30 17:51:18 | 显示全部楼层
咫尺*** 发表于 2024-9-30 09:53
有几个问题:
1、编译器是否带由标准库,比如stido
2、代码自动补全功能关键词提示等效果如何

谢谢你的关心,下面逐条回答:1、编译器是否带由标准库,比如stido
金水151编译器带了C51/C251的全套标准库,由于增加了笔者认为对于单片机更有用的库函数,因此库的分类的方法与C51/C25有所不同。
金水151编译器的库函数用A351汇编语言和C351语言编写,所有的库函数除了“printf”和“scanf”外都是可重入函数。
LIBC351_JSx51_8051_FMTIO.LIB”是格式化输出函数库,除了“ltos”等外,新增了“ptos”对于指针变量内容的字符串转换函数。
LIBC351_JSx51_8051_MATH.LIB”是标准函数库,新增加了“extern float exp10 (float v1);  // Only C351”和“extern float fint  (float v1);        // Only C351”函数。
LIBC351_JSx51_8051_STDIO.LIB”是标准输入输出函数库,原来其中的“printf”和“scanf”类函数被单独放到了“LIBC351_JSx51_8051_PRTSCN.LIB”库中。
LIBC351_JSx51_8051_STDLIBI.LIB”和“LIBC351_JSx51_8051_STDLIBF.LIB”是将原来的“STDLIB”的整数部分和浮点数部分分开来写,并且还增加了“extern void  ltoh8s  (char *Outs, binary long x32l);”这种对新数据类型的十六进制转换。
LIBC351_JSx51_8051_STRING.LIB”是字符串处理函数库。考虑到当前STC单片机的主流型号都是控制类和数字型号处理类型而非数据库类型的单片机,因此本函数库只包括4个基本函数“strlen”、“strcpy”、“strcat”和“strcmp”。


2、代码自动补全功能关键词提示等效果如何
(1)STCIDE是与Keil的C51/C251同类的集成开发环境,计划支持STC/AI类、ARM类和RISC-V类的单片机编译器,目前版本没有你说的功能和仿真的功能,只是用于单片机程序项目管理、源程序编辑和调用编译器进行编译三大功能。
(2)笔者的第一代STC单片机C语言编译器“小鹰”系列开始设计时是为了与大学本科的理科C语言课程和C语言等级考试接轨,采用的是VC2010集成开发环境,你提到的这些功能自然是有的。
但是由于STC单片机的中断函数和数据存储类型的定义实在难以嵌入VC计算机语言的框架,就放弃了。
(3)笔者的第二代STC单片机C语言编译器“长缨”系列开始设计时决定使用Keil的集成开发环境,所以使用“MakeFile”的方法来调用长缨系列编译器。

(4)笔者的第三代STC单片机C语言编译器“金水”系列设计为主要使用STCIDE集成开发环境,同时也可以继续使用Keil集成开发环境的“MakeFile”方法。
(5)笔者的第四代STC单片机C语言编译器计划继续使用STCIDE集成开发环境,然后计划支持其他第三方IDE。


3、代码编译效率怎么样,是否可以优化处理

由于“金水”系列编译器除了支持C语言和汇编语言外,还支持使用FORTH-351高级计算机语言(目前金水151没有开放该语言接口)对STC单片机编程,所以对于C语言没有进行任何优化处理。
因此金水151与C51/C251比,C351编译器的代码编译效率比C51/C251低15%左右。但是F351编译器对FORTH-351高级计算机语言的代码编译效率远比C51/C251高,接近专业程序员直接用汇编语言编写程序的水平。

点评

只是15%,那就是比 SDCC-51要高了  详情 回复 发表于 2024-11-10 00:01
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:484
  • 最近打卡:2025-05-01 08:52:01
已绑定手机

23

主题

589

回帖

2813

积分

金牌会员

积分
2813
发表于 2024-9-30 20:08:27 | 显示全部楼层
高!很期待杨老师及STC的强力发展和贡献!!
不停地学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:65
  • 最近打卡:2025-04-30 09:46:51

0

主题

23

回帖

248

积分

中级会员

积分
248
发表于 2024-10-21 10:01:42 | 显示全部楼层
能在stm32,gd32等其他单片机中使用吗
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:468
  • 最近打卡:2025-05-01 10:58:55

44

主题

230

回帖

2841

积分

金牌会员

积分
2841
发表于 2024-11-9 22:44:17 | 显示全部楼层
杨老师威武,未来国产化值得推荐。

只有这样才能冲破壁垒,避免被卡脖子。

网友提到的插件也是值得杨老师考虑的。

微信小程序就像微信的插件。借助微信的海量基础用户和其自身的便捷性、跨平台等有点迅速获得海量用户。

获得了海量用户也就拥有了海量的使用反馈,经过不断的迭代微信小程序目前已经被广泛应用于各个领域。

如果国产自研编译器能够以插件的形式出现在vscode。 肯定能够迅速得到很多宝贵的测试case和建设性建议;

点评

(1)谢谢你的支持。我个人认为目前8051指令集的单片机的编译器和集成开发环境的国产化进程不是技术问题,也不是推广问题,是市场选择的结果。目前已经有几个大厂有自己的国产8051编译器了,但是以8位单片机承担的市  详情 回复 发表于 2024-11-10 03:04
不争是争
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:54
  • 最近打卡:2025-05-01 09:07:55

717

主题

1万

回帖

1万

积分

管理员

积分
15609
发表于 2024-11-10 00:01:18 | 显示全部楼层
杨*** 发表于 2024-9-30 17:51
谢谢你的关心,下面逐条回答:1、编译器是否带由标准库,比如stido
金水151编译器带了C51/C251的全套标准 ...

只是15%,那就是比 SDCC-51要高了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-04-30 08:41:32

105

主题

1215

回帖

1万

积分

荣誉版主

积分
12882
发表于 2024-11-10 03:04:55 | 显示全部楼层
大*** 发表于 2024-11-9 22:44
杨老师威武,未来国产化值得推荐。

只有这样才能冲破壁垒,避免被卡脖子。

(1)谢谢你的支持。我个人认为目前8051指令集的单片机的编译器和集成开发环境的国产化进程不是技术问题,也不是推广问题,是市场选择的结果。目前已经有几个大厂有自己的国产8051编译器了,但是以8位单片机承担的市场角色而言,Keil的C51已经是一个堪称完美的IDE了(包括实现RTOS),而SDCC也早就集成进好几种Arduion开发环境了,因此除非出现类似华为这种情况,中国人付钱也不让用的情况,8051指令集的单片机的国产化的必要性和紧迫性不大。

(2)我是做理论研究的,寄生于8051指令集的金水明151编译器是为基于80251指令集的金水明351编译器探路的。Keil的C251编译器对于STC32G/F和AI8051U单片机尚称得上是优秀的编译器,但对于STC即将推出AI8052U单片机资源肯定是支持不足的,其将函数重入堆栈与系统SP堆栈混用在EDATA空间的方式会成为应用(尤其是RTOS应用)的天花板。因此基于80251指令集的编译器的国产化进程是应该提上日程了。
(3)对于金水明351编译器,已经验证过使用MakeFile等的方式,以其他IDE对接了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:347
  • 最近打卡:2025-05-01 10:36:23

7

主题

281

回帖

1051

积分

金牌会员

积分
1051
发表于 2024-12-16 11:31:52 | 显示全部楼层
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 19:39 , Processed in 0.194095 second(s), 125 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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