LeoringYang 发表于 2026-7-10 09:29:37

STC32G12K128的一点建议

Yxra-SDK标准版已经进入开发阶段,此版本将所有32位MCU按标准接入(以后再纳入64位处理器)。在实施过程中,对STC32G、ESP8266、ESP32-c3、STM32F这四种MCU大致比较了一下,其实劣势最为明显的是ESP8266,它的指令集xlsten极不标准,且存在重大缺陷,比如跳转指令的4位对齐,但它的指令是2字节,3字节,4字节的可变长度设计,移位操作支持力度很差,我认为在这四款中是一款不合格的产品。虽然它对外只开放c语言,极力用c语言掩盖,但前进的路就到此了。最优秀的是ESP32-C3,完全以RISC-V指令为标准,STM32F相对稍逊一点,主要是因为它将系统级指令与用户级指令混在了一起,比如BX通过最低位确定指令集。

STC32G是这四款中指令集友好程度居中的一款,不过我对STC32G想提的意见是:内存映射的设计不够美,虽然已经统一了地址访问,但在实际中依然有局限。1、不支持执行RAM指令,这个限制了OS的移植;2、32位指令不够完善,有时需要用8位或16位来处理;
在资料方面,这四款芯片中,STC32G是最易获取完整的且权威的中文资料,STM32F说是满天飞,其实是杂牌军在混,真正权威的基本是英文,这不是面对普通开发者的。
我希望STC32G从STC的产品系统中独立出来,完全使用32位指令,无需兼容以前的开发习惯。32位到64位这已经是一种趋势,且集成到MCU的FLASH和SRAM最好达到1M和128K,这是嵌入式OS的基本要求,否则需要全部编译下载运行,不利于开发。
如果需要32位MCU接入指令标准,可联系我的微信索取yxra-sdk指令接入标准。我不清楚把微信号放这里算不算违规,先留下邮箱吧519592427@qq.com

angmall 发表于 2026-7-10 17:24:26

1、不支持执行RAM指令,这个限制了OS的移植;
| 您的建议      | STC现状               | 说明                              |
|:----------------|:------------------------|:----------------------------------|
| 支持RAM执行代码 | ❌ 不支持               | 硬件架构限制,代码只能从Flash执行 |
| 纯32位指令集    | ⚠️ 80251混合指令      | 兼容性设计,但已支持32位指令扩展|
| Flash ≥ 1MB   | ⚠️ 最高246KB(144K246) | 已有更大容量型号,但距1MB有差距   |
| SRAM ≥ 128KB    | ⚠️ 最高16K+128K IAP   | 已有提升,但距128KB有差距         |
| 中文资料质量    | ✅ 优秀               | 持续完善中                        |



页: [1]
查看完整版本: STC32G12K128的一点建议