Nachrichten
Nachrichten
Wie erkennt man, ob ein STM32/GD32 ein generalüberholtes Plagiat ist?
2022-03-16 261




Kürzlich teilte embedded ARM einen Artikel mit dem Titel „Auch GD32 wird zunehmend mit Fälschungen überschwemmt.》Artikel, Stronger Huang, ein alter Freund von Embedded ARM, sagte auch, dass seine technische Austauschgruppe diskutiertChippreise steigenundPommes frites auf gesalzenem Fisch verkaufenEr hat sich mit diesem Thema befasst und einen Artikel verfasst, der die Hintergründe und Methoden zur Erkennung aufgearbeiteter Fälschungen erläutert. Dieser wird hiermit zu Ihrer Information wiedergegeben.


                           

1

Hintergrund des Chippreisanstiegs    
Der chinesisch-amerikanische Konflikt der letzten zwei Jahre hat einige große chinesische Technologieunternehmen wie Huawei beeinträchtigt. Die meisten Unternehmen der Elektronikbranche waren jedoch nur minimal betroffen.  
Im Jahr 2020 verursachte eine Epidemie einigen Halbleiterunternehmen einen schweren Schlag, beispielsweise durch Arbeiterstreiks.  
Dann begannen die Preise einiger Rohstoffe unterschiedlich stark zu steigen. Insbesondere seit Anfang dieses Jahres sind die Preise der meisten Rohstoffe wie Metalle und Kunststoffe gestiegen. Die Preise für alles, von Widerständen und Kondensatoren bis hin zu Unterhaltungselektronik wie Fernsehern und Kühlschränken, sind unterschiedlich stark gestiegen.  
  (Bildquelle: Internet, Urheberrechtsverletzung und Löschung)
Dasselbe gilt für Chips. Die Preise der uns bekannten Mikrocontroller sind unterschiedlich stark gestiegen. Ich denke, das ist allgemein bekannt. Insbesondere die Preise einiger STM32-Modelle haben sich sogar vervielfacht.  
Im Zusammenhang mit diesem Preisanstieg muss es auch einige skrupellose Händler geben, und damit steigt die Wahrscheinlichkeit für gefälschte Produkte.    
                           

2

STM32/GD32 generalüberholt oder gefälscht    
Erfahrene Ingenieure sind möglicherweise schon einmal auf das Problem von überholten oder gefälschten STM32/GD32 gestoßen, auch ich selbst schon, bei denen das GD32-Logo gelöscht und dann ein STM32 daraus gemacht wurde, oder bei überholten STM32, die von einer alten Platine entfernt wurden.  
Lasst uns über einige Fälle von Chip-Aufarbeitung oder gefälschten Produkten sprechen:
  1. Löschflagge  
Die Markierung zum Löschen von Chips ist weit verbreitet, auch bei Produkten, die wir mitunter entwickeln. Um das Kopieren des Chips zu verhindern, kann diese Markierung auf der Chipoberfläche entfernt werden.
 
Some businesses will use this "civet cat for prince" method to make profits. Some compatible chips, such as STM32 in the early days, I knew that many of them were fake GD32.  
  2. Gefälschtes Modell  
Die tatsächliche Größe des Flash-Speichers im STM32 kann von der Modellbezeichnung abweichen. Beispielsweise beträgt die Standardkapazität des STM32F103RF 768 KB, die tatsächliche Flash-Speicherkapazität ist jedoch größer als 768 KB.  
   
  Dies erweitert das Thema: Ist die FLASH-Kapazität Ihres STM32-Chips wirklich so gut wie in der offiziellen Auswahlanleitung von ST angegeben?  
 

1 Let’s talk about something else first


 
Für Anfänger ist der interne Flash-Speicher in der Regel völlig ausreichend. Das Ausführen einer einfachen Bare-Metal-Demo oder einer RTOS-Demo mit zwei Tasks stellt keinerlei Belastung für aktuelle Mikrocontroller dar.  
Sobald Sie jedoch mit konkreten Projekten in Berührung kommen, werden Sie feststellen, dassViele Orte werden FLASH ausgebenManche Projekte benötigen viel Flash-Speicher. Beispiele hierfür sind ein bestimmter Algorithmus, das Laden einer Schriftartenbibliothek oder sogar das Speichern von zwei Bildern im Flash-Speicher.  
Nehmen wir ein weiteres Beispiel für die Programmierung von In-App-Käufen: Anwendungen, die diese Funktion besser aktualisieren, verfügen in der Regel über einen Flash-Speicher (Backup-Bereich), der etwa so groß ist wie die Anwendung selbst. Das heißt: Um die Sicherheit zu gewährleisten, speichern Sie Ihren Programm-Download in einem Backup-Bereich und aktualisieren Sie die Anwendung erst nach erfolgreichem Download. Der Zweck dieser Vorgehensweise:Dies soll verhindern, dass der Download mittendrin unterbrochen wird und dadurch fehlschlägt..  
Ich habe eine Abbildung gefunden, die den Flash-Speicher in etwa wie folgt in drei Bereiche unterteilt (Flash-Bereich für das Bootprogramm, Flash-Bereich für Anwendungen und Flash-Bereich für Backup-Programme). Denken Sie mal darüber nach.  
 
   
 
 
 

2 STM32-Chipauswahl


 
Im Allgemeinen wählen wir nach der Festlegung der Projektanforderungen einen geeigneten Mikrocontroller (MCU) aus. Als Erstes konsultieren wir das [Auswahlhandbuch]. Neben der Auswahl der Peripheriegeräte ist auch die passende Flash-Speicherkapazität zu berücksichtigen. Die Befehlsregeln für STM32-Produkte lauten wie folgt:
   
Adresse des Auswahlhandbuchs: https://www.stmcu.com.cn/upload/selection_Guide.pdf (Der offizielle WeChat-Account unterstützt keine externen Links. Kopieren Sie die URL, um sie zu öffnen.)
 
 
 

3. Überprüfen Sie, wie groß der interne Flash-Speicher des STM32 ist.


 
After talking about some topics about FLASH, let’s come back to the key points of this article:Der interne Flash-Speicher unseres STM32 kann größer sein als in der obigen Auswahlanleitung angegeben..  
Beispiel: Mein Mikrocontroller-Chip ist vom Typ STM32F103RF. Im Handbuch ist seine Kapazität mit 768 KB angegeben, tatsächlich verfügt er aber über eine Flash-Speicherkapazität von 1 MB.  
   
Hier werde ich zwei einfache Verifizierungsmethoden vorstellen:
1. Überprüfung durch Programmierung  
Vereinfacht ausgedrückt geschieht dies durch Löschen, Schreiben und Lesen der angegebenen Adresse (d. h. der Adresse, die die Größe des Flash-Speichers überschreitet).  
  FLASH_EraseSector FLASH_ProgramWord  
  2. FLASH-Daten mithilfe von Tools lesen  
Diese Methode ist die direkteste und einfachste. Nehmen wir beispielsweise das Download-Tool für das STM32 ST-LINK Utility:
 
   
Die wichtigsten Punkte sind im Bild dargestellt:Wenn die Adresse 768K überschreitet, können die Daten tatsächlich ausgelesen werden.(Das obige Bild zeigt die Ausgabe des echten STM32F103RF-Mikrocontrollers. Die Startadresse der Anwendung ist 0x080C0000, und die Anwendung läuft tatsächlich.)
Nach all dem möchte ich eigentlich sagen: Es gibt viele ähnliche STM32-Chips, nicht nur den oben genannten STM32F103RF. Der 103RC hat nominell 256 KB Flash-Speicher, verfügt aber tatsächlich über mehr als 256 KB. Falls Ihr Flash-Speicher nicht ausreicht, können Sie mit der oben beschriebenen Methode prüfen, ob noch mehr Speicherplatz vorhanden ist.  
  3. Generalüberholte OriginalprodukteDiese Art von Chips ist bei bestimmten Produkten am häufigsten anzutreffen. Es handelt sich dabei um Chips, die billig aussehen. Wenn Sie einige davon im Einzelhandel kaufen, werden sie Ihnen zugeschickt. Wahrscheinlich sind es wiederaufbereitete Chips.
 
If you buy a refurbished chip, you can write an LED running light to test it and there will be no problem. However, after you join a project, especially a project that requires more peripherals and has more complex functions, your original shape may soon be revealed.  
Im schlimmsten Fall können folgende Situationen eintreten:
  • Die Software lief mehrere Tage lang ununterbrochen ohne Ergebnis, und die Hardware wurde dafür verantwortlich gemacht;
  • Verschiedene Tests an der Hardware, z. B. durch Austausch eines Chips zur Problemlösung;
  • Software- und Hardware-Ingenieure streiten sich;
  • ······

Daher ist es nicht verwunderlich, dass sich derzeit viele gefälschte oder defekte Chips auf dem Markt befinden, darunter auch eingebettete ARM-Chips, von denen behauptet wird, dass „auch der GD32 mit Fälschungen überschwemmt wird“. Ich denke, es muss sie geben.  
   
                           

3

Aufbereitete oder gefälschte Produkte erkennenUm generalüberholte oder gefälschte STM32/GD32-Mikrocontroller zu identifizieren, lötet man sie üblicherweise zuerst auf die Leiterplatte (oder in die Vorrichtung) und schaltet sie dann ein, um ihre Funktion zu prüfen. Ist sie heiß, zieht sie zu viel Strom oder raucht sie gar, ist Vorsicht geboten.  
Anschließend werden die Chipinformationen ausgelesen, z. B. Flash-Kapazität, UID-Informationen, Optionsbytes usw.  
Hier finden Sie frühere Artikel:Kennen Sie diese Register des STM32?  
Die genaue Lesemethode ist wie folgt:
 

1 Flash-Kapazitätsregister


  1. Durch Lesen des Registers  
Im „Referenzhandbuch“ von STM32 gibt es ein Register wie das Flash-Größendatenregister (normalerweise am Ende des Handbuchs), und die Basisadresse des Registers ist klar angegeben.  
  andeutenUnterschiedliche Chipmodelle können unterschiedliche Registeradressen haben. Die Basisadresse von F103 lautet beispielsweise: 0x1FFFF7E0.  
   
Es handelt sich um einen 16-Bit-Wert, der werkseitig geschrieben wird und nur vom Programm gelesen werden kann. Die Lesemethode ist sehr einfach und kann wie folgt aussehen:
  uint16_t Flash_size;   Flash_size = *(uint16_t *)0x1FFFF7E0;  
  2. Direktes Lesen über das STM32 ST-LINK Utility
 
Verbinden Sie den Chip über ST-Link und lesen Sie ihn direkt aus, um die Kapazitätsinformationen anzuzeigen:
   
 

2 UID-Register


Jemand hat mich schon einmal gefragt, ob man über die UID von STM32 verschlüsseln kann? Das ist definitiv möglich.  
Aber er hat mir noch eine andere Frage gestellt: Ich möchte nicht alles lesen (96 Bit).Kann nur ein Teil des Registers als Kennung ausgelesen werden? Werden die ausgelesenen Teile wiederholt?  
STM32 UID unique identifierAnwendbar auf:
  • Wird als Seriennummer verwendet.
  • Es dient als Passwort. Beim Beschreiben von Flash-Speichern wird diese eindeutige Kennung in Kombination mit dem Software-Verschlüsselungs- und Entschlüsselungsalgorithmus verwendet, um die Sicherheit des Codes im Flash-Speicher zu verbessern.
  • Dient zur Aktivierung des Bootvorgangs mit Sicherheitsmechanismus.

Die UID des STM32 besteht aus insgesamt 96 Bit (32 x 3). Kann ich, liebe Freunde, nur einen bestimmten Teil davon als eindeutigen Identifikator auslesen?  
Streng genommen ist diese Frage nicht zu beantworten. Wenn man es aber nicht so genau nimmt, ist es in Ordnung. Denn diese UID wird nach Wafer, Charge usw. nummeriert. Wenn Sie Produkte derselben Charge kaufen, werden Sie feststellen, dass die Nummern fortlaufend sein können.  
   
 
Ich habe bereits mehrere produzierte Platinen analysiert (die gekauften Mikrocontroller stammen aus derselben Charge). Die UIDs der Chips sind fortlaufend. Bei Interesse können Sie es gerne ausprobieren.  
ja,Wenn man einen Teil der UID als Identifikator liest, kann man nur sagen, dass es sich nicht um eine strikte Methode handelt..
 
 
 

3 Register-Offsetadresse


Es gibt immer noch viele Anfänger, die sich grundlegende Programmierkenntnisse aneignen müssen. Beispielsweise gibt es Freunde, die selbst mit Registern programmieren möchten, aber nicht wissen, was eine Registerbasisadresse und was eine Registeroffsetadresse ist.  
  1. Basisadresse  
Jeder On-Chip und jedes On-Chip-Gerät hat eine entsprechende Basisadresse, die vom Hersteller festgelegt wird und nicht geändert werden kann. Wie unten dargestellt:
   
Im Programm finden Sie den entsprechenden Code:
   
  2. Offset-Adresse  
The offset address is the offset based on the base address (usually increased by 4 bytes), such as the offset address of the TIM timer:
   
Der entsprechende Code im Programm implementiert den Offset analog dazu über die folgende Struktur:
   
Bezüglich der Basisadresse und der Offsetadresse gilt, dass diese sowohl in der Standard-Peripheriebibliothek als auch in der HAL-Bibliothek durch die oben gezeigte Methode Basisadresse + Offset implementiert werden.  
Wie bereits mehrfach erwähnt, empfiehlt es sich, zum Verständnis des Registerprinzips und dessen Implementierung die Routinen der „Standard Peripheral Library“ heranzuziehen. Die HAL-Bibliothek ist relativ komplex und daher nicht geeignet, um die Funktionsweise der Register auf der untersten Ebene zu untersuchen.  
Weitere Überprüfungen, Schreibtests (RAM, Flash), Funktionstests verschiedener Peripheriegeräte usw.  
   
                           

4

Empfohlene formelle KanäleDer Preis für gefälschte oder nachgeahmte Waren ist sehr hoch. Probleme in der frühen Entwicklungsphase sind zwar akzeptabel, aber Sie befürchten, dass sie erst nach der Massenproduktion entdeckt werden.  
Noch beunruhigender ist die Situation, in der Produkte in großen Mengen ausgeliefert werden und aufgrund gefälschter Chips Probleme beim Kunden verursachen.  
Heute diskutierte jemand aus der Kommunikationsgruppe die Situation des Verkaufs von Pommes frites auf gesalzenem Fisch. Ich denke,Chips kann man sich einfach so zum Spaß kaufen, aber bei der Herstellung von Produkten sollte man vorsichtig sein.  
For example, the STM32 found on Taobao for more than ten yuan is still imported and original. Do you believe it?  
   
  Bei Chips, die über reguläre Kanäle erworben wurden, besteht immer noch eine gewisse Wahrscheinlichkeit, dass das Problem durch den Chip selbst verursacht wird, ganz zu schweigen von einer Plattform wie Xianyu.Ich hatte bereits Probleme mit dem STM32, den ich von einem größeren Händler bezogen hatte. Der zuständige Techniker war mehrmals beim Hersteller, konnte den Fehler aber nicht finden. Schließlich nahm ich den originalen Chip zurück, untersuchte ihn und stellte fest, dass das Problem tatsächlich am Chip selbst lag.  
 

Kaufen Sie daher keine Chips bei Taobao oder Xianyu, nur weil sie günstig sind. Es empfiehlt sich, offizielle Vertriebswege zu nutzen. Andernfalls kann es teuer werden.


Haftungsausschluss: Dieser Artikel wurde von „strongerHuang“ übernommen, einer Website, die sich für den Schutz geistigen Eigentums einsetzt. Bitte geben Sie die Originalquelle und den Autor des Nachdrucks an. Sollten Urheberrechte verletzt werden, kontaktieren Sie uns bitte, damit wir den entsprechenden Artikel entfernen können.


Firmentelefonnummer: +86-0755-83044319
Fax: +86-0755-83975897
E-Mail: 1615456225@qq.com
QQ: 3518641314 Manager Li

QQ: 332496225 Manager Qiu

Adresse: Raum 809, Gebäude C, Zhantao Technology Building, Minzhi Avenue 1079, Longhua New District, Shenzhen

whatsapp

Service-Hotline

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950