这款号称32位的8051,实际上就是Intel的C251架构,向下兼容8051,地址空间扩展到了24位,堆栈空间扩展到了16位共64kB,扩大了内部SARM(edata)数据复制速度也有了很大提高,解决了8051架构的一些弊端。
STC花了很大力气宣传,芯片刚刚到手不久,板子打好测一下性能,看看是不是和他们宣传的一样好。
软件还是使用Dhrystone,编译器C251.exe 版本v5.60.0.0,速度优化,使用标准库。
第一次测试结果376ms,奇怪,怎么比8位的8051还慢?查了好久,原来WTST寄存器搞的鬼,复位值是最大值7,加了7个等待,手册建议35M主频以下改为0,修改为0重新测试,速度果然快了很多,结果如下。
结论就是大约0.38DMIPS/MHz,这个结果和ARM在 https://www.keil.com/benchmarks/c251_bmark.asp 这个文章中的测试结果是一致的。这就是C251架构的性能了,比8051提高很多,然而在现代一众32位MCU中显然不算入流。
其实我对这个来自古代的C251核心一点兴趣都没有,现代的Cortex-M和RISC-V比它要好得多,买这个芯片主要是想看看它的USB和两个CAN表现如何,尤其是两个CAN,从寄存器接口来看,就是内置了两片SJA1000控制器,光这两个CAN都值回票价了,具体如何,有待以后分解。
最后再吐槽下这个C251编译器,不知道是因为用户太少还是什么原因,真的是不太好用,很多标准C库函数没有实现,比如strstr,strtok,strtoul,都要自己实现。
一个结构体中定义的一个函数指针,指向实际的函数,它也分析不出来,然后报L57警告,实际呢又能运行,也就是函数并没有被优化掉,让人困惑。
*** WARNING L57: UNCALLED FUNCTION, IGNORED FOR OVERLAY PROCESS
离线
膜拜。
另,问下价格如何?也是用MDK编译吗?
离线
膜拜。
另,问下价格如何?也是用MDK编译吗?
STC官网价格5元,量少可能加一点,开发用Keil,装个C251编译器即可,基本和51开发一样。
离线
Cortex-M0的三分之一,,比我想象的低
离线
STC32G性能提升主要是内存架构优化带来的,在同样的22.1184M主频和速度优化时:
STC8G用时235ms,成绩0.109DMIPS/MHz
STC32G用时67ms,成绩0.384DMIPS/MHz,相对提升0.384/0.109=3.523倍
STC32G内存模型切换为Large后用时189ms,成绩0.136DMIPS/MHz,相对提升0.136/0.109=1.248倍
https://zhuanlan.zhihu.com/p/482337395
离线
看样子和32位没有关系
离线
32位80251也不是新东西了,10年 Evatronix 就有在卖 IP 核了。见:
最近编辑记录 编译器蜜糖 (2024-06-03 14:31:37)
离线
32位80251?为什么不选RISC-V?后者无论性能、生态、受权、扩展都能秒前者!
确实
离线
32位80251?为什么不选RISC-V?后者无论性能、生态、受权、扩展都能秒前者!
从选型角度来说确实没必要,M0和RV的片子都太便宜了。
但从老姚的角度来说,一个可能的猜测是:
2010年,Evatronix卖这个32位的80251 IP 的时候,RISC-V才刚建项。国内起码15年就有人说STC有做32位8051的打算(所以如果STC真的是买的IP核,说明这个时候很可能已经买了)而RV的芯片大面积铺货也不过是近几年的事。
如果手推车很早就买了IP,已经买了的IP肯定不能砸手里。
看eevblog帖子说Echo测的Dhrystone分数,不管是STC8还是STC32都和Evatronix的手册一致性很高。
Evatronix 的 R8051XC2,增强型8051核, Evatronix宣传是最高 0.114,Echo 测STC8是 0.109
Evatronix 的 R80251XC,增强型(所谓的32位)80251 核,Evatronix给的0.39,echo测的STC32是 0.38,就是不知道为什么CAST的手册(手册日期比Evatronix老一些)写的是0.22,CAST 又在官网上写R80251XC就是和Evatronix合作的结果,两个应该完全是一样的东西。
而且也不是说别家的80251都是这个分,别的 IP 厂商,也包括CAST卖的80251 IP都说能跑0.6 0.7 DMIPS/Mhz的,CAST的紧凑型的80251也有低到0.1455 DMPS/Mhz的。
不过看Dhrystone分数猜IP核本质上是盲人摸象,假如有IP厂商闲着无聊,真的搞个超级超级快,快到能勉强摸到Cortex M0的51核,那也不能因为分数相似说:"这个51核肯定是假的,里面其实是Cortex M0。"
所以这些猜测就当图一乐。
顺便一提,Evatronix 13年就卖给Cadence了,不再做IP核了
CAST EETOP上有人说它就是Evatronix代理(也不知道为啥Evatronix被Cadence收了还能卖),现在虽然还卖8051的IP(甚至21年还发视频说8051 IP核仍然是自家销量王。看来业绩不怎么好),至于80251的IP,全部都是discontinued,从官网上删了。
所以搞80251是真的不太行
不过就算真的是买的IP现在也算是独占了
值得一提的是,CAST还有出售CAN2.0的IP,如果STC真的用了它们的IP的话,有可能是打包方案?
最近编辑记录 编译器蜜糖 (2024-06-03 18:59:42)
离线
感觉32位MCU以后要被Cortex-M和RISC-V统一天下了,,其他的都不值得学习,,除非你们公司在用。。
离线