اطلاعیه

Collapse
No announcement yet.

آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

    سلام به همه
    پست های مختلفی در مورد شروع کار با STM32 ها هست، اما به دلیل پست های عجیبی که بقیه داخلش میزاشتن معمولا موضوع منحرف میشد،
    لطفا کسی اینجا به غیر از آموزش پست نده و اگر سوالی داشتین واسش یه تاپیک جدا باز کنین تا إن شاء الله یه تاپیک منسجم برای کسایی که تازه میخوان شروع کنن وجود داشته باشه
    سعی میکنم تا حدی که بتونن تازه کارا گلیمشون رو از آب بیرون بکشن آموزش رو سریع پیش ببرم و بعدش به مرور آموزش های جدید رو میزارم
    دوستان در خواست یه تاپیک برای بیان سوالات داده بودن
    اینم از آدرس تاپیک بخش سوالات:
    برای رفتن به تاپیک سوالات روی همین متن کلیک کنین

    -----------------
    اطلاعات اولیه:
    -----------------
    توضیح کوتاه که چرا stm32:
    arm های زیادی وجود داره اما توی ایران بیشترین بحث سره stm32 ها و lpc ها هستش
    1 - قیمت بسیار مناسبتره stm32 ها نسبت به lpc ها برای من بیشترین دلیل بود که از lpc به stm32 ها سوییچ کنم
    2 - ابزار کار راه انداز بسیاری برای stm32 ها وجود داره که تقریبا حتی کار باهاشون رو از avr راحتتر میکنه
    3 - اگر به فکر تولیدات دستگاه های خونگی و استفاده روزمره معمولی و صنعتی غیر حساس و یا چیزای پایین تر هستین پیشنهاد میدم حتما از stm32 ها استفاده کنین و سمت lpc ها نرید تا بتونین توی بازار رقابت کنین اما اگر به فکر تولید دستگاه های حساس مثل ماهواره های جاسوسی ، موشکای بالستیک هستین برید دنبال arm های شرکت های خاص و باز به فکر lpc ها نباشید ، در کل بنظرم برای بازار ایران در دو حالات بالا برای lpc ها جایی وجود نداره
    - نرم افزار های رایگان زیادی براش وجود داره (هم از شرکت خودش یعنی st و هم از جاهای دیگه
    - شرکت st پشتیبانی خوبی از محصولاتش داره و اطلاعات مفید زیادی بهتون ارائه میکنه مثلا چه نرم افزار هایی برای میکرویی که انتخاب کردین به صورت رایگان و غیر رایگان وجود داره و خودش لینک اونا رو در اختیارمون میزاره)
    ----------------
    توی اینجا کدوم میکرو آموزش داده میشه:
    نکته مهم در مورد stm32 ها اینه که زیاد فرقی نمیکنه شما با کدومش کار میکنین چون یه کتابخونه قدرتمند برای stm32 ها از طرف شرکت st به صورت استاندارد ساخته شده و رایگان ارائه میشه و در صورتی که از این کتابخونه استفاده کنین تقریبا کد نویسی تمام سری stm32 ها یکسان میشه
    من اینجا از برد
    Discovery kit with STM32F746NG شرکت st استفاده میکنم که روش میکرو stm32f746ngh6 وجود داره اما برای شما فرق خاصی نمیکنه و میتونین از اموزش این میکرو برای یادگیری سری های دیگه استفاده کنین
    ----------------
    و از همه مهم تر:
    من از لحاظ زمانی خیلی تو فشارم، اینکه میام اینجا و پست میزارم یک دلیل داره کمکی به بقیه انسان ها کرده باشم بدون طلب چیزی، به این دلیل که امام زمان (عج) دوست داره انسانها با هم یار و یاور باشن در
    غیر اینصورت من یکی آدمی بودم که توی این شرایط کنونی زندگیم فقط به فکر خودم باشم.
    جدیدترین ویرایش توسط mahdi89; ۲۱:۳۱ ۱۳۹۵/۰۷/۲۴.
    اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
    شهيد دکتر مصطفي چمران
    اللهم صل علي محمد و ال محمد و عجل فرجهم
    ; C is not for children

    #2
    پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

    نحوه اسم گذاری میکرو های شرکت st:
    در حال حاظر برای میکرو های شرکت st دو حالت داره:
    stm8 که جز خانواده ARM به حساب نمیان
    stm32 جز خانواده ARM ها هستن
    stm مخفف شرکت تولید کننده این میکرو ها هستش ، یه شرکت قدیمی و معروف که ic های زیادی رو توی بازار داره ، توی اکثر لوازم الکترونیکی موجود کمتر پیش میاد یه از یکی از ic های این شرکت استفاده نشده باشه، بچه های قدیمی که تو کار گوشی و تعمیر گوشی هایی مثل نوکیا بودن حتما با اسم این شرکت آشنایی دارن
    سایت این شرکت st.com هستش
    عدد بعد از نام stm به معنی بیت کاری میکرو هستش مثلا برای شرکت atmel که امروزه به شرکت microchip فروخته شده برای میکرو های 8 بیتی اسم های زیادی داشت مثلا اسم معروف atmega avr هستش (حدود 10 سال پیش سر این که از pic استفاده کنیم یا از avr توی ایران بحث های داغی میشد که گاهی اوقات به ... میکشید اما حالا دو شرکتی که اینا رو میساختن کناره هم دارن کار میکنن و یکی شدن! نتیجه: روی شرکت st و nxp که ic های stm و lpc رو تولید میکنن هیچوقت تعصب نداشته باشین و هر کدوم که جواب کارتون رو ارزونتر و بهتر میده از همون استفاده کنین)
    که تقریبا اکثر arm های امروزی 32 بیتی هستن (مدل دیگه هم داریم مثل 64 بیتی که فعلا ما کاری بهش نداریم و برای ساختن گوشی های هوشمند ، تبلت و از این قبیل موارد بیشتر بکار میان)

    نمونه یه اسم کاملتر از میکرو Arm تولید شرکت St:
    stm32f
    stm32-f
    این حرف f مشخص کننده رده کاری هست که این میکر براش ساخته شده(خانواده خیلی کم مصرف، خانواده وایرلس ها ، خانواده کارهای معمول(استاندارد) و...)

    نمونه یه اسم کامل
    تر از میکرو Arm تولید شرکت St:
    stm32f7
    stm32f-7
    این عدد 7 معرف سری خانواده هست که بیان میکنه ما از کدوم کتابخونه استاندارد ARM ارائه شده توسط خود شرکت ST باید استفاده کنیم، البته باید این عدد را به همراه عدد های بعدیش بخونیم تا اطلاعات کاملتری بهمون بده یعنی stm32f746


    نمونه یه اسم کامل از میکرو arm شرکت st:
    STM32F746NGH6
    STM32F746-N-G-H-6
    حرف N تعداد پایه های میکرو رو مشخص میکنه
    حرف G مقدار حافظه فلش رو مشخص میکنه
    حرف H نوع پکیج (بسته بندی) ic رو مشخص میکنه
    اون عدد 6 هم محدوده دمای قابل تحمل رو نشون میده

    من توی اینترنت الان فقط یه عکس که مشخصات رو توضیح میده پیدا کردم که مال خیلی وقت پیشه(چند سال پیش) و الان کمی نحوه تعریف متفاوت شده (البته تفاوت درواقع نیست بلکه کاملتر شده بعدا یکی از دوستان یه عکس که جدید باشه اضافه کنه "ممنون")
    [IMG][/IMG]





    توضیحات اضافی:
    [IMG][/IMG]





    پس در مرحله اول انتخاب یه میکرو arm از شرکت st چیزی که مهمه Fx هست که درواقع این x یه عدده که به ما بفهمونه با کدوم خانواده طرفیم.
    با توجه به برد آموزشی که میخوام باهاش کار کنم
    32F746GDISCOVERY یا همون
    Discovery kit with STM32F746NG

    از عدد بعده F میفهمیم که میکروی arm ما باید براش از کتابخونه STM32CubeF7 استفاده کنیم
    و با رجوع به user manual این برد آموزشی (user manual به شماره UM1907) و یا user manual خود ic متوجه میشیم که میکرو ما از نوع arm cortex-M7 هستش

    جدیدترین ویرایش توسط mahdi89; ۲۱:۰۸ ۱۳۹۵/۰۷/۲۴.
    اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
    شهيد دکتر مصطفي چمران
    اللهم صل علي محمد و ال محمد و عجل فرجهم
    ; C is not for children

    دیدگاه


      #3
      پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

      سلام به همه
      چندتا اشتباه کرده بودم که دوست عزیز روح المین اطلاع دادن، در اینجا درستش رو میزارم تا اگر کسی مطالب اشتباه رو خونده متوجه غلط بودنش بشه و بعد هم اشتباهات رو ویرایش میکنم تا در ذهن کسی که تازه تاپیک رو میبینه شکل نگیره
      خودمم هنگ کردم که چرا همچین اشتباهاتی رو کردم!!!
      1- گفته بودم که :
      در حال حاظر برای میکرو های arm شرکت st دو حالت داره:
      stm8
      stm32
      اما میکرو های سری Stm8 کلا جز خانواده arm به حساب نمیان و اونجارو که نوشته بودم arm اشتباه کرده بودم
      درستش:
      در حال حاظر برای میکرو های شرکت st دو حالت داره:
      stm8
      stm32
      ------------------------
      2-
      stm32f7
      stm32f-7
      این عدد 7 معرف سری کورتکسی هست که هسته اون میکرو داره باهاش کار میکنه مثلا برای همین شماره ما میفهمیم که هسته ic
      این عدد 7 همیشه معرف سری کرتکس نیستش و درواقع این عدد یکی از اطلاعاتی که به ما میده اینه که، ما برای استفاده از کتابخونه های استاندارد شرکت st از کدوم یکیش استفاده کنیم، چون کتابخونه های ارائه شده از طرف st برای arm ها چندتاست ( به تاریخ امروز 9 تا هستش که بعدا درمورد این کتابخونه ها و نحوه استفاده ازشون توضیح میدم)
      عکسی از نام و یه توضیح مختصر برای کتابخونه ها از شرکت st:






      3- اشتباه سوم:
      پس در مرحله اول انتخاب یه میکرو arm از شرکت st چیزی که مهمه Fx هست که درواقع این x یه عدده که به ما بفهمونه با کدوم خانواده cortex طرفیم.
      این عدد بیان میکنه که ما با کدوم خانواده طرفیم. و اون کلمه cortex که نوشتم اشتباهه
      اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
      شهيد دکتر مصطفي چمران
      اللهم صل علي محمد و ال محمد و عجل فرجهم
      ; C is not for children

      دیدگاه


        #4
        پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

        IDE: IAR
        چرا با نرم افزار IAR برای میکرومون برنامه نویسی کنیم؟
        خوب یه محیط خوب برای برنامه نویسی میتونه خصوصیات مختلفی داشته باشه، اما چند دلیل باعث شد من IAR رو انتخاب کنم:
        1- من تجربه کار با IDE های مختلفی رو دارم ، PICbasicPro, Bascom, Codvision, AtmelStudio, Keil, Iar و ... و در زمان کار با IAR نکاتی رو دیدم که باعث شد IAR رو انتخاب کنم (با کمی پیاز داغ به نظر من تفاوت IAR با KEIL مثل تفاوت Bascom با AtmelStudio هستش!)
        2- تا جایی که یادمه iar در کاملترین حالت چیزی نزدیک به 40 میلیون تومن و keil در کاملترین حالت نزدیک به 20 میلیون تومن قیمتشونه و در عین حال iar بازار خوبی داره
        3- اگر میخواید حرفه ای کار کنین حتما برای پروژه نهایی تون از iar استفاده کنین
        برای arm های stm32 من به نوبت IAR , KEIL , SW4STM32 رو توصیه میکنم(دوتای اولی (IAR & KEIL) پولی و سومی (SW4STM32 ) رایگان هستش) (خود شرکت st این سه مدل رو بهتر پشتیبانی میکنه و برای هر سه شون مثال های زیادی زده)
        با keil , iar میتونین برای انواع میکرو های دیگه چه arm و چه غیر arm برنامه نویسی کنین (البته محدوده میکرو هایی که iar پشتیبانی میکنه بسیار وسیع تره)
        چند نکته مهم:
        به هیچ عنوان روی انتخاب IDE (نرم افزاری که باهاش میکرو رو برنامه نویسی ، خطایابی ، پروگرام و ... میتونید بکنین) سخت نگیرین و فقط شروع کنین
        به دلیل استفاده از کتابخونه استاندارد شرکت ST برای arm ها، در صورتی که بخواین ide خودتون رو عوض کنین کاره ساده ای هست و با کمی تغییرات جزیی این کار میسره
        - در حال حاظر من هم از keil و هم از iar برای برنامه نویسی استفاده میکنم، اما تمرکزم روی iar هست (keil بنظرم راحت تر برنامه جواب میده اما iar اصولی تر و مطمئن تر و دقیق تره)
        - بعضی ها بجای استفاده از کلمه ide میگن کامپایلر، این یه اشتباه هستش و ریشه در گذشته های نسبتا دور داره اما در کل امروزه هر کی بهتون گفت کامپایلری که با هاش کار میکنی چیه؟ بدون که در 99.99 درصد مواقع منظور طرف همون ide هستش
        --------------------
        البته ما برای برنامه نویسی تنها از iar استفاده نمیکنیم و چندین نرم افزار دیگه هم در مراحل بعد بهشون اشاره میکنیم که هر کدوم یه ابزار خوب به حساب میان(البته جز ide ها نیستن و کارشون چیزه دیگست)
        --------------------
        پس تا اینجا با میکرویی که میخوام کار کنیم
        STM32F746NGH
        از شرکت ST هستش، که یه ARM با هسته Cortex-M7 هست تا 216MHz میتونه کلاک یا فرکانس کاریش باشه
        و IDE که می خوایم باهاش کار کنیم IAR یا همون [IAR Embedded Workbench for ARM 7.50] هستش
        لینک دانلود براش نمیزارم ، میتونین از سایتایی مثل p30download یا غیره جدیدترین و با بهترین کرک رو دانلود کنین

        دلیل: ادغام دو پست برای جلوگیری از اسپم (این روباتی که پستارو ادغام میکنه بعضی مواقع واقعا رو نرو آدمه )

        نرم افزار بعدی STM32CubeMX

        این نرم افزار از تولیدات خود شرکت st هست
        با کمک این نرم افزار خیلی ساده تنظیمات اولیه برای راه اندازی بخش های مختلف میکرو از gpio (همون پایه ها در حالت ساده ورودی ، خروجی ، وقفه و ... کردن) گرفته تا i2c , uart, usart , تنظیم lcd و... رو انجام میدیم و اون یه پروژه با تنظیمات اولیه بهمون تحویل میده
        درواقع در گیر کردن برنامه نویس رو با نوشتن برنامه برای اماده سازی اولیه میکرو توسط این نرم افزار حذف میشه (قابل اطمینانه و خود شرکت st هم تولیدش میکنه و هم تا به امروز مرتب به روز رسانیش میکنه)
        برای اطلاعات بیشتر و نحوه دانلود و ... اون به لینک زیر برید:

        تاپیک stm32CubeMX
        جدیدترین ویرایش توسط mahdi89; ۲۱:۱۹ ۱۳۹۵/۰۷/۲۵.
        اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
        شهيد دکتر مصطفي چمران
        اللهم صل علي محمد و ال محمد و عجل فرجهم
        ; C is not for children

        دیدگاه


          #5
          پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

          نکاتی در مورد برد آموزشی:
          - بردی که ازش برای آموزش استفاده میکنیم اسمش stm32f746g discovery
          از میکرو stm32f746ngh6 داخلش استفاده شده
          (بارها گفتم و چون مهمه بازم میگم که درمورد STM32 ها اصلا مهم نیست شما دارید با چه برد آموزشی و کدوم سری Cortex های M0 تا M7 کار میکنید و آموزشی که برای cortex-m7 میزارم رو میتونید برای راه افتادن توی cortex-m3 استفاده کنید به دلیل استفاده از کتابخونه استانداردی که خود شرکت st برای میکروهاش ارائه کرده بانام "HAL" البته بجای کتابخونه بهتره بگیم درایور "HAL Driver")
          - این برد امکانات خوبی در اختیارمون میزاره که با مراجعه به دیتاشیت هایی که براش ارائه شده میتونین خودتون متوجه بشین(اگر سوالی درموردش بود تو تاپیک سوالات مطرح کنین)
          تصاویری از برد:












          نکات مهم:
          1- این برد یه اشتباه توی طراحیش داره (البته اشتباه خاصی نیست فقط دوتا از پین هارو اشتباهی نامگذاری کردن)
          توی uaser manual به شماره UM1907 در صفحه 21:



          اون دوتا D5 و D10 هم توی دیتاشت و هم روی لایه راهنمای بردی که میخرین به اشتباه اسم گذاری شدن و شما باید توی برنامه نویسی حواستون به این مورد باشه
          البته توی اطلاعات دیگه درست اومده عکس زیر رو ببینین:


          2- اون دوتایی هم که دورش دایره قرمز کشیدم روی این برد PF7 و PF6 وصل هستن و پایه PBx وصل نیست البته این که چرا اسم پایه Bx رو هم گذاشته اینه که میتونین توی برد جامپر هایی رو تغییر بدین و این پایه ها تغییر کنن و باز حواستون باشه که پیش فرض به PF7 و PF6 وصل هستن

          3-پایه های PB8 و PB9 که به (D14 , D15) وصل هستن روی برد توسط دوتا مقاومت 2.7K به VDD که مقادرش 3.3V هست وصل هستن(پول آپ Pull-Up)
          شدن و به همین خاطر به عنوان پایه ورودی نمیتونین ازشون استفاده کنین حتی اگر نرم افزاری Pull-Down کنین باز ولتاژ روی این پایه ها به 3.08v میرسه که باز همون معنی 1 منطقی رو میده پس فقط ازشون به عنوان خروجی استفاده کنین

          4- روی این برد چند led هست که تنها یک led به رنگ سبز در اختیار برنامه نویس جهت کنترل هست به نام LD1 دقت کنین LD1 نه LED1 نکته مهم در مورد این LED اینه که به PI1 وصل هست و PI1 روی کانکتور CN7 به صورت مشترک قرار گرفته یعنی هم میتونین ازش به عنوان کنترل LED هستفاده کنین و هم به عنوان یه پایه از کامکتور CN7 در دسترس برای کارهای برنامه نویس هست

          5- یه کلید فشاری به رنگ آبی هم روی برد هست که در اختیار برنامه نویسه که به پایه PI11 وصل شده ، و در حالت آزاد زمینه و در حالت فشار به VDD وصل هست

          درکل برد خوبیه و خوش دست! اگر نقشه شماتیک برد رو یه نگاه بندازید تا اشتباه نکنین چون مواردی داره که پایه هاش مشترک هستن
          ------------------
          خدا پدر مادر همه رو بیامروزه و سایشون رو بالا سره همه نگه داره، اگر دوست داشتین برای شادی دل امام زمان (عج ) یه صلوات بفرستید
          جدیدترین ویرایش توسط mahdi89; ۱۳:۵۹ ۱۳۹۵/۰۷/۲۶.
          اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
          شهيد دکتر مصطفي چمران
          اللهم صل علي محمد و ال محمد و عجل فرجهم
          ; C is not for children

          دیدگاه


            #6
            پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

            سلام
            اقا کارت عالیه , ادامه بده من متاسفانه برد رو ندارم وگرنه کمک میکردم.
            البته این نکته ناگفته نمونه که حرفه ای بودن فقط در کار با ide خاصی نیست , بلکه هنر برنامه نویسی هست که بتونی با کمترین امکانات بهترین بهره رو بگیری , برای مثال نمونه داشتیم که lcd 2.8 که همون lcd n96 chine رو با چیپ ili9325 رو با میکرو atmega و با bascom راه اندازی کرده بود که در مقایسه با همین lcd با میکرو stm32f103rbt6 و ide keil چابکتر و با سرعت خوب کار میکرد
            نشون میداد که هنر برنامه نویسی بقدری مهمه که با میکرویی با امکانات پایینتر میشه بهره میکرو با امکانات بالاتر رو گرفت.
            البته ide هم مهمه و iar هم که مشخصه حرفه ای هست ولی کد نویسی هم مهمه که باید گفته بشه.
            بازم تشکر میکنم ادامه بده که کارت عالیه و باحوصله انجام میدی.
            امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

            دیدگاه


              #7
              پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

              نوشته اصلی توسط mahdi8866 نمایش پست ها
              سلام
              اقا کارت عالیه , ادامه بده من متاسفانه برد رو ندارم وگرنه کمک میکردم.
              البته این نکته ناگفته نمونه که حرفه ای بودن فقط در کار با ide خاصی نیست , بلکه هنر برنامه نویسی هست که بتونی با کمترین امکانات بهترین بهره رو بگیری , برای مثال نمونه داشتیم که lcd 2.8 که همون lcd n96 chine رو با چیپ ili9325 رو با میکرو atmega و با bascom راه اندازی کرده بود که در مقایسه با همین lcd با میکرو stm32f103rbt6 و ide keil چابکتر و با سرعت خوب کار میکرد
              نشون میداد که هنر برنامه نویسی بقدری مهمه که با میکرویی با امکانات پایینتر میشه بهره میکرو با امکانات بالاتر رو گرفت.
              البته ide هم مهمه و iar هم که مشخصه حرفه ای هست ولی کد نویسی هم مهمه که باید گفته بشه.
              بازم تشکر میکنم ادامه بده که کارت عالیه و باحوصله انجام میدی.
              ممنون بابت انرژی که دادین
              دقیقا همینطوره، یه میکروی قوی در کنار یه برنامه نویس ناشی مثل آب توی هونگ کوبیدن میمونه
              اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
              شهيد دکتر مصطفي چمران
              اللهم صل علي محمد و ال محمد و عجل فرجهم
              ; C is not for children

              دیدگاه


                #8
                پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                بسم الله الرحمن الرحیم
                امروز کار با iar رو شروع میکنیم:
                نحوه دریافت رو قبلا گفته بودم، میتونین از سایت های معتبر دانلود نرم افزار مثل سایت p30downlaod که یه سایت ایرانی قدرتمند جهت دریافت نرم افزار های مختلف هست آخرین نسخه با کرک معتبر رو دریافت کنین
                نحوه نصب یار رو هم توضیح نمیدم چون توی خود این سایت وقتی که نرم افزار رو دانلود کنین توی قسمت کرک آموزش کرک کردن رو هم گذاشته(با این حال اگر سوالی بود توی تاپیک بخش سوالات ، سوالتون رو مطرح کنین)

                ایجاد یه پروژه:
                خوب مثل تمام نرم افزار های دیگه برنامه نویسی ایجاد یه پروژه کاره خیلی ساده ای هستش
                برای iar کافیه که شما بعد از اجرای نرم افزار مراحل زیر رو برید:
                [IMG][/IMG]














                توی تصویر زیر بسته به سری میکرویی که میخواین کار کنین arm یا stm8 رو انتخاب میکنین و چون ما با میکرو های آرم میخوایم کار کنیم اینجا arm رو انتخاب میکنیم و برای زبان برنامه نویسی هم بسته به زبانی که میخواین کار کنین انتخاب خودتون رو بین اسمبلی ، c و یا ++c انتخاب میکنین











                دوستان در خواست یه تاپیک برای بیان سوالات داده بودن تا این تاپیک شلوغ و از اصل موضوع منحرف نشه
                اینم از آدرس تاپیک بخش سوالات:
                برای رفتن به تاپیک سوالات روی همین متن کلیک کنین
                اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
                شهيد دکتر مصطفي چمران
                اللهم صل علي محمد و ال محمد و عجل فرجهم
                ; C is not for children

                دیدگاه


                  #9
                  پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                  خوب چیزی که توی پست قبل دیدین تنها نحوه ایجاد یه پروژه بود بدون تنظیماتی که لازمه انجام بدین مثل نحوه معرفی نوع میکرویی که میخواین باهاش کار کنین ، یا تنظیم اینکه فایل خروجی HEX یا هر فرمته مورد استفاده دیگه ای بهتون بده یا نه
                  درواقع برای کار کردن و راه اندازی اولیه iar جهت کار کردن با میکرو های arm نحوه آماده سازی با چیزی که قبلا توی میکرو های 8بیتی دیدین از لحاظ چشمی تفاوت های زیادی هست اما در اصل باید دقیقا همون کارها انجام بشه فقط چون تعداد فایل های لازم برای راه اندازی اولیه تعدادشون کمی بیشتره باعث میشه شما سردرگم بشین.
                  برای مثال:
                  شما توی میکرو های 8 بیتی مثل avr کافی بود که نوع میکرو رو در زمان ایجاد یه پروژه معرفی کنین و میدیدین که یه صفحه باز میشد که در واقع صفحه main.c تون بود و در ابتدای خط یه دستور
                  #include "..."
                  وجود داشت، همین دستور include# خودش به تنها با مواردی که پشت پرده اتفاق می افتاد تمام تنظیمات اولیه الازم رو براتون انجام میداد و شما درگیر تعداد زیادی فایل و اضافه کردن و ... نمیشدید
                  اینجا به غیر از همین دستور که حتی خود iar براتون اضافش نمیکنه و خودتون باید اضافه کنین باید یه تعداد فایل دیگه هم باز خودتون اضافه کنین
                  نکته: در کل این کار بسیار ساده و در عین حال مهم و لذت بخش هست.



                  نمونه ساختار یه پروژه در iar بدونه اماده سازی فایل های اولیه لازم:




                  ساختار یه پروژه و فایل هایی که باید بهش اضافه شوند در iar:



                  نکته مهم اینجا اینه که چون ما با نرم افزاری که خود شرکت st جهت انجام همین کارا تولید کرده تا برنامه نویس درگیر اینجور ریزه کاریی هایی نشه، زیاد روی این موارد ریز نمیشم و اگر سوالی بود توی تاپیک سوالات مطرح کنین
                  این نرم افزار که نه تنها این کار هارو برامون انجام میده بلکه حتی بخش هایی که درون میکرو وجود داره و ما قصد استفاده از اون رو داریم طبق خواسته ما برامون تنظیماتش رو انجام میده و در نهایت یه خروجی بهمون تحویل میده که اون خروجی دارای نکات زیر هست:
                  1- یه پروژه جدید برامون طبق تنظیم ما برای نرم افزاری که ما بهش میگیم تولید میکنه (یکی از این نرم افزار های پشتیبانی شده همین iar هست)
                  نتیجه : دیگه نیازی نیست ما وقتمون رو بزاریم و یه پروژه توی iar ایجاد کنیم (تمومش رو خود نرم افزار انجام میده و اینکه چرا من آموزشش رو گذاشتم دلیلش این بود که بدونین چه اتفاقی داره میفته)
                  2- تموم فایل هایی که گفتم تعدادشون کم نیست رو خودش توی این پروژه ای که ایجاد میکنه اضافه میکنه و دیگه لازم نیست ما وقت بزاریم
                  3- خود نرم افزار اون دستور include# که گفتم رو برامون میزاره
                  4- تنظیمات اولیه پروژه مون رو که شامل تنظیم کلاک cpu، و کلاک هر بخش دیگه ای رو (مثل واحد usb و ...) ، تنظیم ورودی و خروجی پایه ها، تنظیم pullUp و pullDown پایه ها و در کل تمامی تنظیمات اولیه رو خودش برامون انجام میده (البته ما بهش میگیم چجوری تنظیم کنه و اون طبق خواسته ما عمل میکنه)

                  نکته: این نرم افزار دقیقا داره چیکار میکنه و آیا قابل اطمینان هست یا نه؟
                  1- این نرم افزار یه پروژه ایجاد میکنه (خوب این قسمت که مشکلی نداره و قابل اطمینانه)
                  2- اون فایل هایی که تعدادشون کم نیست و این نرم افزار اضافه میکنه در واقع فایل استارت آپ میکرویی که استفاده میکنیم (....stratup_stm32) ، فایل main.c ، کتابخونه ها یا درایورهای CMSIS و HAL هستن که اگر شما قصد استفاده از درایور های cmsis و hal رو داشته باشید باین این موارد رو به صورت دستی اضافه کنین که چون ما قصد آموزش بر مبنای همین درایور های استاندارد و جهانی cmsis و hal رو داریم پس بجای اضافه کردن دستی از این نرم افزار کاربردی استفاده میکنیم و تا به امروز من ازش خطایی ندیدم

                  3- آیا میشه برای پروژ مون از این فایل ها استفاده نکنیم؟ بله میشه اما باید خودتون همین فایل ها رو از نو بنویسین، و در واقع شرکتهایی که میان به طور رایگان درایور هایی مثل hal رو در اختیار برنامه نویسان قرار میدن سودشون توی چیزه دیگست، با این کار وقتی من و شما میبینیم این فایل های راه انداز اولیه هم رایگان هست و هم یه تیم حرفه ای برای نوشتنش ساعت ها نه بلکه سالها وقت گذاشتن و به طور مرتب هم به روز رسانی میشه، بجای اینکه خودمون از اول شروع به نوشتن کنیم (اونم با چندین بار اشتباه و ...) میایم از میکرو های اون شرکت استفاده میکنیم و از فایل های آمده اون استفاده میکنیم این وسط فروش اون شرکت بالا میره و برای ما هم سرعت برنامه نویسی بالا میره

                  اسم این نرم افزار رو هم که قبلا معرفی کرده بودم :
                  STM32CubeMX
                  هستش و جهت نحوه دانلود و ... روی متن پایین کلیک کنین:

                  نرم افزار STM32CubeMX چی هست و چجوری دانلود و آماده استفاده کنیم




                  و مثل همیشه:
                  دوستان در خواست یه تاپیک برای بیان سوالات داده بودن
                  اینم از آدرس تاپیک بخش سوالات:

                  برای رفتن به تاپیک سوالات روی همین متن کلیک کنین





                  جدیدترین ویرایش توسط mahdi89; ۲۰:۳۸ ۱۳۹۵/۰۷/۲۹.
                  اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
                  شهيد دکتر مصطفي چمران
                  اللهم صل علي محمد و ال محمد و عجل فرجهم
                  ; C is not for children

                  دیدگاه


                    #10
                    پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                    سلام به همه
                    نحوه ایجاد یه پروژه با نرم افزار STM32CubeMX رو به تاپیک آموزشی stm32CubeMX اضافه کردم.
                    با این آموزش شما میتونید یه پروژه رو تا حدی که بتونین یه پایه رو به راحتی low و high کنین و یا یه lcd و... رو راه بندازید اماده کنین.

                    لینک تاپیک "آموزش stm32CubeMX"







                    و مثل همیشه:
                    دوستان در خواست یه تاپیک برای بیان سوالات داده بودن
                    اینم از آدرس تاپیک بخش سوالات:

                    برای رفتن به تاپیک سوالات روی همین متن کلیک کنین
                    جدیدترین ویرایش توسط mahdi89; ۲۰:۳۹ ۱۳۹۵/۰۷/۲۹.
                    اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
                    شهيد دکتر مصطفي چمران
                    اللهم صل علي محمد و ال محمد و عجل فرجهم
                    ; C is not for children

                    دیدگاه


                      #11
                      پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                      سلام به همه
                      خوب با آموزشایی که تا اینجا گذاشتم دیگه تقریبا هر کسی باید بتونه یه پروژه توی iar یا keil و... ایجاد کنه و اون پروژه رو تا جایی که امکانات اولیه میکرو stm32 رو فعال کنه و پروژش آماداه کد نویسی اصلی (برنامه مورد نظر خود برنامه نویس) باشه.
                      اما قبل از شروع، توی تاپیک آموزش stm32CubeMX (برای رفتن به تاپیک آموزش روی متن زیر کلیک کنین)
                      لینک آموزش stm32CubeMX

                      توی تاپیک آموزشی عکس زیر رو گذاشتم :

                      این عکس محتویات پروژه ایجاد شده توسط stm32CubeMX رو نشون میده،
                      حالا سوال اینه که این فولدر ها و فایل های درونشون چی هستن؟
                      توی پستای قبلیم نوضیح داده بودم اما حالا کمی باز تر میشه بیان کرد چون دیگه محتویات رو میتونین ببینین:
                      توی فولدر Driver دوتا فولدر دیگه هست :
                      CMSIS
                      و
                      STM32F7xx_HAL_Driver
                      که درواقع این دوتا فولدر دارای کتابخونه هایی هستن که هسته میکرو رو معرفی و نحوه برنامه نویسی میکرو رو استاندارد میکنن (با توابعی که در اختیار ما میزارن) تا بتونیم خیلی راحت برنامه نوشته شده با Cortex-M7 رو با تغییرات خیلی کمی توی Cortex-M0 هم اجرا کنیم!!! (که این خیلی عالیه)
                      درواقع کار راه انداز هستن (driver هستن !)
                      وتوی هر کدوم از این فولدر ها فایل های سورس و هدر هایی هستن که مربوط به خود اون درایور میشه.
                      مثلا توی فولدر STM32F7xx_HAL_Driver دوتا فولدر inc و src هست که فقط مختص همین درایور هست و درواقع کتابخونه HAL رو برامون آماده میکنن(هودشون کتابخونه HAL هستن)، و اگر جای دیگه ای فولدر هایی با نام inc و src دیددین ربطی به اینها ندارن (که توی عکس بالا دوتا فولدر inc و src غیر مرتبط با فولدر STM32F7xx_HAL_Driver میبینید)

                      فولدر EWARM:
                      این اسم ، مخفف Embeded Worckbench ARM هست که اسم دیگه نرم افزار iar هستش و توی این فولدر خود پروژه iar قرار میگیره و برای باز کردن پروژمون وارد این فولدر میشیم و فایل project رو اجرا میکنیم که با این کار نرم افزار iar اجرا میشه و پروژه رو واسمون باز میکنه.
                      نکته: در صورتی که توی خروجی stm32CubeMX کد خروجی رو برای نرم افزار دیگه ای انتخاب کنین، نام این فولدر از EWARM به نامی که به نرم افزار انتخاب شده ربطی داشته باشد تغییر میکند

                      فولدر inc:
                      توی این فولدر هدر فایل هامون قرار دارن
                      فولدر src:
                      توی این فولدر فایل های سورس قرار دارن مثل فایل main.c

                      تمامی فایل هایی که توی پروژه اضافه شدن (توی عکس زیر و در بخش پنجره workspace میبینین) همه فایل های اصلیشون در فولدرهایی که در عکس قبلی دیدن وجود دارند.(و خود این فایل ها اکثرا از frimware که از سایت st برای هسته cortex-M7 قبلا برای نرم افزار stm32CubeMX خودتون دانلود کردین وجود دارن (نحوه دانلودشونم توی همون تاپیک آموزش stm32CubeMX قرار دادم))



                      وقتی شما فایل main.c رو باز میکنی خیلی شلوغ بنظر میرسه اما اگر کامنت ها رو حذف کنین و روی منفی کنار توابع کلیک کنین تا توابع فقط نامشون نمایش داده بشه همون صفحه ای رو میبینین که الن توی عکس بالا مشخصه

                      و از حالا شما میتونین راحت کد نویسی کنین و البته اگر به توابع کتابخونه hal آشنا باشین دیگه این برنامه نویسی براتون راحت تر میشه
                      فایل راهنمای کتابخونه hal رو میتونین از سایت st دانلود کنین
                      البته من نسخه ای که تازه گرفتم رو براتون توی همین پست اضافه میکنم (1395.08.01) البته شما بهتره هر وقت firmware رو آپدیت کردین این کتابخونه رو هم دوباره دانلود کنین تا بروز پیش برین و از تمامی امکانات بتونین استفاده کنین

                      توی آموزش بعدی کد زدن برای یه چراغ چشمک زن رو نشونتون میدم(توسط کتابخونه hal)


                      دریافت فایل راهنمای کتابخونه HAL




                      و مثل همیشه:
                      دوستان در خواست یه تاپیک برای بیان سوالات داده بودن
                      اینم از آدرس تاپیک بخش سوالات:

                      برای رفتن به تاپیک سوالات روی همین متن کلیک کنین
                      جدیدترین ویرایش توسط mahdi89; ۱۰:۵۰ ۱۳۹۵/۰۸/۰۱.
                      اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
                      شهيد دکتر مصطفي چمران
                      اللهم صل علي محمد و ال محمد و عجل فرجهم
                      ; C is not for children

                      دیدگاه


                        #12
                        پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                        سلام و دورود بر شما من با میکرو آرم و در کل با الکترونیک آشنا هستم اما تازه میخوام با میکروی stm کار کنم میشه یک مقدار در مورد محیط برنامه و کتابخانه hal و نوشتن برنامه ساده توضیح دهید با تشکر

                        دیدگاه


                          #13
                          پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                          سلام و تشکر از آموزش هاب مفیدتون و مدیریت تاپیکتون (جهت جلوگیری از منحرف شدن بحث)
                          ما بی صبرانه منتظر ادامه آموزش هایتان هستیم

                          دیدگاه


                            #14
                            پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                            ادامه
                            ادامه
                            ادامه
                            *_**_**_* دانش اگر در ثریا هم باشد مردانی از سرزمین پارس بدان دست خواهند یافت پیامبراعظم(ص) *_**_**_*

                            دیدگاه


                              #15
                              پاسخ : آموزش >>> "می خوام با STM32 ها و IAR شروع کنم چیکار کنم و چی به چیه"

                              سلام و خدا قوت
                              مهندس بسیار ممنون
                              بشدت مشتاقیم

                              دیدگاه

                              لطفا صبر کنید...
                              X