هدف و وضعیت بررسی این درس
این درس برای آمادهسازی محیط نرمافزاری برای توسعه میکروکنترلرهای STM32 تدوین شده است. مفاد این آموزش بر پایه تحلیل ساختار مستندات رسمی شرکت STMicroelectronics تا تاریخ 2026-11-01 استخراج شده و منحصراً بر نصب ابزارها، ساختار پوشهها و درک تفکیک لایههای نرمافزاری متمرکز است. در این مرحله پروژهٔ میانافزار و نمونهکد نداریم؛ نصب محلی مجموعهٔ ابزارهای دسکتاپ و آزمون روی برد نیز برای تهیهٔ این مقاله انجام نشدهاند. مراحل با منابع رسمی تطبیق داده شدهاند؛ خواننده نتیجهٔ نصب و نسخهٔ واقعی ابزارهای خود را در کاربرگ ثبت میکند. ساخت و بررسی پروژه در درس بعد انجام میشود.
برد هدف این دوره آموزشی، ماژول GebraBit GB100ST V2.0 مجهز به میکروکنترلر STM32F303CBT6 است. با این حال، اجرای مراحل این درس نیازی به همراه داشتن سختافزار فیزیکی ندارد؛ هرچند پروگرامر ST-LINK میتواند به عنوان ابزاری اختیاری برای راستیآزمایی نصب درایور استفاده شود.
این درس پیشنیاز ندارد. برای دنبالکردن ترتیب دوره: درس 2؛ گام بعد: درس 4.
مدل اکوسیستم STM32: تفکیک ابزارها و مرزبندی مفاهیم
توسعه حرفهای مبتنی بر STM32 در این دوره از 3 ابزار و یک بستهٔ نرمافزاری مکمل استفاده میکند که تفکیک وظایف آنها مانع از سردرگمی در عیبیابی خطاهای سیستمی میشود:
- STM32CubeIDE: محیط یکپارچه توسعه (IDE) بر پایه پلتفرم استاندارد Eclipse و زنجیره ابزار Arm GNU Toolchain. این محیط میزبان نوشتن کد، فراخوانی کامپایلر و مدیریت نشستهای دیباگ است.
- STM32CubeMX: نرمافزار مستقل برای پیکربندی گرافیکی واحدهای جانبی، پایهها، توزیع درخت کلاک و محاسبه مصرف توان که کد اولیه را تولید میکند.
- STM32CubeProgrammer: نرمافزار تخصصی برای پاکسازی، برنامهریزی مستقیم، ارتقای فریمور پروگرامر و پیکربندی ثباتهای Option Bytes که در درس 6 بررسی میشود و جایگزین IDE نیست.
- STM32CubeF3: بسته نرمافزاری توکار شامل درایورهای HAL، LL، لایه سختافزاری CMSIS و پروژههای مرجع نسخه V1.11.6 برای میکروکنترلرهای سری F3. این بسته کتابخانه کدهای C است؛ نه درایور USB ویندوز است و نه کامپایلر.
در درک چرخه توسعه، رعایت تمایز میان اصطلاحات زیر الزامی است:
- ذخیره سورسکد در برابر کامپایل: کلید Ctrl+S صرفاً متن ویرایشگر را روی دیسک ذخیره میکند؛ در حالی که کامپایل فرآیند تجزیه، اعتبارسنجی نحوی و تبدیل کد به باینری ماشین است.
- کامپایل در برابر فلش کردن: بیلد موفق تنها فایل اجرایی با پسوند .elf یا .bin در پوشه پروژه تولید میکند و تغییری در حافظه میکروکنترلر ایجاد نمیکند. انتقال این فایل به حافظه فلش نیازمند فرآیند مجزای برنامهریزی (Flashing) است.
- پروگرامر در برابر دیباگر: ابزار پروگرامر داده را روی فلش ذخیره میکند؛ اما دیباگر امکانات توقف، اجرای گامبهگام و مشاهدهٔ وضعیت پردازنده را فراهم میکند. یک رابط مانند ST-LINK میتواند هم برای پروگرام و هم برای دیباگ به کار رود.
تغییر بنیادین از نسخه 2.0 نرمافزار: مطابق یادداشت رسمی انتشار STM32CubeIDE 2.0.0، بخش گرافیکی CubeMX از داخل محیط نرمافزار حذف شده و به عنوان برنامهای کاملاً مستقل (Standalone) عمل میکند. در نسخههای امروزی، گردش کار استاندارد بدین صورت است: پیکربندی در CubeMX انجام میگیرد، نوع ابزار روی STM32CubeIDE تنظیم و پروژه تولید میشود؛ سپس پروژه تولیدشده در CubeIDE باز میگردد. بخش پیکربندی یکپارچه در آموزشهای نسخهٔ 1.x را مستقیماً روی نسخهٔ 2.x تکرار نکنید. خود IDE همچنان امکان ساخت پروژهٔ خالی دارد؛ حذف پیکربندی گرافیکی داخلی به معنای حذف همهٔ انتخابگرها نیست. یادداشت رسمی تغییر گردش کار این تفاوت را توضیح میدهد.

تفکیک چهار لایه ذخیرهسازی: مسیر نصب، فضای کاری، پروژه و مخزن بستهها
مدیریت منظم فایلها پیششرط کارکرد پایدار کامپایلر است. چهار سطح تفکیک مسیر در محیط توسعه وجود دارد:
- پوشه نصب برنامه (Installation Directory): محل ذخیره فایلهای اجرایی سیستم و زنجیره ابزار مانند
C:\ST\STM32CubeIDE_2.2.0. این مسیر صرفاً نمونه است. پروژه را جدا از فایلهای نصب برنامه نگه دارید تا حذف یا بهروزرسانی برنامه به سورس پروژه وابسته نباشد. - فضای کاری (Workspace): پوشهای که تنظیمات رابط کاربری، تمها، موقعیت پنجرهها و متادیتای Eclipse را نگه میدارد. پوشهٔ
.metadataتنظیمات محلی محیط را نگه میدارد. پوشهٔ هر پروژه میتواند داخل Workspace یا در مسیری جدا باشد؛ از سورس و تنظیمات خود پروژه نسخهٔ پشتیبان بگیرید. - پوشه پروژه (Project Folder): دایرکتوری دربرگیرنده فایل پیکربندی .ioc، کدهای منبع لایه کاربر، فایلهای درایور و نتایج بیلد.
- مخزن بستهها (Package Cache / Repository): پوشهای که کتابخانههای رسمی را نگهداری میکند و مسیر واقعی آن را باید در تنظیمات CubeMX بررسی و یادداشت کنید؛ مسیر را از رایانهٔ دیگری فرض نکنید.
هشدار درباره مسیرهای غیرلاتین: برای کاهش مشکلات سازگاری ابزارها، مسیر پروژه و Workspace را کوتاه و با حروف لاتین و بدون فاصله انتخاب کنید؛ مثلاً C:\STM32\workspace. این توصیه به معنی خطادادن قطعی هر مسیر دارای فاصله نیست و نیازی به تغییر نام حساب ویندوز ندارید. اگر نصب یا ساخت با خطای مسیر روبهرو شد، متن دقیق خطا و دسترسی نوشتن را بررسی کنید.

مراحل گامبهگام نصب نرمافزارها و درایورها
گام 1: دریافت و نصب STM32CubeIDE
به صفحهٔ رسمی STM32CubeIDE مراجعه کرده و نگارش کلاسیک مبتنی بر Eclipse برای ویندوز 64 بیتی را دریافت نمایید (نسخه کاتالوگ کنونی 2.2.0 است). مراحل دریافت و پذیرش مجوز رسمی را دنبال کنید؛ اگر سایت ورود به حساب ST خواست، همان روش رسمی را انجام دهید. این مقاله نسخهٔ Eclipse را آموزش میدهد؛ نگارش جداگانهٔ مبتنی بر VS Code پنجرهها و روش کار متفاوتی دارد. پس از اتمام نصب، برای مستندسازی دقیق، نگارش نصبشده را از منوی Help > About STM32CubeIDE یادداشت نمایید. در نخستین اجرا یک Workspace قابل نوشتن مانند C:\STM32\workspace انتخاب کنید. اگر صفحهٔ Welcome باز شد، آن را ببندید تا محیط اصلی را ببینید. در صورت فراموشکردن مسیر، از انتخاب فضای کاری هنگام اجرای بعدی کمک بگیرید؛ یک Workspace را همزمان در دو نمونهٔ IDE باز نکنید.
گام 2: نصب مستقل STM32CubeMX
نرمافزار مستقل را از صفحهٔ STM32CubeMX دریافت و در مسیری استاندارد نصب کنید. نگارش کاتالوگ جاری 6.18.1 است؛ با این وجود، پروژههای پایه این دوره قبلاً با نگارش 6.14.0 و پایگاه داده 6.0.140 ایجاد شدهاند. نسخهٔ کاتالوگ با نسخهٔ تولید پروژه یکسان نیست. بازکردن و ذخیرهکردن پروژه با نسخه یا بستهٔ متفاوت ممکن است فایلها را تغییر دهد؛ ابتدا نسخهٔ پشتیبان بگیرید و نتیجهٔ تولید دوباره و ساخت را بررسی کنید. در این مقاله سازگاری کامل ترکیب نسخههای دسکتاپ ادعا نمیشود. برای تکرار دقیق فایل همراه هر درس، نسخههای گزارش همان پروژه ملاکاند.
گام 3: نصب پکیج STM32CubeF3
نرمافزار CubeMX را اجرا کرده و از منوی Help > Manage embedded software packages وارد فهرست پکیجها شوید. بخش STM32F3 را پیدا کرده و بسته نسخه V1.11.6 (متناظر با شناسه کامیت 663d2baae3604244f90ed80d0d757df17e36ada9) را انتخاب و نصب نمایید. نام و جای منو ممکن است با نسخه تفاوت داشته باشد؛ راهنمای رسمی نصب و مدیریت بستهها را با نسخهٔ خود تطبیق دهید. پس از پایان، نصبشدن نسخهٔ انتخابی و محل مخزن را بررسی کنید. این بسته، کدهای منبع HAL و لایههای سطح پایین میکروکنترلر STM32F303CBT6 را فراهم میکند.
گام 4: آمادهکردن CubeProgrammer و درایور ST-LINK
ابزار STM32CubeProgrammer را از صفحهٔ رسمی متناسب با ویندوز خود دریافت و طبق راهنمای نصاب نصب کنید. اکنون فقط اجراشدن برنامه و شمارهٔ نسخه را ثبت کنید؛ اتصال به تراشه و نوشتن حافظه در درس 6 انجام میشود.
بستهٔ درایور رسمی STSW-LINK009 را برای ویندوز 10 و 11 استخراج نموده و فایل اجرایی متناسب با ویندوز 64 بیتی را طبق فایل راهنمای همراه بسته نصب کنید؛ اگر نصاب دسترسی مدیر خواست، از همان فرایند ویندوز استفاده کنید. در صورت اتصال اختیاری پروگرامر، در بخش Device Manager دستگاه مربوط به پروگرامر را پیدا کنید و نام یا شناسهٔ آن و وجود علامت هشدار را بررسی کنید؛ عنوان شاخه به مدل و درایور وابسته است. توجه نمایید که شناسایی موفق پورت USB تنها تأییدکننده ارتباط رایانه با چیپ پروگرامر است و به معنای اتصال به میکروکنترلر هدف یا تست موفق نوشتن حافظه نیست. همچنین پورت سریال مجازی (Virtual COM Port) تنها در مدلهای خاصی از ST-LINK فعال است و غیبت آن نشانه نقص نیست.
وضعیت پرچمهای خطایابی GCC
زنجیره ابزار شامل کامپایلر، اسمبلر و لینکر است. گزینهٔ هشدار -Wall و تبدیل هشدار به خطا با -Werror در درس 4 هنگام ایجاد نخستین پروژه از مسیر تنظیمات Project Properties > C/C++ Build > Settings > GCC Compiler > Warnings بررسی میشوند. عنوان دقیق منوها به نسخهٔ پروژه و ابزار وابسته است. این درس هنوز گزارش کامپایل ندارد. نسخهٔ GCC را از لاگ ساخت واقعی درس بعد بخوانید؛ نسخهٔ GCC همراه IDE را صرفاً از روی شمارهٔ خود IDE یا نسخهٔ 13.2.1 بهکاررفته در محیط ساخت پروژههای دوره فرض نکنید.
آشنایی با نماها (Perspectives) و پنجرههای اصلی CubeIDE
محیط کاربری STM32CubeIDE آرایش پنجرهها را بر اساس سناریوی کاری در قالب دیدگاهها (Perspectives) سازماندهی میکند:
- دیدگاه C/C++ Perspective: چینش پیشفرض جهت مرور پروژه، ساختار درختی و نگارش کدهای منبع.
- دیدگاه Debug Perspective: ساختار تخصصی پایش رجیسترها، حافظه، متغیرهای زنده، کنترل اجرای برنامه و پیشروی خطبهخط دستورات. ورود عملی به جلسهٔ دیباگ در درس 7 انجام میشود.
چهار پنجره بنیادین در نمای ویرایش عبارتند از:
| نام پنجره | موقعیت پیشفرض | عملکرد اصلی | نکته رفتاری مهم |
|---|---|---|---|
| Project Explorer | سمت چپ | مدیریت سلسلهمراتبی فایلهای سورس، هدر و تنظیمات | نمایش فیزیکی و مجازی فایلهای متصل به پروژه |
| Editor Pane | مرکز | ویرایشگر کدهای C و فایلهای لینکر اسکریپت | پشتیبانی از کدهای رنگی و ناوبری نمادها |
| Console | پایین | خروجی زنده ابزارهای کامپایلر، لینکر و بیلد | مرجع نهایی و قابل استناد صحت کامپایل |
| Problems | پایین | فهرست خطاها و هشدارهای ساخت و تحلیل محیط | ممکن است شامل هشدارهای قدیمی ایندکسر باشد |
پنجره Problems گاهی به دلیل تأخیر در بهروزرسانی شاخصهای پیشنمایش، هشدارهای منسوخ را نمایش میدهد؛ بنابراین گزارش ساخت جاری و کامل را در Console بررسی کنید؛ مطمئن شوید کنسول مربوط به پروژه و اجرای موردنظر انتخاب شده است. موفقیت ساخت به معنی صحت منطقی برنامه یا تأیید اجرای آن روی برد نیست.
تمرین سنجش آمادگی محیط توسعه
برای اطمینان از صحت مراحل نصب بدون نیاز به تولید کد فریمور، سناریوهای آزمون زیر را اجرا کرده و نتایج را تطبیق دهید:
| گام ارزیابی | اقدام عملی کاربر | رفتار و نتیجه پیشبینیشده | چه چیزی را بررسی میکند؟ |
|---|---|---|---|
| 1 | اجرای میانبر STM32CubeIDE | نمایش انتخاب Workspace یا بازشدن فضای کاری ذخیرهشده | آمادگی هسته نرمافزار |
| 2 | تأیید مسیر پیشفرض بدون کاراکتر غیرلاتین | باز شدن محیط اصلی با پنجرههای چهارگانه بدون خطای جاوا | سلامت رابط کاربری |
| 3 | اجرای برنامه مستقل STM32CubeMX | لود شدن کامل صفحه آغازین و دسترسی به منوی Help | استقلال پایگاه ابزار |
| 4 | بررسی پکیجها در CubeMX | نمایش وضعیت نصبشده برای نسخه 1.11.6 بستهٔ F3، با نشان متناسب با نسخهٔ ابزار | آمادگی کتابخانههای پایه |
| 5 (اختیاری) | اتصال کابل ST-LINK به درگاه USB | شناسایی دستگاه در Device Manager بدون علامت تعجب زرد | آمادگی درایور بستر ویندوز |
راهنمای عیبیابی خطاهای رایج نصب
| نشانه خطا | مواردی برای بررسی | روش رفع مشکل |
|---|---|---|
| عدم دانلود خودکار پکیج STM32CubeF3 در CubeMX | شبکه، پروکسی، فضای دیسک، خطای دریافت یا درخواست ورود رسمی | دریافت فایل فشرده پکیج مستقیماً از سایت رسمی و افزودن از منوی From Local |
| علامت تعجب زرد روی نام ST-LINK در مدیریت دستگاه ویندوز | وضعیت درایور، کابل USB و کد خطا در مشخصات دستگاه | خواندن کد خطا و راهنمای رسمی درایور؛ بررسی کابل و نصب متناسب با سیستم. امضای درایور را غیرفعال نکنید. |
| خطای مسیر نامعتبر هنگام تعیین Workspace | مسیر غیرقابل نوشتن، قفل بودن Workspace یا ناسازگاری مسیر | تعریف مسیری کوتاه، سرراست و تماماً انگلیسی در ریشه دیسک مانند C:\gebrabit_workspace |
| تلاش برای باز کردن پیکربندی گرافیکی داخل منوهای IDE | تکیه بر آموزههای قدیمی نسخه 1.x و انتظار ابزار ادغامشده | باز کردن نرمافزار مستقل STM32CubeMX جهت تولید پروژه برای CubeIDE |
خودآزمایی و تمرین
1. چرا نصب CubeIDE برای پیکربندی پایهها کافی نیست؟ از نسخهٔ 2.0، بخش پیکربندی گرافیکی و تولید کد اولیه در CubeMX مستقل انجام میشود؛ IDE کار ویرایش، ساخت و دیباگ را بر عهده دارد.
2. تفاوت STM32CubeF3 و STSW-LINK009 چیست؟ اولی کدهای توکار و مثالهای خانوادهٔ F3 است؛ دومی درایور USB ویندوز برای مدلهای پشتیبانیشدهٔ ST-LINK است.
3. اگر ST-LINK در Device Manager دیده شود، آیا برنامه روی برد اجرا شده است؟ خیر؛ این مشاهده فقط به شناسایی رابط USB مربوط است. هنوز ارتباط با تراشه، پروگرام و اجرای برنامه بررسی نشدهاند.
تمرین عملی: کاربرگ دانلود را باز کنید. نسخه و مسیر واقعی IDE، CubeMX و مخزن F3 را ثبت کنید؛ برای کاری که انجام ندادهاید وضعیت «در انتظار» نگه دارید. IDE و CubeMX را ببندید و دوباره باز کنید و مسیر Workspace را بررسی کنید. سپس 4 پنجرهٔ معرفیشده را پیدا کنید؛ اگر پنجرهای بسته است، از فهرست نماهای Window > Show View آن را باز کنید. در این مرحله خالیبودن Project Explorer طبیعی است.
جدول مراجع و نقش اسناد رسمی
| نام منبع | پیوند رسمی | نقش منبع در تنظیم سرفصل |
|---|---|---|
| STM32CubeIDE Portal | صفحهٔ STM32CubeIDE | مرجع کاتالوگ ابزار توسعه، انتخاب نگارش کلاسیک مبتنی بر Eclipse و تفکیک ویرایشها |
| Release Note 2.0.0 | اعلام رسمی انتشار نسخهٔ 2.0.0 | تأیید رسمی استقلال نرمافزار CubeMX و تغییر معماری گردش کار پروژهها |
| STM32CubeMX Portal | صفحهٔ STM32CubeMX | مرجع کاتالوگ ابزار پیکربندی و تطبیق نگارش جاری کاتالوگ با نسخههای آزمایشگاهی پیشین |
| STM32CubeF3 Firmware | صفحهٔ بستهٔ STM32CubeF3 | مرجع درایورهای رسمی لایههای HAL و LL و شناسایی بسته نگارش 1.11.6 |
| STSW-LINK009 Driver | درایور STSW-LINK009 | مرجع درایور رابط ارتباطی USB برای سیستمعاملهای ویندوز 10 و 11 |
| UM2609 User Guide | راهنمای UM2609 | راهنمای مفهومی دیدگاهها، مدیریت پنجرهها و ساختار زنجیره ابزار کامپایلر |
چکلیست نهایی و آمادگی برای درس 4
پیش از شروع درس آینده و اقدام به ساخت نخستین پروژهٔ قابل ساخت برای برد GebraBit GB100ST V2.0، اطمینان حاصل کنید که موارد زیر را محقق کردهاید:
- محیط STM32CubeIDE در مسیر فاقد کاراکترهای غیرلاتین نصب شده و شماره نگارش آن از بخش Help > About ثبت شده است.
- نرمافزار مستقل STM32CubeMX به درستی اجرا میشود.
- بسته نرمافزاری STM32CubeF3 V1.11.6 در وضعیت نصبشده قرار دارد.
- نسخهٔ CubeProgrammer ثبت شده و پنجرههای اصلی محیط توسعه شناسایی شدهاند؛ درایور ST-LINK نیز برای استفادهٔ بعدی آماده باشد. بررسی USB بدون پروگرامر را «انجامنشده» ثبت کنید.
دانلود فایلهای همراه این آموزش
کاربرگ نصب، ثبت نسخهها و منابع رسمی، راهنمای فایلها و 2 نمودار آموزشی؛ این بسته فریمور ندارد.
- پوشهٔ درس 3 در گیتهاب
- دانلود همهٔ فایلهای همراه ـ ZIP، حدود 188 kB
- راهنمای استفاده از فایلهای این درس
دانلود به نسخهٔ مشخص همراه مقاله متصل است. ابتدا ZIP را استخراج و راهنما را مطالعه کنید.