بوتلودر STM32: ارتقای فریمور از طریق مرورگر وب با USB
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- توسعه یک بروزرسان فریمور مبتنی بر HTML را بیاموزید.
- چگونگی حفاظت از فایلهای بروزرسانی فریمور در برابر هک را فرا بگیرید.
- ساخت یک پروتکل ارتباطی سفارشی را بیاموزید.
- افزودن چکسام CRC-32 برای تضمین یکپارچگی دادهها را بیاموزید.
- انجام عملیات پاککردن، خواندن و نوشتن را تمرین کنید.
- پیکربندی و استفاده از USB CDC روی STM32F103 را بیاموزید.
پیشنیازهای دوره
- داشتن تجربه قابل توجه در توسعه STM32 با استفاده از HAL و STM32CubeIDE در ویندوز الزامی است.
- تجربه اولیه در HTML/JavaScript یا تمایل به یادگیری مستقل مورد نیاز است.
- سختافزار مورد نیاز: برد STM32 Blue Pill با میکروکنترلر اصلی STM32F103C8T6 (نسخههای کپی پشتیبانی نمیشوند).
- STLink v2 یا سایر دیباگرها
- نیازمندیهای سیستم: ویندوز 10/11 با مرورگر Microsoft Edge
توضیحات دوره
توجه: این دوره در حال حاضر فقط از سری STM32F1 (بوردهای Blue Pill با STM32F103C8T6) پشتیبانی میکند.
تمرکز این دوره بر ارتقای فریمور مبتنی بر USB (اتصال کابلی) با استفاده از Web Serial API است – نه بروزرسانیهای اینترنتی یا Wi-Fi.
این دوره برای توسعهدهندگانی است که میخواهند کدنویسی را خطبهخط مشاهده کنند. مدرس مفاهیم را به آرامی و با وضوح توضیح میدهد، اما ضبط صفحه با سرعت 2 برابر پخش میشود تا در زمان صرفهجویی شود. اگر دانشجویان بخواهند همراه با هر مثال کدنویسی کنند (که برای یادگیری عالی است)، باید مرتباً ویدیو را متوقف و به عقب برگردانند.
همین است – هیچ نمودار یا بررسی عمیق تئوری حافظه فلش وجود ندارد. ما کدهای STM32 و HTML را تکهتکه تغییر میدهیم و بلافاصله عملکرد آن را تست میکنیم. صفحه نمایش همیشه تقسیم شده است:
• سمت چپ: مرورگر وب + IDE (کدنویسی زنده)
• سمت راست: اسلایدها (مفاهیم کلیدی)
اگر به STM32 HAL علاقهمند هستید و میخواهید یک بوتلودر قابل اعتماد و آماده تولید بسازید، این دوره مناسب شماست. اگرچه تمرکز بر USB CDC و Web Serial API است، مفاهیم اصلی به راحتی برای بوتلودرهای مبتنی بر UART یا ابزارهای فلشر EXE قابل تطبیق هستند.
برای سادهسازی امور، مدرس توابع کمکی برای Web Serial API و STM32 USB-CDC آماده کرده است (به myserial.js و usb_serial.c مراجعه کنید).
- این دوره به جزئیات داخلی نخواهد پرداخت – توسعهدهندگان باتجربه به سرعت چگونگی کارکرد آنها را درک خواهند کرد (کد بسیار مختصر است).
- مبتدیان: ابتدا سعی کنند از آنها همانطور که هست استفاده کنند.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان STM32 که نیاز به پیادهسازی یک بوتلودر سفارشی آماده تولید دارند.
- مهندسانی که قصد دارند مهارتهای خود را در طراحی پروتکل سفارشی ارتقا دهند.
بوتلودر STM32: ارتقای فریمور از طریق مرورگر وب با USB
-
نمایش فرآیند ارتقای فریمور 01:26
-
درک فرآیند ارتقای فریمور 03:16
-
نرمافزارهای مورد استفاده برای ساخت مثالها 01:19
-
سازماندهی حافظه فلش STM32F103C8T6 None
-
پیکربندی STM32 برای اتصال USB 05:26
-
دریافت داده از میکروکنترلر با استفاده از JavaScript 07:45
-
ارسال داده به میکروکنترلر با استفاده از JavaScript 05:06
-
enumeration مجدد بیوقفه USB بدون جدا کردن کابل 01:57
-
اتصال سریال USB None
-
فرمان 0x01: شناسایی دستگاه و نسخه فریمور 08:24
-
فرمان 0x02: خواندن کلمه داده 32 بیتی از حافظه فلش 04:42
-
فرمان 0x03: پاککردن ناحیه حافظه فلش برنامه اصلی 02:06
-
فرمان 0x04: نوشتن کلمه داده 32 بیتی در حافظه فلش 05:00
-
فرمان 0x05: جابجایی بین بوتلودر و برنامه اصلی 01:33
-
پروتکل ارتباطی سفارشی None
-
خواندن از حافظه فلش 08:38
-
پاککردن حافظه فلش 04:09
-
نوشتن در حافظه فلش 07:51
-
ذخیره برنامه اصلی در آدرس متفاوت حافظه فلش 02:25
-
استفاده از رجیسترهای پشتیبان برای پیادهسازی منطق بوت 12:20
-
آزمون عملیاتهای پیچیده فلش و رجیستر پشتیبان STM32F103 None
-
محاسبه CRC-32 09:57
-
تغییر پروتکل برای خواندن تکه داده بزرگتر 03:48
-
تغییر پروتکل برای نوشتن تکه داده بزرگتر 04:30
-
افزودن فیلد چکسام به فرمان خواندن 04:24
-
افزودن فیلد چکسام به فرمان نوشتن 03:26
-
افزودن چکسام CRC-32 None
-
تولید باینریهای فریمور محافظتشده 06:01
-
ادغام رمزگشایی AES در بوتلودر 04:29
-
ادغام عملکرد حفاظت از خواندن 02:11
-
افزودن رمزگذاری AES None
-
محافظت در برابر نوشتن برای بوتلودر 04:07
-
اعتبارسنجی یکپارچگی برنامه اصلی در زمان بوت 08:22
-
متدهای جایگزین فعالسازی بوتلودر 01:55
-
بوتلودر غیرقابل خرابی None
مشخصات آموزش
بوتلودر STM32: ارتقای فریمور از طریق مرورگر وب با USB
- تاریخ به روز رسانی: 1404/10/04
- سطح دوره:متوسط
- تعداد درس:35
- مدت زمان :02:16:33
- حجم :1.55GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy