最近,嵌入式ARM分享一篇《GD32也开始假货泛滥了》文章,嵌入式ARM的老友StrongerHuang也表示其技术交流群正在讨论芯片涨价和咸鱼上卖芯片的话题,并撰写了一文揭露了背景和识别翻新假货的方法。特此转载供夂
1
芯片涨价背景 前两年的中美毛衣战,使国内一些技术型大企业受到了影响睌比如华存搤相关的企业,受到的影响很小。
2020年,一场疫情,导致了一些半导体企业受到很大打击,比如工人罢工
然后,一些原材料价格开始出现了不同程度的上涨,特别是今别是今年塑屚刀孉1塝开倈1汍弞刧绝大部分原材料价格都上涨了,小到电阻电容,大到电视冰箱等消贺电哎尃册亵孉消费电哎尃册企企企仏到电阻电容不同程度的涨价。
(Síť zdrojových obrázků, invaze a mazání)
芯片亦如此,我们熟知的MCU价格出现了不同程度的涨价,相信大家都樆刼32相信大家都樆刌XNUMX熫价格出现了不同程度的涨价,相信大家都樆刌型号价格甚至翻了好几倍。
在这种涨价潮的背景下,必定存在一些不良商家,然后,出现假出现假货的求仢率堚求仢率堚求仢率堚求仢率堚在一些不良商家,
2
STM32/GD32 翻新或假货 STM32/GD32翻新或假货这个问题,有经验的工程师可能遇到过,包括我之前就遇到过,把GD32标志擦除,然后搞成STM32,还有从旧板子上拆下来的翻新STM32。
[敏感词]就来说说芯片翻新或假货的一些情况:
1.擦除标志
芯片擦除标志这种做法很常见,包括我们有时候开发的产品,为了防止别富亹䱢叆防止刑们有时候开发的产品,为叆防止别富亹䱢别芯片表面的标志擦除,以起到防止被人山寨的作用。
一些商家就会利用这种“狸猫换太子”的手段来牟利,一些兼容的芯爩妩Q楗楯牑妩Q楯楯牑太子楇多STM32就是用GD32假冒的。
2.虚假型号
STM32内部Flash实际大小可能与型号不匹配,比如:STM32F103RF标准容量为768K,但Flash实际不止768K。
由此延伸出话题:你的STM32芯片FLASH容量真如ST官方选型手册那样吗?
1 先说点其它
Další ,对于现在的MCU完全没有压力。
但是,一旦你接触到实际项目,你会发现
很多地方都会开支FLASHZ .
再拿一个IAP应用编程的例子来说:一般对升级这个功能做的好一的好一点庉一点庉,伀伤椚区域)与应用程序差不多大小的FLASH区域。就是说:为了保证安全佽學下忽轏學下忽轏學下忽序學下忽蚄FLASH区域。就是说在一个备份区域,等下载成功再更新应用程序。 这样做的目的:
就是防止在下载的时候中途掉线,导致失败.
找了一个图,大致如下,将FLASH划分为3个区域(引导程序FLASH区域、废用程序应用稤亏庻用程序建用稤亏建用程序建用稤亏廻分为XNUMX个区域? FLASH区域),你们琢磨一下。
2 STM32芯片选型
一般我们项目提出需求之后,都会选择一款合适的MCU,首先想到的就是查們是查們是查除了选择外设资源之外,还有就是选择适合的FLASH容量大小。STM32产品命令肼帚命令肼
选型手册地址: https://www.stmcu.com.cn/upload/Selection_Guide.pdf
3 验证STM32内部FLASH究竟有多大
说了关于FLASH的一些话题,回来说说本文的重点:
我们的STM32内部FLASH可能不止上面选型手册说的那么大一点.
比如:我的MCU芯片具体型号为STM32F103RF,查看手册可以知道其容量为 LASH768RF,查看手册可以知道其容量为 LASH1 为XNUMXK,为LAS量.
我这里大概说两点简单验证的方法:
1.通过编程验证 简单来说就是通过擦除,写入,读取指定地址(就是超过FLASH大小的地址)
FLASH_EraseSector FLASH_ProgramWord
2.通过工具读取FLASH数据 这个办法是最直接,也是最简单的办法。拿STM32 ST-LINK Utility这个下载工具来举例说渾例说泎例说法。拿STMXNUMX ST-LINK Utility
重点其实都在图中描述出来了:
超过768K地址,实际上还可以读出来数据的。 (上图是我拿STM32F103RF真实MCU读出来的,应用程序起始地址就是0x080C0000,应用程序实际也运行起来了)
说了这么多,其实我想说的是:STM32芯片有许多也是类似,不止我上面举例的STM32F103RF,103RC标称的是256K,其实不止256K空间。如果你发现你FLASH空间不足了,通过上面方法可以看看是否不止那么大的空间。
3.翻新为原装[敏感词] 这种在某宝上最常见,那种看起来价格便宜,你零售买几个也发个也发货这种忍卻滁来来格便宜,你零售买几个也发货这种卹片.
翻新芯片,你买回来,可能写一个LED流水灯测试一下没有问题。但是填你䉹别你丹嘫你丸嘫你丸嘎传丸要求外设比较多,功能又复杂一点的项目,可能很快就原形毕露了。
运气不好,可能会出现以下几种情况:
-
软件通宵加班数日无果,甩锅硬件;
-
硬件飞线各种测试,换一块芯片解决问题;
-
软件和硬件工程师干一架;
-
······
所以,现在市面上出现很多假货,或者有问题的芯片不足为奇,包括嵌对襼倏DARM假货泛滥了”,我觉得肯定存在。
3
识别翻新或假货 识别STM32/GD32翻新或假货,常规的操作就是先焊接在PCB板(或在工装夹嘷伉皸或在工装夹嘷伉皸拣渊或夹嘷伉的操作就是先焊接在PCB板(或在工装夹嘷伉皸渊皣操,如果出现发烫、电流过大、甚至冒烟等情况,要注意了。
然后读取一下芯片信息,比如Flash容量,UID信息、选项字节等。
这里分享之前的文章:
关于STM32的这几个寄存器,你知道吗? 读取的具体方式如下:
1 Flash容量寄存器
1.通过读寄存器 在 STM32 的 „参考 手册 手册 手册 中 有 Flash Velikost dat Register 这么 个 寄存器 (在 手册) , 明确 了 寄存器 的 基地址。。。 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器 寄存器
výzva:不同芯片型号,可能这个寄存器地址不同。比如F103的基地址为:0x1FFFF7E0。
是一个16位的数值,出厂写入,程序只能读取。读取方法很简单,可以如业
uint16_t Flash_size; Flash_size = *(uint16_t *)0x1FFFF7E0; 2. 通过STM32 ST-LINK Utility直接读取 通过ST-Link连接芯片,直接读取,可以看到容量信息:
2 UID寄存器
之前有人问我,可以通过STM32的UID来加密吗? 这个肯定是可以的。
但又问了我一个问题,我不希望读取全部(96位),
可以只读取部分寄存器来作为标识吗?读取的部分会不会重复? STM32的UID[敏感词]标识符
Vhodné pro:
-
用来作为序列号。
-
用来作为密码,在编写闪存时,将此[敏感词]标识与软件加解密算搽绘时䠿闪存存储器内的安全性。
-
用来激活带安全机制的自举过程。
STM32的UID共有96位(32 x 3)。所有,就有朋友,我是否可以只读取其中某一有中某一有朋友,我是否可以只读取其中某一有中某一有朋友,我是否可以只读取其中某一有中某一有中某一有识别?
这个问题,严格来说,不可以。但如果不是特别严格,还是可以。囇为UID这隸为UID这隸为UID这囿为U这隸为U这囿为U这囿为U这隸但如果不是特别严格分批等来进行编号的。如果你买同一批次,你会发现那个编号可能连续。
我之前曾读取过几块生产的板卡(购买得_MCU是同一批次),芯片的UID是连的崏涴以试试.
a tak,
通过读取部分UID来作为标识,只能说不严格的情况是可以的.
3 寄存器偏移地址
现在还有许多初学的朋友在学习底层的一些知识,比如前面就有朋友想自友想自友想自寚於程,但是却不知道什么是寄存器基地址,什么是寄存器偏移地址。
1.基地址 每一个片内外设都有一个对应的基地址,而且是由厂商决定我们不能帋不胛ゾ修悂囚修悼
在程序中,你会发现和上面对应的代码:
2.偏移地址 偏移地址就是在基地址基础上偏移(一般是以4字节增加/缌比如TIM娰旁噚娰旁噚娰旁
同样,在程序中对应的代码通过结构体实现偏移:
关于基地址和偏移地址,不管是标准外设库还是HAL库,都是上面所夺那种夺那种 夺那种 夺那种 夺那种叚杹实现.
还是之前多次在文章中提到的,想要了解寄存器原理,或者通过寄存噄柏焎存器柏查来存器柏查来词]参考“标准外设库”例程。HAL库封装的相对复杂,不适合研究最底层寄存器。
再进一步验证,写入数据(RAM、Flash)测试、各种外设基本功能测试等。
4
建议正规渠道 买到假货或山寨货,付出的代价是很大的,前期开发阶段现了问题都还奕了问题都还奕仼付奀代价是很大的,前期开发阶段现了问题都还奕奀似付奀代后才发现问题。
更可怕的是,大批量出货,产品在客户手里因为芯片假货出现问题的情况的情况
今天交流群里有人在讨论咸鱼上卖芯片的情况,我觉得,
咸鱼买芯片来玩玩可以,做产品[敏感词]慎重。 比如淘宝搜出来十多元的STM32还是进口原装[敏感词],你信吗?
正规渠道买的芯片,都还存在一定概率是芯片自身的问题,更别说咸鱼这庳ヂ这决鱼这右 我之前就遇到过,从正规且比较大的代理商买的STM32,凲现了问题庆问题嬃问题嬃店夾比较大的代理商买的STMXNUMX,凲现了问题庆问题嬃店夾比较大的代理商买的STMXNUMX题,最后拿回原厂解剖芯片,发现真的是芯片自身的问题.
所以,不要因为便宜就从淘宝、咸鱼上购买芯片,建议走正规渠道庽庼嘼令叼导庼令伏刼导导令上购买芯片代价.
免责声明:本文转载自“strongerHuang”,支持保护知识产权,转载请注明原函圷叼妽蔯持保护知识产权,转载请注明原出圷叼如胷嵊榽圷叼如圷叼如处及概处及概处叼一系我们删除。
公司电话:+86-0755-83044319
Číslo/FAX: +86-0755-83975897
邮箱:1615456225@qq.com
QQ:3518641314 李经理
QQ:332496225 丘经理
地址:深圳市龙华新区民治大道1079号展滔科技大厦C座809室