标题: STC32G12K128 32位单片机在keil 51还是keil32环境编译 [打印本页]

作者: czhaii    时间: 2022-2-13 08:15
标题: STC32G12K128 32位单片机在keil 51还是keil32环境编译
  大伙买到STC32位单片机了么?我的keil32位编译系统要过期了,
更新芯片库可能又要麻烦了,唉。
搞点单片机不容易啊,装了360吧,把我的汉字内码软件全部清光。
不装360吧,一台笔记本动不动就自动安装流M软件.


作者: 田贺    时间: 2022-2-13 09:52
看STC的宣传应该还是51内核
作者: npn    时间: 2022-2-13 10:41
田贺 发表于 2022-2-13 09:52
看STC的宣传应该还是51内核

8位和32位 寻址范围都不一样,怎么能通用?
作者: Y_G_G    时间: 2022-2-13 16:21
看官方的数据手册还是8051
这最多只能算是"真"32位,就像当年联发科的"真"8核处理器一样的
特意去看了一下数据手册,指令完全兼容8位的8051指令,超过8位的,全部以扩展指令模式,等于是增加功能和加强性能而已,其核心依然还是8051
个人感觉是通用的
官方也是说明要用Keil的
这玩意有点比上不足,比下有余
它比STC8A高级,却不如STM32
作者: npn    时间: 2022-2-13 17:45
Y_G_G 发表于 2022-2-13 16:21
看官方的数据手册还是8051
这最多只能算是"真"32位,就像当年联发科的"真"8核处理器一样的
特意去看了一下 ...

STC32和STM32做比较,未来的东西完全是个未知,你都不知道还会新增什么寄存器。
作者: czhaii    时间: 2022-2-13 19:07
是啊,看PDF文档编程和51风格一样,还支持位操作
作者: Y_G_G    时间: 2022-2-13 20:06
npn 发表于 2022-2-13 17:45
STC32和STM32做比较,未来的东西完全是个未知,你都不知道还会新增什么寄存器。

就硬件而言,两者都是差不多的,无非就是增加外设功能而已
但STC32用的是8051内核
STM32用的是ARM内核
这两个用的总线都不是一样系统的
8051在运算能力上是要远弱于ARM的
但STC官方却说STC32效率大约是M0的两倍.......不知道是不是真的的
作者: rundstedt    时间: 2022-2-13 21:21
Y_G_G 发表于 2022-2-13 20:06
就硬件而言,两者都是差不多的,无非就是增加外设功能而已
但STC32用的是8051内核
STM32用的是ARM内核

让死#太¥惨提供drystone wetstone成绩好了。
作者: 韩晗    时间: 2022-2-17 13:55
Y_G_G 发表于 2022-2-13 16:21
看官方的数据手册还是8051
这最多只能算是"真"32位,就像当年联发科的"真"8核处理器一样的
特意去看了一下 ...

等着后续出M4内核的STC单片机吧
作者: 188610329    时间: 2022-2-17 19:59
从官方提供的数据上看, 需要 KEIL 5 下载  C251 插件
作者: czhaii    时间: 2022-3-15 07:27
安装好了,编译通过
作者: 188610329    时间: 2022-3-15 14:17
Y_G_G 发表于 2022-2-13 20:06
就硬件而言,两者都是差不多的,无非就是增加外设功能而已
但STC32用的是8051内核
STM32用的是ARM内核

这我到知道,这种测试我以前经常做,

STC 的8位计算能力 是优于 STM32 的

所以,公平起见, 大家都做 32个位运算  4个8位 运算  和1个32 运算, 说起来是大家都不吃亏。
最后结果得出: STC 优于 STM32


作者: zgrfox110    时间: 2022-3-18 09:23
Y_G_G 发表于 2022-2-13 20:06
就硬件而言,两者都是差不多的,无非就是增加外设功能而已
但STC32用的是8051内核
STM32用的是ARM内核

是不是说的整体的算力,比喻两个单片机同时跑一个程序,里面有32位加减程序的,等等,综合起来,比M0快?stc32g快,是指它32位直接读写,32位乘除法硬件计算快!但是别的,如指令执行速度,都是和stc8差不多的,还有就是edata空间大,间接的提高了程序的运行速度!我就不明白,你们为什么老是拿它和32位的比!超越自己,就是最大的胜利!必须说之前用了stc8单片机的,需要大量的处理32位运算,速度慢,换上32g之后,32位运算就是几个时钟的事,会比之前快很多!
作者: dzbj    时间: 2022-3-18 11:28
188610329 发表于 2022-2-17 19:59
从官方提供的数据上看, 需要 KEIL 5 下载  C251 插件

我从官网下了C251 需要先装keil5还是直接装C251就行 机器里没装过5
作者: 天风情    时间: 2022-3-18 11:54
51内核
作者: Y_G_G    时间: 2022-3-18 12:19
zgrfox110 发表于 2022-3-18 09:23
是不是说的整体的算力,比喻两个单片机同时跑一个程序,里面有32位加减程序的,等等,综合起来,比M0快? ...

没有说STC32不快呀
要去跟STM比不是说我要比的呀,我自己一直在用STC单片机来DIY,也没说它不好呀,STC32一出来我就去关注了
但问题是,STC官方自己要去比的
这种30MHZ相当于M060MHZ效率的话,就很容易让误解为STC32比M0快2倍

作者: Y_G_G    时间: 2022-3-18 12:43
188610329 发表于 2022-3-15 14:17
这我到知道,这种测试我以前经常做,

STC 的8位计算能力 是优于 STM32 的

对于你所谓的测试结果,我并不相信对于STC运算速度优于STM32这种话,更加不信
M0的速度是0.9DMIPS/MHz
M3的速度是1.25DMIPS/MHz
M3是有三级流水线的,它的指令执行速度是高于自身的时钟的,所以就有1.25DMIPS/MHz
而STC永远只能是1.0MIPS/MHz
STM32处理一个32位的乘法运算,MUL Rd,Rn,Rm,它只需要一个指令
8051执行一个32乘法,你自己算一下要多少条汇编指令?至少是10多条指令吧,它是怎么快起来的呢?
你的测试很有可能就是代码本身写得不好而已


作者: 美琴的备胎    时间: 2022-4-4 23:00
用的c2051内核,确实支持32位指令,网上搜索 keil for c2051
作者: Y_G_G    时间: 2022-4-5 12:02
美琴的备胎 发表于 2022-4-4 23:00
用的c2051内核,确实支持32位指令,网上搜索 keil for c2051

确实是C2051内核,这个是我看错了,我在另外一个帖子说明了
http://www.51hei.com/bbs/dpj-218203-1.html
作者: wufa1986    时间: 2022-4-5 13:39
所谓的32还是改良的51内核把
作者: 18656921890    时间: 2022-6-3 11:11
天风情 发表于 2022-3-18 11:54
51内核

C251内核!有别于8051,
作者: xiaoyuxinke    时间: 2022-7-17 03:52
STC32G12K用的KEIL C251环境
作者: dgyjh    时间: 2023-2-16 12:44
我就不明白,究竟是16位还是32位的,用C251的编译器,按16位来编译,怎么样体现它是32位的,ACC和内部总线是32位的吗?还是读一个32位的数要分2次读??
作者: 大漠孤烟001    时间: 2023-2-16 14:16
STC32G系列 是很好的32位机,也是优秀的16位机,更是兼容8位机,最强悍的 1位 机










作者: coody_sz    时间: 2023-2-16 14:23
dgyjh 发表于 2023-2-16 12:44
我就不明白,究竟是16位还是32位的,用C251的编译器,按16位来编译,怎么样体现它是32位的,ACC和内部总线 ...

TC32G主要性能:
10个32位累加器
16个16位累加器
16个8位累加器
32为加减指令
16位乘除指令
32位乘除指令
32位算术比较指令
所有SFR(80H~FFH)均支持位寻址
96个字节edata(20H~7FH)均支持位寻址
单时钟32/16/8位数据读写(edata)
单时钟端口读写
堆栈深度最大64K(取决于edata大小)

STC32G是按32位数据宽度设计的,所以有10个32位累加器,比如2个32位变量相加,一条指令完成。
C251编译器是比较高效的编译器,会根据变量的位宽使用不同的指令来处理。
STC32G在性能上跟STM32F051在同频下相差无几。
作者: angmall    时间: 2023-2-16 14:32
STC32G12K128, 内部的 edata, xdata, 都是32位设计,只是受限于 KEIL C251,
===edata 可以32位
===xdata 暂时16位/用户看到的,而 STC 内部是32位的 xdata

为了兼容STC8H8K64U, 很多 sfr/xfr 还是8位,其实都可以32位 eSFR, KEIL C251 已支持
===但这样 从32位和8位8051程序的来回无缝切换的兼容性就差多了,
===目前这个状况,是我们评估的最优状态,一切已优先考虑STC8H和STC32G12K128的程序兼容性为最高考量

另外,在 C语言级,MDU32和指令32位乘除是一样的快,无缝衔接了,后面的硬件浮点FPMU32其实也是

STC32G12K128是STC-8051世界的承前启后的划时代巨作,不是32位这简单的概念,
而是近半个世纪的丰富的设计宝藏的继承和发扬,广大的老中青8051爱好者的潜能被我们加持和放大了

会应用,不懂基本原理的太多,清者自清浊者自浊

否定 STC32G12K128是32位机的,我们直接当他是普通应用者
===还上升不到谈基本理论的高度








欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1