从STM32F103系列开始就知道ST其实就开了2-3款版图,然后靠打标搞出一大堆型号,而且ST不喜欢屏蔽手册上没标的功能,而且放在那里。不想国内产商(比如GD32)屏蔽的就很死,手册写的是什么,多的一点都没有
比如STM32F101实际上是有USB的,前两年淘宝好多廉价st-link-v2就是用这款芯片做,当然现在都有国产二进制替代芯片做了
比如STM32F103C8标称64K容量,实际上有128K的flash。
比如STM32F030F4标称16K容量,实际上有32K的flash。
比如STM32F405实际上是有网络控制器的。
这些应该是为大家所知的“秘密”了吧
最近工程上用到了STM32G030F6这个芯片,这玩意淘宝上就卖2.6一片,批量还能便宜,又回到了ST很有性价比的时代。
不得不说,STM32G系列牙膏挤出一大管,好多外设功能和设计理念都焕然一新,开发手段也焕然一新。反观国内厂家还在处于抄F103(2007年的古董)和F407系列都抄一大堆bug的阶段,外设功能还不如F1系列的阶段。。。。
先来看flash容量,手上用的STM32G030F6P6,标称32K,看同一个系列这不是有64K的型号,直接用jlink烧录64K的数据进去,读取校验没问题
√多赠送32K flash 买一送一加量不加价
测试SRAM容量,标称8K,用MDK在调试界面的memory窗口直接看0x2000_1FF0位置,可以看到 很明显没有赠送,超过8K的部分读取错误了
×没有多送SRAM
超频测试,标称64MHz STM32G0系列的PLL功能非常强化,可以很方便用内部HSI直接超
实测在flash运行的代码,设置等待WS=2,可以跑到130MHz,再高到132/133MHz就不稳了
SRAM运行下没测,回头有空再看看
√可以翻倍超频(不推荐超频用 或者说超也别超那么多,超到个70~90MHz差不多得了)
对比STM32G030和STM32G041的结构框图
STM32G030
STM32G041
可以看到,阉割了以下组件:
AES加密,RNG随机数发生器,TIM2 32位定时器,LPTIMER1/2低功耗定时器,LPUART低功耗串口
那我就一起测测能送多少
直接用CubeMX生产代码来测,选择型号STM32G041F6
把030手册上“噶”掉的功能都勾上,手册上有的就不测了
泥腿子上路 HAL搭配寄存器操作乱搞一通,测试结果
RNG生成的随机数可以通过LPUART1发送出来,波特率115200
TIM2生成的PWM映射到PB6,可以测到
LPTIM1可以在调试界面看到计数器在增长
√赠送 RNG随机数发生器,TIM2 32位定时器,LPTIMER1/2低功耗定时器,LPUART低功耗串口
目前遇到的问题,AES好像不工作,这些寄存器写入后都是0
调用hal的加密函数,返回超时
但是可以看到AHB的AES时钟使能寄存器是可以置位的,说明这个外设应该是存在的
也有可能我哪里没用对,回头排查下
×可能没送AES
STMG030F6P6就2块多
不带AES的STM32G031要4块多
带AES的STM32G041看见卖18(应该不是实价,但是也不便宜就是了)
总结:送的真多,牙膏挤出一大管,我还想要
离线
@zhjerry
AT32F421C8T7和AT32F425C8T7都是好芯片,比STM32那些低端型号好得多。
AT32这几颗确实还是不错的。CM4要比CM0香不少,不得不说
离线
更新:测试了FLASH下几个功能 STM32G030没有提供PCROP/SEC代码保护功能,实际上是可以用的。
32G0x1手册提供以下配置位
32G0x0手册提供以下阉割配置位
测试PCROP
使用keil设置分段加载文件和再特定区域只有指令,编译后设置配置字
调试可以看到,PCROP保护的位置读取全是0xFFFF,但是PC已经掰过来了,程序运行没任何问题
离线