Service Hotline
Niedawno firma Embedded ARM udostępniła artykuł „GD32 również zaczęło być zalewane podróbkami.》Artykuł, Stronger Huang, stary przyjaciel firmy Embedded ARM, powiedział również, że jego grupa wymiany technicznej prowadzi dyskusjeCeny chipsów rosnąorazSprzedaj chipsy na solonej rybietemat i napisał artykuł ujawniający tło i metody identyfikacji odnowionych podróbek. Niniejszym zamieszczamy go do wglądu.
1
Tło wzrostu cen chipówWojna chińsko-amerykańska w ciągu ostatnich dwóch lat dotknęła kilka dużych krajowych firm technologicznych, takich jak Huawei. Jednak większość firm z branży elektronicznej została dotknięta w minimalnym stopniu.
W 2020 roku epidemia spowodowała poważne straty w niektórych firmach produkujących półprzewodniki w postaci strajków pracowniczych.
Następnie ceny niektórych surowców zaczęły rosnąć w różnym stopniu. Szczególnie od początku tego roku wzrosły ceny większości surowców, takich jak metale i tworzywa sztuczne. Ceny wszystkiego, od rezystorów i kondensatorów po elektronikę użytkową, taką jak telewizory i lodówki, wzrosły w różnym stopniu.
(Źródło zdjęcia z Internetu, naruszenie praw autorskich i usunięcie)To samo dotyczy chipów. Ceny znanych nam mikrokontrolerów wzrosły w różnym stopniu. Myślę, że wszyscy to wiedzą. W szczególności ceny niektórych modeli STM32 wzrosły nawet kilkukrotnie.
W kontekście tego wzrostu cen muszą być nieuczciwi sprzedawcy, a wówczas wzrasta prawdopodobieństwo występowania podróbek.
2
STM32/GD32 odnowione lub podróbkiDoświadczeni inżynierowie mogli spotkać się z problemem odnowionych lub podrobionych modułów STM32/GD32, w tym ja, który usunął logo GD32, a następnie zamienił je na STM32 lub odnowiony moduł STM32 usunięty ze starej płytki.
Porozmawiajmy o kilku sytuacjach związanych z odnawianiem układów scalonych lub podrabianiem produktów:
1. Usuń flagę
Ślad po chipie jest bardzo powszechny, również w produktach, które czasami opracowujemy. Aby uniemożliwić kopiowanie chipa, znak na jego powierzchni może również zostać wymazany, co zapobiega podrabianiu.
Niektóre firmy stosują tę metodę „cyweta dla księcia”, aby generować zyski. Wiedziałem, że wiele kompatybilnych układów, takich jak STM32 we wczesnym okresie, to podróbki GD32.
2.Fałszywy model
Rzeczywisty rozmiar pamięci Flash w STM32 może nie odpowiadać modelowi. Na przykład: standardowa pojemność pamięci STM32F103RF wynosi 768 KB, ale rzeczywisty rozmiar pamięci Flash przekracza 768 KB.
To rozszerza temat: Czy pojemność pamięci FLASH układu STM32 jest naprawdę tak dobra, jak podaje oficjalna instrukcja wyboru ST?
1 Najpierw porozmawiajmy o czymś innym
Generalnie, dla początkujących, wewnętrzna pamięć FLASH jest całkowicie wystarczająca. Uruchomienie prostej wersji demonstracyjnej (Bare Metal Demo) lub wersji demonstracyjnej systemu operacyjnego czasu rzeczywistego (RTOS) z dwoma zadaniami nie obciąża w ogóle obecnych mikrokontrolerów.
Jednak gdy wejdziesz w kontakt z rzeczywistymi projektami, odkryjesz, żeWiele miejsc będzie korzystać z FLASH, a niektóre projekty zajmują dużo miejsca w pamięci FLASH. Na przykład: konkretny algorytm, ładowanie biblioteki czcionek, a nawet umieszczanie dwóch obrazków w pamięci FLASH.
Weźmy inny przykład programowania aplikacji IAP: Zazwyczaj te, które lepiej radzą sobie z aktualizacją tej funkcji, mają obszar FLASH (obszar zapasowy) o mniej więcej takim samym rozmiarze jak aplikacja. Innymi słowy: dla bezpieczeństwa zapisz pobrany program w obszarze zapasowym, a następnie zaktualizuj aplikację po pomyślnym pobraniu. Cel:Zapobiega to przerwaniu pobierania w trakcie, co może spowodować awarię..
Znalazłem obrazek, mniej więcej taki, który dzieli pamięć FLASH na trzy obszary (obszar pamięci FLASH programu rozruchowego, obszar pamięci FLASH aplikacji i obszar pamięci FLASH programu zapasowego). Pomyśl o tym.
Wybór 2 układów STM32
Zazwyczaj po zapoznaniu się z wymaganiami projektu, wybieramy odpowiedni mikrokontroler (MCU). Pierwszą rzeczą, jaka przychodzi nam do głowy, jest sprawdzenie [Instrukcji wyboru]. Oprócz wyboru urządzeń peryferyjnych, należy również wybrać odpowiednią pojemność pamięci FLASH. Reguły poleceń produktu STM32 są następujące:
Adres podręcznika wyboru: https://www.stmcu.com.cn/upload/selection_Guide.pdf (oficjalne konto WeChat nie obsługuje linków zewnętrznych, skopiuj adres URL, aby otworzyć)
3 Sprawdź, jak duży jest wewnętrzny FLASH STM32
Po omówieniu kilku zagadnień dotyczących technologii FLASH wróćmy do najważniejszych punktów tego artykułu:Nasza wewnętrzna pamięć FLASH STM32 może być większa, niż podano w instrukcji wyboru powyżej..
Na przykład: Konkretny model mojego mikrokontrolera to STM32F103RF. Patrząc na instrukcję, widzę, że jego pojemność wynosi 768 KB, ale w rzeczywistości ma on 1 MB pamięci FLASH.
Tutaj omówię dwie proste metody weryfikacji:
1. Zweryfikuj poprzez programowanie
Mówiąc najprościej, odbywa się to poprzez kasowanie, zapisywanie i odczytywanie określonego adresu (czyli adresu przekraczającego rozmiar pamięci FLASH).
FLASH_EraseSector FLASH_ProgramWord
2. Odczyt danych FLASH za pomocą narzędzi
Ta metoda jest najbardziej bezpośrednia i najprostsza. Weźmy na przykład narzędzie do pobierania STM32 ST-LINK Utility:
Najważniejsze punkty są opisane na rysunku:Jeżeli adres przekroczy 768 KB, dane można będzie odczytać.(Powyższy obrazek przedstawia odczyt z prawdziwego mikrokontrolera STM32F103RF. Adres początkowy aplikacji to 0x080C0000 i aplikacja faktycznie działa)
Powiedziawszy to wszystko, chcę tak naprawdę powiedzieć: istnieje wiele podobnych układów STM32, nie tylko STM32F103RF, który podałem powyżej. Układ 103RC ma nominalnie 256 KB, ale w rzeczywistości ma ponad 256 KB pamięci. Jeśli okaże się, że w pamięci FLASH jest za mało miejsca, możesz sprawdzić powyższą metodą, czy jest go więcej.
3. Odnowione do oryginalnych i autentycznych produktówTen rodzaj jest najczęściej spotykany w niektórych produktach. Ten, który wygląda tanio. Jeśli kupisz kilka sztuk w sklepie, zostaną wysłane. Prawdopodobnie są to odnowione chipy.
Jeśli kupisz odnowiony układ, możesz napisać diodę LED do jego testowania i nie będzie problemu. Jednak po dołączeniu do projektu, zwłaszcza takiego, który wymaga większej liczby urządzeń peryferyjnych i ma bardziej złożone funkcje, Twój pierwotny kształt może wkrótce zostać ujawniony.
Jeśli nie masz szczęścia, mogą zdarzyć się następujące sytuacje:
-
Oprogramowanie działało przez kilka dni bez żadnych rezultatów, a winą za to obarczano sprzęt;
-
Różne testy sprzętu z luźnymi przewodami, wymiana układu scalonego w celu rozwiązania problemu;
- Inżynierowie oprogramowania i sprzętu walczą;
- ······
Nic więc dziwnego, że na rynku jest teraz mnóstwo podróbek lub wadliwych układów scalonych, w tym procesorów ARM, które twierdzą, że „GD32 również zaczęło zalewać się podróbkami”. Myślę, że musi tak być.
3
Identyfikuj produkty odnowione lub podrobioneAby zidentyfikować odnowiony lub podrobiony moduł STM32/GD32, standardową metodą jest najpierw przylutowanie go do płytki PCB (lub do uchwytu narzędziowego), a następnie włączenie zasilania i sprawdzenie, czy działa prawidłowo. Jeśli jest gorący, przepływa przez niego zbyt duży prąd, a nawet dymi, należy zachować ostrożność.Następnie odczytaj informacje o układzie scalonym, takie jak pojemność pamięci Flash, informacje o UID, bajty opcji itp.
Udostępnianie poprzednich artykułów tutaj:Czy wiesz coś na temat tych rejestrów STM32?
Konkretna metoda czytania jest następująca:
1 rejestr pojemności pamięci flash
1. Poprzez odczytanie rejestru
W „Podręczniku referencyjnym” STM32 znajduje się rejestr, taki jak rejestr danych rozmiaru pamięci Flash (zazwyczaj na końcu podręcznika), a adres bazowy rejestru jest wyraźnie zapisany.
napomknąćRóżne modele układów scalonych mogą mieć różne adresy rejestrów. Na przykład adres bazowy F103 to: 0x1FFFF7E0.
to 16-bitowa wartość, zapisywana fabrycznie i może być odczytana tylko przez program. Metoda odczytu jest bardzo prosta i może wyglądać następująco:
uint16_t Rozmiar_ Flasha; Rozmiar_flesza = *(uint16_t *)0x1FFFF7E0;
2. Odczyt bezpośrednio przez program narzędziowy STM32 ST-LINK
Podłącz układ przez ST-Link i odczytaj go bezpośrednio, a zobaczysz informacje o pojemności:
2 rejestry UID
Ktoś mnie kiedyś pytał, czy mogę szyfrować przez UID STM32? Zdecydowanie jest to możliwe.
Ale zadałeś mi inne pytanie, nie chcę czytać wszystkiego (96 bitów),Czy tylko część rejestru można odczytać jako identyfikator? Czy odczytane części zostaną powtórzone?
Unikalny identyfikator UID STM32Stosuje się do:
- Używany jako numer seryjny.
- Służy jako hasło. Podczas zapisu danych w pamięci flash, ten unikalny identyfikator jest używany w połączeniu z algorytmem szyfrowania i deszyfrowania programowego, aby zwiększyć bezpieczeństwo kodu w pamięci flash.
- Służy do aktywacji procesu rozruchu z mechanizmem bezpieczeństwa.
UID STM32 ma łącznie 96 bitów (32 x 3). Wszyscy są przyjaciółmi, czy mogę odczytać tylko określoną jego część jako unikalny identyfikator?
To pytanie, ściśle rzecz biorąc, nie jest możliwe. Ale jeśli nie jest to szczególnie ścisłe, to nadal jest w porządku. Ponieważ ten UID jest numerowany według wafla, partii itd. Jeśli kupisz tę samą partię, okaże się, że numery mogą być kolejne.
Czytałem już kilka wyprodukowanych płytek (zakupione mikrokontrolery pochodzą z tej samej partii). UID-y układów są następujące po sobie. Jeśli jesteś zainteresowany, możesz spróbować.
tak,Odczytując część UID jako identyfikator, można jedynie stwierdzić, że nie jest on ścisły..
3. Zarejestruj adres przesunięcia
Wciąż jest wielu początkujących, którzy zdobywają podstawową wiedzę. Na przykład, są znajomi, którzy chcą sami programować za pomocą rejestrów, ale nie wiedzą, czym jest adres bazowy rejestru i adres przesunięcia rejestru.
1.Adres bazowy
Każde urządzenie on-chip i on-chip ma odpowiadający mu adres bazowy, który jest ustalany przez producenta i nie można go modyfikować. Jak pokazano poniżej:
W programie znajdziesz kod odpowiadający powyższemu:
2. Adres przesunięcia
Adres przesunięcia to przesunięcie bazujące na adresie bazowym (zwykle zwiększonym o 4 bajty), takim jak adres przesunięcia timera TIM:
Podobnie odpowiedni kod w programie implementuje przesunięcie poprzez strukturę:
Jeśli chodzi o adres bazowy i adres przesunięcia, to niezależnie od tego, czy chodzi o standardową bibliotekę urządzeń peryferyjnych, czy bibliotekę HAL, są one implementowane za pomocą metody adres bazowy + przesunięcie pokazanej powyżej.
Jak już wielokrotnie wspomniano w artykule, aby zrozumieć zasadę działania rejestrów lub zaimplementować je za ich pomocą, najlepiej zapoznać się z procedurami „Standardowej Biblioteki Urządzeń Peryferyjnych”. Biblioteka HAL jest stosunkowo skomplikowana w hermetyzacji i nie nadaje się do badania rejestrów najniższego poziomu.
Dalsza weryfikacja, test zapisu danych (RAM, Flash), podstawowy test funkcjonalny różnych urządzeń peryferyjnych, itp.
4
Zalecane kanały formalneCena, jaką płacisz za zakup podróbek, jest bardzo wysoka. Nic nie szkodzi, jeśli problemy zostaną wykryte na wczesnym etapie produkcji, ale obawiasz się, że zostaną one wykryte dopiero po masowej produkcji.Jeszcze bardziej przerażająca jest sytuacja, gdy produkty są wysyłane w dużych ilościach i mają problemy z dostarczeniem klientom, ponieważ zawierają fałszywe chipy.
Dzisiaj ktoś w grupie komunikacyjnej omawiał sytuację sprzedaży chipsów do solonej ryby. Chyba…Chipsy można kupować dla rozrywki, ale lepiej zachować ostrożność przy ich wytwarzaniu.
Na przykład STM32 znaleziony na Taobao za ponad dziesięć juanów jest nadal importowany i oryginalny. Wierzysz w to?
W przypadku układów scalonych zakupionych za pośrednictwem regularnych kanałów istnieje pewne prawdopodobieństwo, że przyczyną problemu jest sam układ, nie mówiąc już o platformie typu Xianyu.Już wcześniej miałem problemy z STM32, którego kupiłem od stałego i stosunkowo dużego agenta. Przedstawiciele FAE wielokrotnie odwiedzali firmę i nie mogli znaleźć przyczyny problemu. W końcu zwróciłem oryginalny, fabryczny układ i go rozłożyłem na czynniki pierwsze, stwierdzając, że problem tkwi w samym układzie.
Dlatego nie kupuj chipsów z Taobao lub Xianyu tylko dlatego, że są tanie. Zaleca się korzystanie z oficjalnych kanałów sprzedaży. W przeciwnym razie może to być kosztowne.
Zastrzeżenie: Niniejszy artykuł został przedrukowany z witryny „strongerHuang”, która wspiera ochronę praw własności intelektualnej. Prosimy o podanie oryginalnego źródła i autora przedruku. W przypadku naruszenia prosimy o kontakt w celu usunięcia przedruku.
Numer telefonu firmy: +86-0755-83044319
Faks/FAKS: +86-0755-83975897
E-mail: 1615456225@qq.com
QQ: 3518641314 Menedżer Li
QQ: 332496225 Menedżer Qiu
Adres: Pokój 809, Budynek C, Budynek Technologii Zhantao, nr 1079 Minzhi Avenue, Nowa Dzielnica Longhua, Shenzhen




粤公网安备44030002007346号