极客秀
搜索

从查定时器开始,查出来盗版STM32!不良商家抹去芯片丝印的揭露以及关于IDCODE不能判断芯片制造商的方法阐述

这篇文章前天我删除重新发了一遍,对于文中不严谨的地方做出了修正,后面也会提到。
昨天晚上匆匆去实验室,学妹和我讲她的F103定时器不能进入中断。昨晚匆匆的检查了一下,发现配置和代码并没有问题,Debug也发现并没有进入定时器中断,于是我先把她的103带走准备研究一下。
由于他们的烧录都是使用某宝上较为便宜的仿真器,但是我手上只有大的STlink和Jlink

在代码配置好烧录的时候出现了一个以前从未出现的问题。

由于设备不匹配,连接被拒绝! 啊?怎么会设备不匹配。后面一查看信息好像是STM32出现的问题。 于是我查看一下STlink读取的 IDCODE号 。

IDCODE是 一种用于识别和区分不同芯片型号的标识符。每个STM32芯片都有一个唯一的IDCODE,通过该标识符,可以确定芯片的型号和其他一些信息。
但是通过IDCODE是不能识别品牌的,是这个是arm内核版本的标识,这也是笔者之前犯下的最大的错误。
不过非常奇怪,因为我在网络上所有关于这个问题的描述与解决都认为这是国产的某一款32芯片,包括笔者也被这个说法所迷惑,但是这种说法很显然是存在争议的。

转载自 浅析Keil5报错Connection refused due to device mismatch!的原因 – 哔哩哔哩
(bilibili.com)

转载自知乎 keil5 报错 Connection refused due to device mismatch – 知乎 (zhihu.com)
以及CSDN上阅读上万的文章。

(转载自) platformIO上传程序到stm32失败,Warn : UNEXPECTED idcode: 0x2ba01477-CSDN博客
从IDCODE并不能追溯其芯片厂商,
盗版STM32和正版STM32可能会具有相同或相似的IDCODE。IDCODE通常是芯片制造商为了在JTAG接口上识别其产品而设置的一个唯一标识符。然而,对于非法复制或盗版芯片,制造商可能会尝试模仿正版芯片的IDCODE,以阻止检测或追踪。
** ** **** 所以 **
要确保芯片的正版性,最好的做法是通过正规渠道购买芯片,避免使用来源不明的产品。合法的STM32芯片通常有唯一的IDCODE,而非法产品可能会使用相似的IDCODE来混淆市场。
** ** ** 因此对互联网上关于芯片来源说法表示怀疑态度。 **** 正常情况下我们是可以通过芯片的丝印来确定芯片的型号。

例如正版芯片的丝印上一般会标注芯片型号、厂商、封装信息、制造批次等并且丝印清晰可见(图中这块芯片我买来已经有多年时间了并且日常使用非常多)

而手上这块STM32F103的丝印非常的模糊而且很淡。所以判断这就是一颗盗版的STM32芯片,极大的可能是二手芯片商磨去丝印并且自己打上STM32的信息来迷惑消费者,而商家很多也不做核实,将这种故障率高且问题频出的芯片售出。
如今国产微控制芯片的产品也在日益扩大,例如乐鑫的ESP系列我认为就非常的优秀,甚至很多场合我宁愿使用ESP32而不是使用STM32(今晚刚刚开了个会,会中我提议使用ESP32来取代STM32和蓝牙模块来节省成本)无论是开发环境还是成本都比STM32好很多。

国内也有很多的32芯片系列,这些芯片的出现很大程度上缓解了国外垄断的现象,还记得刚接触嵌入式的时候,那会的STM32F1价格甚至被炒到了百元因此国产芯片的出现极大的减少了开发者的开发成本。但是同样的也造成了这样子一种假货横行的现象发生。
还有几乎所有新手都会接触到的STC的芯片,STC32,STC8都是非常优秀的芯片,比起外国的AT89C52系列,STC89C52有过之而不及。并不是我们排斥国产芯片,而是很多这种顶着其他芯片的帽子却偷偷的使用国产芯片代替企图省下成本的不良商家造成的这种名声下滑。

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容