به نام خدا : دوستان سلام؛ قصد دارم از این به بعد هر چهارشنبه با یک اموزش از میکرو های ارم کمپانی ST با کامپایلر کیل و توابع CMSIS در خدمتتون باشم؛ خیلی سعی میکنم منظم این کارو انجام بدم از اونجایی که اموزش نصب نرم افزار کیل و کرک کردنش توی اینترنت زیاده جلسه اول رو با ساخت پروژه در نرم افزار کیل شروع میکنیم.
آموزش میکروکنترلر های arm سری stm32f10x جلسه 1
توجه : برای دیدن عکس ها در اندازه اصلی روشون کلیک کنید تا در صفجه جدید باز بشن.
1) در مرحله اول نرم افزار کیل رو باز میکنیم و از نوار منو گزینه project و بعد new vision project رو انتخاب میکنیم.
2) بعد صفحه ای مثل عکس پایین باز میشه که بایستی محل ذخیره ونام پروژه تون رو بهش بدین.
3) پنجره ای به شکل زیر باز میشه که در اون بایستی میکروتون رو انتخاب کنید.
از اون نوار کشویی گزینه legace Device Database رو انتخاب میکنیم اگه این گزینه موجود نبود باید پک مربوط به میکرو های cortex m رو نصب کنید؛ چون من از میکروی stm32f107vc استفاده میکنم اسمشو سرچ میکنم و میکروم رو از لیست انتخاب میکنم و مشخصات میکرو رو در سمت راست صفحه برام میاره و در نهایت گزینه ok رو میزنم.
4) صفحه جدیدی باز میشه و از شما سوال میکنه که ایا فایل استارت اپ رو اضافه کنم؟ و شما گزینه yes رو میزنید؛ حالا استارت اپ چیه:همین طور که از اسمش مشخصه cpu ابتدا میاد از فایل استارت اپ شروع میکنه و یک سری کارا میکنه مثلا بردار های وقفه رو تنظیم میکنه،میکرو رو ریست میکنه و مقادیر پریفرال ها رو صفر میکنه.کلاک میکرو رو تنظیم میکنه و…
5) روی فایل پروژه راست کلیک کرده و add group رو میزنیم تا پوشه ای به پروژه اضافه بشه .درواقع این کار برای مرتب کردن پروژس و الزامی نیست . میتونیم نام پوشه ها رو با زدن کلید f2 تغیر بدیم.
6) حالا اگه پروژتون رو کامپایل کنید میبینید که دوتا ارور داره.برای رفع ارور اولی باید لایبراری cmsis رو اضافه کنیم . ابتدا کتاب خونه های cmsis رو از سایت st دانلود میکنیم(لینک پایین صفحه . برای دانلود باید ثبت نام کنید) و پوشه لایبراری رو داخل پوشه پروژمون کپی میکنیم :
وبا دابل کلیک روی پوشه جدیدی که ایجاد کرده بودیم پنجره زیر مشاهده میشود.
از داخل فایل پروژه library /CMSIS/CM3/DEVICE SUPPORT/ST/STM32F10Xفایل system_stm32f10x.c روانتخاب میکنیم.گزینه ADDرو میزنیم و مجددا پروژرو کامپایل میکنیم حالا پروژه فقط یک ارور داره.
7) کتاب خونه های CMSIS که ما در پروژمون استفاده میکنیم رو در واقع برای تمام سری های F1 نوشتن و ما باید بگیم که میکرومون چیه و کامپایلر برای میکرو ما بیاد کامپیال کنه؛ که تو عکس زیر سری های مختلف میکرو مشخص شده.
که هشت سری وجود داره به ترتیب از سری اول تا سری هشتم نوشته شده که اخرین سری Connectivity line هستش و بیشترین امکانات رو داره و متقابلا هشت defined وجود داره که اونها هم به ترتیب بالاست؛ میکروی من Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers هستش پس بنا براین باید اینو به کامپایلر بگم که در واقع باید به کامپایلر بگم میکروم STM32F10X_CL هستش (اخر خط 95) این همون مخفف کلمه بالاست که شما باید میکروتون جزو هر سری بود مخففش رو دیفاین کنید(خلاصه تر بگم اگه میکرو شما از سری خط اول بود شما عبارت جلوی defined یک رو اعمال کنید اگه دو بود دو و…) که الان میگم چطوری؛ طبق عکس زیر در باکس دیفاین عبارت STM32F10X_CL رو کپی میکنید و اوکی رو میزنید.
8) حالا فقط باید سند مین رو به پروژمون اضافه کنیم برای این کار از منوی file و سپس new رو انتخاب میکنیم یک فایل جدید ایجاد میشه و اونو با نام و پسونو main.c در پوشه پروژه ذخیره میکنیم و مثل قبل یک گروه جدید میسازیم و اسمشو main میذاریم البته فقط برای مرتب بودن پروژه نخواستیم هم نمیسازیم .وسند رو طبق زیر به پروژه اضافه میکنیم.
با دابل کلیک روی پوشه مین و انتخاب سند مین اون رو به پروژه اضافه میکنیم و در نهایت تابع مین رو مینویسیم داخل سند مین و کامپایل میکنیم و نباید اروری داشته باشیم.
مهمان
سلام من طبق مراحل شما پیش رفتم ولی موقع کامپایل کردن اینوBuild target ‘Target 1’
linking…
.\first.axf: Error: L6218E: Undefined symbol main (referred from rtentry2.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 1 error messages.
“.\first.axf” – 1 Error(s), 0 Warning(s).
Target not createdنشون لطفا کمک کنید
مهمان
سلام و خسته نباشید بابت این آموزش های خوب و عالی
یک سوال خیلی مهم چرا از قسمت manage run-time environment برای افزودن کتابخونه استفاده نمیکنید؟؟؟
تمام سایت های ایرانی هم خودشون کتابخونه رو به پروژه اضافه میکنند. دلیلش چیه؟؟؟
متین لینک رو ببینید: http://s6.picofile.com/file/8375968984/1.jpg
توی آموزش های keil داخل YouTube به زبان انگلیسی همه اش از این بخش استفاده میکنه در ضمن یه زیر مجموعه داخل قسمت Device داره که اسمش هم هست STM32Cube Framework، ولی نرم افزار من نداره!! توابع HAL رو هم ندارم. از قسمت Pack هم نمیتونم دانلود کنم چون وجود نداره!!! باید چیکار کنم؟؟؟
ممنونم با تشکر.
مهمان
سلام، با تشکر از سایت خوبتون
برای شروع کار با ARM نیازی هست پروگرامر تهیه کنم؟ آیا بردی هست که پروگرامر داشته باشه و برای شروع کار مناسب باشه؟
اصلا آیا نیازیه از اول سخت افزاری کار کنم؟
اگه فرصت داشتید، ممنون میشم کمکم کنید.
با تشکر
مهمان
سلام ، ممنون

یه سوال داشتم ARM سری ST با سری STM فرقی داره؟ یا هردوتاش یکی هست
مدیر سایت
سلام
شرکت STMicroelectronics یا به صورت مخفف st نامیده میشه – سایتی داره با همین نام st.com
میکروهاش پیشوند stm دارند.
st نام شرکت – stm پیشوند نام میکرو – مثلا میکروی STM32F031K6T6
مهمان
ممنون برادر
مهمان
با سلام.در پنجره سوم برای من سری stm رو نمیاره و فقط cortex ها هستن.چی کار باید کرد؟
ممنون از اموزش های خوبتون
مهمان
https://www.aparat.com/v/67nzf
مهمان
با سلام خدمت شما خواستم ازتون بابت مطالب با ارزشی که داخل این سایت میزارین تشکرکنم.
مهمان
سلام مهندس بسیار عالی وآموزنده
ببخشیدرتبه شما توکاردانی چند شده؟
مهمان
سلام مهندس عزیز، لطفاآموزشها رو بصورت فایل pdfبرای دانلود بگذارید ممنون خواهم شد، به نظرم اینجوری تاثیر بیشتری در یادگیری خواهد داشت. سپاسگزارم از اینکه دانش خودتون رو در اختیار ما قرار میدید, امیدوارم بیش از پیش موفق باشید
مدیر سایت
سلام
کسی که بخواد یاد بگیره – حتی شده سراغ منابع خارجی و دیتاشیت و … هم میره تا یاد بگیره.
کسی هم نخواد – فیلم آموزش جامع فارسی رایگان هم بهش بدی…
مهمان
موافقم صد در صد
مهمان
سلام و خسته نباشید .
واقعا خسته نباشید .
آقا میشه لطف کنید این cmsis ها رو خودتون آپلود کنید ؟؟؟ هرچی زور میزنم دانلود نمیشن .
مرسیییییییی
نویسنده این مطلب
سلام…چشم .. خودم اپلود میکنم لینکشو اصلاح میکنم
مهمان
سلام
خیلی منون
من با کامپایلر IAR کار میکنم
با این حال آموزش شما رو دنبال خواهم کرد
موفق باشید
نویسنده این مطلب
مهمان
سلام
خداقوت
عالی
electropi.ir
نویسنده این مطلب
سلام دوست من …متشکرم..خوشحال میشم اگه با انتقاد هاتون بنده رو در بهتر شدن کیفیت اموزش ها کمک کنید.
مهمان
سلام


از اینکه این اموزش ها رو در سایت قرار میدهید ممنونیم …
سایت های زیادی هستن که آموزش آرم رو شروع کردن اما نمیدونم چرا دیگه ادامه نمیدن !!
لطفا شما ادامه بدین
اگه ممکنه راجب CMSIS هم بیشتر توضیح بدین
ممنون
نویسنده این مطلب
سلام دوست من

شما با انتقادات و نظرات خوبتون بهم روحیه بدین تا ادامه بدم
درمورد cmsis هم چشم .