اخبار
اخبار
چگونه تشخیص دهیم که STM32/GD32 تقلبی و بازسازی شده است؟
2022-03-16 260




اخیراً، ARM تعبیه‌شده مقاله‌ای را به اشتراک گذاشت "GD32 همچنین مملو از نمونه‌های تقلبی شده است.》مقاله، استرانگِر هوانگ، دوست قدیمی ARM توکار، همچنین گفت که گروه تبادل فنی او در حال بحث و گفتگو استقیمت تراشه‌ها افزایش یافتوفروش چیپس روی ماهی شورموضوع را مطرح کردم و مقاله‌ای نوشتم که پیشینه و روش‌های شناسایی نمونه‌های تقلبی بازسازی‌شده را آشکار می‌کند. بدینوسیله برای اطلاع شما، این مقاله بازتولید می‌شود.


                           

1

پیشینه افزایش قیمت تراشه    
جنگ چین و آمریکا در دو سال گذشته برخی از شرکت‌های بزرگ فناوری داخلی مانند هواوی را تحت تأثیر قرار داده است. با این حال، اکثر شرکت‌های مرتبط با الکترونیک تأثیر کمی داشته‌اند.  
در سال ۲۰۲۰، یک بیماری همه‌گیر ضربه بزرگی به برخی از شرکت‌های نیمه‌هادی وارد کرد، مانند اعتصابات کارگران.  
سپس، قیمت برخی از مواد اولیه به درجات مختلف شروع به افزایش کرد. به خصوص از ابتدای امسال، قیمت اکثر مواد اولیه مانند فلزات و پلاستیک افزایش یافته است. قیمت همه چیز از مقاومت و خازن گرفته تا لوازم الکترونیکی مصرفی مانند تلویزیون و یخچال به درجات مختلف افزایش یافته است.  
  (منبع تصویر از اینترنت، نقض حق نشر و حذف)
همین امر در مورد تراشه‌ها نیز صادق است. قیمت MCUهایی که با آنها آشنا هستیم به درجات مختلفی افزایش یافته است. من معتقدم همه این را می‌دانند. به طور خاص، قیمت برخی از مدل‌های STM32 حتی چندین برابر افزایش یافته است.  
در زمینه این افزایش قیمت، حتماً برخی از بازرگانان بی‌وجدان هم وجود دارند و آنوقت احتمال وجود محصولات تقلبی افزایش می‌یابد.    
                           

2

STM32/GD32 بازسازی شده یا تقلبی    
مهندسان باتجربه ممکن است با مشکل STM32/GD32 بازسازی‌شده یا تقلبی مواجه شده باشند، از جمله من که قبلاً لوگوی GD32 را پاک کردم و سپس آن را STM32 ساختم، یا STM32 بازسازی‌شده را از روی برد قدیمی جدا کردم.  
بیایید در مورد برخی از موقعیت‌های بازسازی تراشه یا محصولات جعلی صحبت کنیم:
  ۱. پرچم را پاک کنید  
علامت پاک شدن تراشه بسیار رایج است، از جمله محصولاتی که گاهی اوقات توسعه می‌دهیم. به منظور جلوگیری از کپی کردن تراشه توسط دیگران، ممکن است علامت روی سطح تراشه نیز پاک شود تا از کپی‌کاری جلوگیری شود.
 
برخی از کسب‌وکارها از این روش «گربه زباد به جای شاهزاده» برای کسب سود استفاده می‌کنند. برخی از تراشه‌های سازگار، مانند STM32 در روزهای اولیه، می‌دانستم که بسیاری از آنها GD32 تقلبی هستند.  
  مدل ۲.جعلی  
اندازه واقعی فلش داخل STM32 ممکن است با مدل مطابقت نداشته باشد. برای مثال: ظرفیت استاندارد STM32F103RF برابر با 768 کیلوبایت است، اما اندازه واقعی فلش بیش از 768 کیلوبایت است.  
   
  این موضوع را گسترش می‌دهد: آیا ظرفیت FLASH تراشه STM32 شما واقعاً به خوبی دفترچه راهنمای رسمی انتخاب ST است؟  
 

۱- اول بیایید در مورد چیز دیگری صحبت کنیم


 
به طور کلی، برای مبتدیان، فلش داخلی کاملاً کافی است. اجرای یک دموی ساده یا یک RTOS به همراه دو دموی وظیفه‌ای، هیچ فشاری بر MCU های فعلی وارد نمی‌کند.  
با این حال، هنگامی که با پروژه‌های واقعی برخورد می‌کنید، متوجه خواهید شد کهبسیاری از مکان‌ها FLASH را خرج می‌کنندو برخی پروژه‌ها فضای زیادی از FLASH را اشغال می‌کنند. برای مثال: یک الگوریتم خاص، بارگذاری یک کتابخانه فونت یا حتی قرار دادن دو تصویر در FLASH.  
مثال دیگری از برنامه‌نویسی اپلیکیشن IAP را در نظر بگیرید: به‌طورکلی، آن‌هایی که در ارتقای این عملکرد بهتر عمل می‌کنند، یک ناحیه FLASH (ناحیه پشتیبان) تقریباً به اندازه برنامه خواهند داشت. به عبارت دیگر: برای اطمینان از ایمنی، دانلود برنامه خود را در یک ناحیه پشتیبان ذخیره کنید و پس از موفقیت‌آمیز بودن دانلود، برنامه را به‌روزرسانی کنید. هدف از انجام این کار:این کار برای جلوگیری از قطع شدن دانلود در میانه راه و در نتیجه خرابی آن است..  
من تصویری پیدا کردم، تقریباً به شکل زیر، که FLASH را به سه ناحیه تقسیم می‌کند (ناحیه FLASH برنامه بوت، ناحیه FLASH برنامه کاربردی، و ناحیه FLASH برنامه پشتیبان). در مورد آن فکر کنید.  
 
   
 
 
 

انتخاب ۲ تراشه STM32


 
معمولاً پس از اینکه پروژه ما الزامات را مطرح کرد، یک MCU مناسب انتخاب می‌کنیم. اولین چیزی که به ذهن می‌رسد بررسی [راهنمای انتخاب] است. علاوه بر انتخاب منابع جانبی، انتخاب ظرفیت FLASH مناسب نیز وجود دارد. قوانین دستور محصول STM32 به شرح زیر است:
   
آدرس دفترچه راهنمای انتخاب: https://www.stmcu.com.cn/upload/selection_Guide.pdf (حساب رسمی WeChat از لینک‌های خارجی پشتیبانی نمی‌کند، برای باز کردن، URL را کپی کنید)
 
 
 

۳ بررسی کنید که فلش داخلی STM32 چقدر بزرگ است


 
بعد از صحبت در مورد برخی مباحث مربوط به فلش، بیایید به نکات کلیدی این مقاله برگردیم:فلش داخلی STM32 ما ممکن است بزرگتر از مقداری باشد که در دفترچه راهنمای انتخاب بالا ذکر شده است..  
برای مثال: مدل خاص تراشه MCU من STM32F103RF است. با نگاهی به دفترچه راهنما، می‌توانم ببینم که ظرفیت آن ۷۶۸ کیلوبایت است، اما در واقع ظرفیت FLASH آن ۱ مگابایت است.  
   
در اینجا در مورد دو روش تأیید ساده صحبت خواهم کرد:
۱. از طریق برنامه‌نویسی تأیید کنید  
به عبارت ساده، این کار از طریق پاک کردن، نوشتن و خواندن آدرس مشخص شده (یعنی آدرسی که از اندازه FLASH بیشتر است) انجام می‌شود.  
  FLASH_EraseSector FLASH_ProgramWord  
  ۲. خواندن داده‌های فلش از طریق ابزارها  
این روش، مستقیم‌ترین و ساده‌ترین روش است. به عنوان مثال، ابزار دانلود STM32 ST-LINK Utility را در نظر بگیرید:
 
   
نکات کلیدی در تصویر به طور کامل توضیح داده شده است:اگر آدرس از ۷۶۸ کیلوبایت تجاوز کند، داده‌ها عملاً می‌توانند خوانده شوند.(تصویر بالا چیزی است که من با میکروکنترلر واقعی STM32F103RF خواندم. آدرس شروع برنامه 0x080C0000 است و برنامه در حال اجرا است.)
با این اوصاف، چیزی که در واقع می‌خواهم بگویم این است: تراشه‌های STM32 زیادی وجود دارند که مشابه هستند، نه فقط STM32F103RF که در بالا مثال زدم، 103RC اسماً 256 کیلوبایت است، اما در واقع بیش از 256 کیلوبایت فضا دارد. اگر متوجه شدید که فضای FLASH شما کافی نیست، می‌توانید از روش بالا استفاده کنید تا ببینید آیا فضای بیشتری از آن وجود دارد یا خیر.  
  ۳. بازسازی شده به محصولات اصلی و معتبراین نوع تراشه در برخی محصولات رایج‌تر است. نوعی که ارزان به نظر می‌رسد. اگر چند عدد از آنها را از فروشگاه بخرید، ارسال می‌شوند. اینها احتمالاً تراشه‌های بازسازی‌شده هستند.
 
اگر یک تراشه بازسازی‌شده بخرید، می‌توانید یک چراغ روشنایی LED برای آزمایش آن بنویسید و مشکلی پیش نخواهد آمد. با این حال، پس از پیوستن به یک پروژه، به خصوص پروژه‌ای که به لوازم جانبی بیشتری نیاز دارد و عملکردهای پیچیده‌تری دارد، ممکن است شکل اصلی شما به زودی آشکار شود.  
اگر بدشانس باشید، ممکن است شرایط زیر پیش بیاید:
  • نرم‌افزار چندین روز بدون هیچ نتیجه‌ای اضافه کاری کرد و سخت‌افزار مقصر شناخته شد؛
  • آزمایش‌های مختلف روی سیم‌های معلق سخت‌افزار، تعویض تراشه برای حل مشکل؛
  • مهندسان نرم‌افزار و سخت‌افزار با هم می‌جنگند؛
  • ······

بنابراین، جای تعجب نیست که اکنون تراشه‌های تقلبی یا معیوب زیادی در بازار وجود دارد، از جمله ARM تعبیه‌شده که می‌گوید «GD32 نیز شروع به هجوم تراشه‌های تقلبی کرده است». من فکر می‌کنم که باید وجود داشته باشد.  
   
                           

3

تشخیص محصولات بازسازی شده یا تقلبیبرای تشخیص STM32/GD32 ریفربیشد یا تقلبی، روش مرسوم این است که ابتدا آن را روی برد PCB (یا روی ابزار) لحیم کنید، سپس آن را روشن کنید تا ببینید آیا طبیعی است یا خیر. اگر داغ است، جریان بیش از حد دارد یا حتی دود می‌کند، مراقب باشید.  
سپس اطلاعات تراشه، مانند ظرفیت فلش، اطلاعات UID، بایت‌های آپشن و غیره را بخوانید.  
اشتراک‌گذاری مقالات قبلی در اینجا:آیا در مورد این رجیسترهای STM32 اطلاعاتی دارید؟  
روش خاص خواندن به شرح زیر است:
 

۱ رجیستر ظرفیت فلش


  ۱. با خواندن دفتر ثبت  
در «راهنمای مرجع» STM32، یک رجیستر مانند رجیستر داده‌های اندازه فلش (معمولاً در انتهای راهنما) وجود دارد و آدرس پایه رجیستر به وضوح نوشته شده است.  
  تذکر: مدل‌های مختلف تراشه ممکن است آدرس‌های رجیستر متفاوتی داشته باشند. برای مثال، آدرس پایه F103 برابر است با: 0x1FFFF7E0.  
   
یک مقدار ۱۶ بیتی است که در کارخانه نوشته شده و فقط توسط برنامه قابل خواندن است. روش خواندن بسیار ساده است و می‌تواند به شرح زیر باشد:
  اندازه فلش uint16_t;   اندازه فلش = *(uint16_t *)0x1FFFF7E0;  
  ۲. مستقیماً از طریق ابزار STM32 ST-LINK بخوانید
 
تراشه را از طریق ST-Link متصل کنید و مستقیماً آن را بخوانید، می‌توانید اطلاعات ظرفیت را مشاهده کنید:
   
 

۲ رجیستر UID


قبلاً کسی از من پرسید، آیا می‌توانم از طریق UID مربوط به STM32 رمزگذاری کنم؟ این قطعاً امکان‌پذیر است.  
اما یه سوال دیگه ازم پرسید، من نمی‌خوام همه (۹۶ بیت) رو بخونم،آیا فقط بخشی از ثبات می‌تواند به عنوان شناسه خوانده شود؟ آیا بخش‌های خوانده شده تکرار خواهند شد؟  
شناسه منحصر به فرد UID در STM32قابل اجرا به:
  • به عنوان شماره سریال استفاده می‌شود.
  • به عنوان رمز عبور استفاده می‌شود. هنگام نوشتن فلش مموری، این شناسه منحصر به فرد در ترکیب با الگوریتم رمزگذاری و رمزگشایی نرم‌افزار برای بهبود امنیت کد در فلش مموری استفاده می‌شود.
  • برای فعال کردن فرآیند بوت با مکانیزم ایمنی استفاده می‌شود.

شناسه کاربری (UID) در STM32 در مجموع ۹۶ بیت (۳۲ × ۳) دارد. دوستان، آیا می‌توانم فقط بخش خاصی از آن را به عنوان شناسه منحصر به فرد بخوانم؟  
این سوال، به طور دقیق، امکان‌پذیر نیست. اما اگر خیلی سختگیرانه نباشد، باز هم اشکالی ندارد. زیرا این UID بر اساس ویفر، دسته و غیره شماره‌گذاری شده است. اگر همان دسته را بخرید، متوجه خواهید شد که شماره‌ها ممکن است پشت سر هم باشند.  
   
 
من قبلاً چندین برد تولید شده را خوانده‌ام (MCU های خریداری شده از یک دسته هستند). UID های تراشه‌ها متوالی هستند. اگر علاقه‌مند هستید، می‌توانید آن را امتحان کنید.  
بنابراین،با خواندن بخشی از UID به عنوان شناسه، فقط می‌توان گفت که سختگیرانه نیست..
 
 
 

۳ آدرس افست ثبت نام


هنوز افراد مبتدی زیادی هستند که در حال یادگیری برخی دانش های سطح پایین هستند. مثلاً دوستانی هستند که خودشان می خواهند از طریق ثبات ها برنامه نویسی کنند، اما نمی دانند آدرس پایه ثبات چیست و آدرس آفست ثبات چیست.  
  آدرس پایه ۱.  
هر دستگاه روی تراشه و روی تراشه دارای یک آدرس پایه مربوطه است که توسط سازنده تعیین می‌شود و قابل تغییر نیست. همانطور که در زیر نشان داده شده است:
   
در برنامه، کد مربوط به موارد فوق را خواهید یافت:
   
  ۲. آدرس افست  
آدرس آفست، آفستی است که بر اساس آدرس پایه (معمولاً ۴ بایت افزایش می‌یابد) محاسبه می‌شود، مانند آدرس آفست تایمر TIM:
   
به طور مشابه، کد مربوطه در برنامه، جبران را از طریق ساختار پیاده‌سازی می‌کند:
   
در مورد آدرس پایه و آدرس آفست، چه کتابخانه جانبی استاندارد باشد و چه کتابخانه HAL، آنها با روش آدرس پایه + آفست که در بالا نشان داده شده است، پیاده‌سازی می‌شوند.  
همانطور که بارها در مقاله ذکر شده است، اگر می‌خواهید اصل ثبات‌ها را درک کنید، یا آنها را از طریق ثبات‌ها پیاده‌سازی کنید، بهتر است به روال‌های «کتابخانه استاندارد لوازم جانبی» مراجعه کنید. کتابخانه HAL از نظر کپسوله‌سازی نسبتاً پیچیده است و برای مطالعه ثبات‌های سطح پایین مناسب نیست.  
تأیید بیشتر، تست نوشتن داده‌ها (RAM، Flash)، تست عملکرد اولیه لوازم جانبی مختلف و غیره.  
   
                           

4

کانال‌های رسمی پیشنهادیهزینه‌ای که برای خرید کالاهای تقلبی یا کپی می‌پردازید بسیار بالاست. اشکالی ندارد اگر مشکلات در مراحل اولیه توسعه کشف شوند، اما شما می‌ترسید که این مشکلات پس از تولید انبوه کشف شوند.  
چیزی که حتی ترسناک‌تر است، وضعیتی است که محصولات در مقادیر زیاد ارسال می‌شوند و به دلیل وجود تراشه‌های تقلبی، در دست مشتریان با مشکل مواجه می‌شوند.  
امروز، یکی از اعضای گروه ارتباطات داشت در مورد وضعیت فروش چیپس روی ماهی شور صحبت می‌کرد. فکر کنم،شما می‌توانید صرفاً برای سرگرمی چیپس بخرید، اما بهتر است هنگام تهیه محصولات احتیاط کنید.  
برای مثال، STM32 که در Taobao با قیمت بیش از ده یوان پیدا می‌شود، هنوز وارداتی و اصل است. باور می‌کنید؟  
   
  برای تراشه‌هایی که از طریق کانال‌های معمولی خریداری می‌شوند، هنوز احتمال مشخصی وجود دارد که مشکل از خود تراشه باشد، چه برسد به پلتفرمی مانند Xianyu.من قبلاً با STM32 که از یک نماینده معمولی و نسبتاً بزرگ خریده بودم، با مشکلاتی مواجه شده بودم. FAE بارها به شرکت مراجعه کرد و نتوانست مشکل را پیدا کند. در نهایت، تراشه اصلی کارخانه را پس گرفتم و آن را کالبدشکافی کردم و متوجه شدم که در واقع مشکل از خود تراشه است.  
 

بنابراین، صرفاً به دلیل ارزان بودن چیپس از Taobao یا Xianyu خرید نکنید. توصیه می‌شود از طریق مجاری رسمی اقدام کنید. در غیر این صورت، می‌تواند برایتان گران تمام شود.


سلب مسئولیت: این مقاله از "strongerHuang" کپی شده است که از حمایت از حقوق مالکیت معنوی حمایت می‌کند. لطفاً منبع اصلی و نویسنده‌ی بازنشر را ذکر کنید. در صورت وجود هرگونه نقض، لطفاً برای حذف آن با ما تماس بگیرید.


شماره تلفن شرکت: +86-0755-83044319
فکس/فکس: +86-0755-83975897
ایمیل: 1615456225@qq.com
QQ: 3518641314 مدیر لی

QQ: 332496225 مدیر کیو

آدرس: اتاق ۸۰۹، ساختمان C، ساختمان فناوری ژانتائو، پلاک ۱۰۷۹ خیابان مینزی، منطقه جدید لونگهوا، شنژن

whatsapp

خط تلفن خدمات

tel: +86 755 83044319

WhatsApp

Whatsapp:+8618073002950