NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3852 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 19 از 19

موضوع: Stm32 رو چطوری شروع کنم دوستان ...!

  1. #1
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض Stm32 رو چطوری شروع کنم دوستان ...!

    یکی بیاد بگه با این کیل چطوری پروژه درست کنم ؟ گیج شدم !
    نمی دونم startup_stm32f10x_md.s اضافه کنم؟ یا system_stm32f10x.c یا startup_stm32f10x_hd.s یا
    startup_stm32f10x_cl.sیا
    system_stm32f10x_cl.cیا
    STM32F10x.s


    چیو باید include کنم ؟ آخه این CMSIS دیگه چیه چه فرقی داره از این حالت استفاده کنم یا ....؟؟؟؟؟

    اصلا این دیگه چیه؟ STM32_Init.c



    stm32f10x_gpio.c این مربوط به CMSIS هست؟ یا...
    بابا تو این ورژن 4.72 نکنه فرق میکنه محل هدر ها ....

    من میخام برای STM32F103VET6 در دو حالت رجیستر و CMSIS پروژه درست کنم!!!

    اگه کسی میتونه کمکی بکنه من منتظرم یا علی....

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    همکار افتخاری dariush_ab آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    داریوش عباسی نژاد
    نوشته ها
    2,112
    تشکر
    1,404
    تشکر شده 1,810 بار در 1,064 پست

    پیش فرض

    سلام.
    شما تازه با stm32 و keil شروع کردید؟یا نه مشکلتون با کیل ورژن جدیده چون با ورژن جدید کار نکردم.
    یک بار نصب کردم و چون به پروژه های قبلی کلی خطا میداد بیخیالش شدم.تازه j-link هم رو میگفت اصلی نیست.

  4. #3
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    سلام
    نحوه ایجاد پروژه در پست های قبلی دوستان زحمت کشیدند قرار دادند. یه کم پراکنده هست ولی سرچ کنید پیدا می کنید

  5. تشکرها از این نوشته :


  6. #4
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mzarkoob نمایش پست ها
    سلام
    نحوه ایجاد پروژه در پست های قبلی دوستان زحمت کشیدند قرار دادند. یه کم پراکنده هست ولی سرچ کنید پیدا می کنید
    سلام من کل سایت رو و حتی سایت های خارجی رو زیر رو کردم یه چیز هایی هم پیدا کردم اما به یه نتیجه مشخص نرسیدم هر کدومشون متفاوت بود. مشکلم بیشتر در انتخاب و اضافه کردن فایل های .... هدر و سورس هست که کدوم و چرا باید اون فایل هایی که در پست اولم بهشون اشاره کردم رو اضافه کنم کارشون چیه؟ چرا در بعضی ها آخر فایل ها md و بعضی hd ????

  7. #5
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط dariush_ab نمایش پست ها
    سلام.
    شما تازه با stm32 و keil شروع کردید؟یا نه مشکلتون با کیل ورژن جدیده چون با ورژن جدید کار نکردم.
    یک بار نصب کردم و چون به پروژه های قبلی کلی خطا میداد بیخیالش شدم.تازه j-link هم رو میگفت اصلی نیست.
    سلام بلی تازه می خام شروع کنم اما هزار و یک سوال بی پاسخ دارم

  8. #6
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام

    نیازی به جستجو نیست برید توی انجمن STM اونجا یه تایپیک هست به نام ساخت پروژه با توابع CMSIS یا یه همچین چیزی ..!!!

    اما سوالاتتون :

    اولش که خیلی ساده یه پروژه درست میکنیم بعد یه محیط متنی با پسوند C. ایجاد میکنیم و به پروژه اضافه میکنیم

    بعد از انتخاب نوع میکرو یه پیغام ظاهر میشه و میگه فایل استارت آپ رو هم اضافه کنم یا نه که بله رو میزنید تا اضافه بشه

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

    startup_stm32f10x_xl
    startup_stm32f10x_md
    startup_stm32f10x_hd
    startup_stm32f10x_cl

    و ...

    پس یکی از این فایل هارو نیازی نیست شما اضافه کنید بلکه در حین ساخت پروژه خودش ازتون میپرسه و شما هم تائید میکنید و اضافه میشه این فایل ها شامل یکسری تنظیمات اولیه یا پیشفرض برای میکرو هست مثلا کلاک سیستم رو روی یک منبع پیشفرض قرار میده

    اما این فایل system_stm32f10x.c که مکمل همون استارت آپ هست و باید خودتون به پروژه اضافه کنید ...

    این رو هم من تا حالا ندیدم احتمالا اشتباه تایپی شماست system_stm32f10x_cl.c و آخرش cl رو اضافه گذاشتید ..!!! در غیر اینصورت تنها همین فایل system_stm32f10x.c هست و نیازی به مورد بالایی نیست

    اینم STM32F10x.s نیاز نیست و ممکنه موقع ساخت پروژه در کنار فایل ها ایجاد بشه ولی کاری باهاش نداریم

    چیو باید include کنم ؟
    اگر توی برنامه تنها از توابع خود میکرو استفاده میکنید فقط باید stm32f10x.h رو include بکنید و تمام ولی اگر مثلا از برخی توابع و دستورات C هم استفاده میکنید باید stdio.h رو هم include کنید یا مثلا اگر از کتابخونه های السیدی یا موارد دیگه استفاده میکنید هدر اون رو هم باید include کنید ...

    اصلا این دیگه چیه؟ STM32_Init.c
    این یه ویزارد هست برای STM32 که بصورت گرافیکی شما کانفیگ رو انجام میدی مثلا با گذاشتن یه تیک توی اون محیط میتونی منبع کلاک سیستم رو روی داخلی یا خارجی یا PLL قرار بدی در صورتی که اگه بخای دستور براش بنویسی ممکنه چندتا دستور برای این تغیر نیاز باشه

    در ضمن این ویزارد توی لایبرری های قدیمی وجود داشت و مثل اینکه دیگه مورد استفاده قرار نمیگیره و گویا microexplorer قراره جاشو بگیره ترجیحا این مورد رو هم بیخیال شو ...
    stm32f10x_gpio.c این مربوط به CMSIS هست؟
    این فایل تمام توابع مربوط به GPIO رو شامل میشه

    که امثال این فایل ها زیاد هست مثلا :

    stm32f10x_rcc.c
    stm32f10x_flash.c
    stm32f10x_bkp.c
    stm32f10x_adc.c
    stm32f10x_dac.c
    stm32f10x_timer.c

    که به همشون نیاز نیست و بسته به نیاز های یک پروژه باید به پروژه اضافه بشن

    مثلا من یه پروژه ساختم که فقط میخام از GPIO و ADC استفاده کنم :
    که فایل های زیر رو باید به پروژه اضافه کنم :

    stm32f10x_gpio.c
    stm32f10x_flash.c
    stm32f10x_adc.c
    stm32f10x_rcc.c


    این دو مورد :
    stm32f10x_rcc.c
    stm32f10x_flash.c

    توی همه پروژه ها وجود داره چون بدون تنظیمات کلاک (قطعا) و فلش(مطمئن نیستم) اصلا میکرو کار نمیکنه

    این مورد رو هم stm32f10x_conf.c حتما خودتون باید به پروژه اضافه کنید

    در مراحل آخر هم کتابخونه CMSIS رو کنار پروژه کپی میکنیم
    حالا یکسری آدرس هم هست که باید بریم توی تنظیمات کیل و اونارو هم تنظیم کنیم که توی تب c/c++ هست

    قسمت include path هست ...
    توی این قسمت باید آدرس های زیر رو تعریف کنیم :

    پوشه ای که پروژه در اون ذخیره شده
    پوشه inc که داخل لایبرری CMSIS قرار داره
    پوشه src که اینم داخل لایبرری CMSIS قرار داره
    پوشه CoreSupport که اینم داخل لایبرری CMSIS قرار داره
    پوشه STM32F10x که اینم داخل داخل لایبرری CMSIS قرار داره


    نکات :
    توی هدر stm32f10x.h برید همون خطوط ابتدایی و حتما ببینید که برای میکروی شما uncomment باشه

    مثلا برای STM32F103RBT6 چون با 128 کیلو حافظه فلش از نوع stm32f10x_md هست حتما گزینه مربوط به این uncomment باشه و گزینه های دیگه همه کامنت دار باشه
    این که نوع میکروی شما چیه هم از انتهای فایل startup_stm32f10x_md.s میتونید متوجه بشید

    و توی هدر stm32f10x_conf هم برید و واحد هایی که قراره شما توی برنامه استفاده کنید رو هم uncomment کنید مثل :

    stm32f10x_gpio.c
    stm32f10x_rcc.c
    stm32f10x_adc.c
    stm32f10x_flash.c

    تمام
    سوالی بود در خدمتم البته حتما به اون تایپیکی که عرض کردم سر بزنید
    موفق باشید...
    *** اللّهم عجّل لولیک الفرج ***

  9. کاربران : 11 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  10. #7
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    آقا حسین واقعااااااااااااااااااااا ااااااااااااااااااااااااا ااااااااااااااااااااااااا ا منو شرمنده کردی ! دستت درد نکنه نمیدونم چطوری ازتون تشکر کنم هزار بار هم دکمه تشکر هم بزنم باز کمه برادر . کمال تشکر رو دارم خیلی ممنون . انشا ا... در سایه عنایت امام زمان باشی ... لطف بزرگی کردی...
    ویرایش توسط sarab1 : 09-10-2013 در ساعت 07:30

  11. #8
    کاربر علاقه مند esmaeil21 آواتار ها
    تاریخ عضویت
    Oct 2010
    نام
    اسماعيل شادمان
    نوشته ها
    23
    تشکر
    45
    تشکر شده 25 بار در 11 پست

    پیش فرض

    به نظر من بهترین منبع آموزشی خود مثالهای کیل هست .
    من هم مثل شما در stm تازه کار هستم . نزدیک دو هفته هست شروع کردم ولی با همین مثالهای کیل پیشرفت خیلی خوبی داشتم و تا حالا نیازی به توابع cmsis حس نکردم .

  12. کاربران : 2 تشکر کرده اند از شما esmaeil21 برای ارسال این پست سودمند:


  13. #9
    کاربر علاقه مند esmaeil21 آواتار ها
    تاریخ عضویت
    Oct 2010
    نام
    اسماعيل شادمان
    نوشته ها
    23
    تشکر
    45
    تشکر شده 25 بار در 11 پست

    پیش فرض

    این نکته هم بگم که با کیل ورژن 4.7 کار کردم ولی در یکی از برنامه ها کامپایل میشد ولی برنامه کار نمیکرد . ورژن کیل رو عوض کردم(4.23 )همون برنامه رو قرار دادم و برنامه به درستی کار کرد. در ورژن 4.23 تا حالا مشکلی بر نخوردم .

  14. کاربران : 2 تشکر کرده اند از شما esmaeil21 برای ارسال این پست سودمند:


  15. #10
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    این نکته هم بگم که با کیل ورژن 4.7 کار کردم ولی در یکی از برنامه ها کامپایل میشد ولی برنامه کار نمیکرد . ورژن کیل رو عوض کردم(4.23 )همون برنامه رو قرار دادم و برنامه به درستی کار کرد. در ورژن 4.23 تا حالا مشکلی بر نخوردم .
    از ورژن های قدیمی مثل همین 4.23 به ورژن های بالاتر تغیراتی توی لایبرری ها صورت گرفته که ممکنه توی ورژن های بالاتر برنامه ارور داشته باشه ولی خوب با یکسری تغیرات میشه برنامه رو با همین ورژن سازگار کرد و البته ورژن های بالاتر امکانات بیشتر و باگ کمتری دارن

    ولی برنامه هایی که با ورژن های بالاتر نوشته شده رو راحت و بدون مشکل میشه توی ورژن های پائین اجرا کرد ... مگر مشکل از باگ کامپایلر توی ورژن های قدیمی باشه ...

    البته قصد توجیه مشکل شما رو نداشتم چون واقعا عجیبه که برنامه توی هردو کامپایل میشه ولی فقط با یکی اجرا میشه !!!
    *** اللّهم عجّل لولیک الفرج ***

  16. کاربران : 2 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  17. #11
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    آقا حالا از این لینک چیو باید دانلود کنم و چه جوری؟ کدام برای سری F1 هست؟
    STM32 Firmware - STMicroelectronics

  18. #12
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    متاسفانه منظورتون رو از :
    پوشه ای که پروژه در اون ذخیره شده
    پوشه inc که داخل لایبرری CMSIS قرار داره
    پوشه src که اینم داخل لایبرری CMSIS قرار داره
    پوشه CoreSupport که اینم داخل لایبرری CMSIS قرار داره
    پوشه STM32F10x که اینم داخل داخل لایبرری CMSIS قرار داره


    متوجه نشدم!! مثلا من نتونستم پوشه CoreSupport رو پیدا بکنم
    ویرایش توسط sarab1 : 11-10-2013 در ساعت 07:36

  19. #13
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    یه سوال دیگه اینکه کتابخونه های keil با کتابخونه های خود شرکت ST متفاوت هستند؟
    پس این CMSIS دیگه چطوری خودشو با این کتابخونه ها تطبیق میده ؟؟ یا اونم کلا با این ها متفاوت هست؟
    عجب پشتیبانی داره این ST ؟؟؟؟؟؟؟؟؟؟؟
    عجب پشتیبانی داره ایران میکرو ....
    دست همه برو بچه های ایران میکرو درد نکنه!!
    ویرایش توسط sarab1 : 11-10-2013 در ساعت 00:38

  20. #14
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام
    پوشه ای که پروژه در اون ذخیره شده
    پوشه inc که داخل لایبرری CMSIS قرار داره
    پوشه src که اینم داخل لایبرری CMSIS قرار داره
    پوشه CoreSupport که اینم داخل لایبرری CMSIS قرار داره
    پوشه STM32F10x که اینم داخل داخل لایبرری CMSIS قرار داره
    خوب اگه قسمت های دیگه رو متوجه شدی من این قسمت رو برات آپلود کردم که شامل همه اون پوشه ها هست و من هر پروژه ای که درست میکنم از لایبرری CMSIS فقط همین پوشه رو کنار پوشه پروژه کپی میکنم والسلام شما هم همین کارو کن
    یه سوال دیگه اینکه کتابخونه های keil با کتابخونه های خود شرکت ST متفاوت هستند؟
    در اصل هیچ تفاوتی ندارن و فقط توی CMSIS نام توابع تغیر پیدا کرده وگر نه همین CMSIS هم بیسش همون کتابخونه KEIL هست یعنی شما توی پروژه ای که برای توابع CMSIS ساختی میتونی از دستورات لایبرری کیل هم استفاده کنی
    CMSIS کمک میکنه تا به کاربرد دستورات از روی نام اون دستور پی ببریم

    مثلا توی CMSIS برای ست کردن یک پین از دستور GPIO_Setbits استفاده میشه ولی با توابع خود کیل باید عبارت رو این چنین وارد کنیم تا مثلا یک پین رو ست کنیم GPIO->ODR = 0x0001

    مشخصه که از روی اسم توابع CMSIS میشه به عملکرد دستور پی برد ولی برای کیل خیلی مخفف شده و اونقدر رجیستر وجود داره که کار رو سخت تر میکنه
    فايل هاي پيوست شده فايل هاي پيوست شده
    *** اللّهم عجّل لولیک الفرج ***

  21. کاربران : 3 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  22. #15
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sarab1 نمایش پست ها
    سلام خیلی ممنون
    دستتون درد نکنه
    فقط یه چیزی اینکه اون محتویات پوشه cm3 رو از کجا دانلود کردید؟ من کل cmsis رو از سایت خود arm گرفتم 46 مگا بایت شد همچین پوشه ای رو پیدا نکردم؟
    بالاخره از سایت st.com دانلودش کردم
    ویرایش توسط sarab1 : 11-10-2013 در ساعت 11:44

  23. #16
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    خوب از اساتید کسی میتونه بگه در واحد RCC چه چیزهایی رو باید مد نظر قرار بدیم؟ البته سری stm32F1
    ببخشید که سوال هام یکم زیاد شدند!
    ویرایش توسط sarab1 : 11-10-2013 در ساعت 13:55

  24. #17
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    از اساتید کسی نیست!!

  25. #18
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    خوب از اساتید کسی میتونه بگه در واحد RCC چه چیزهایی رو باید مد نظر قرار بدیم؟
    همه چیز رو ...!!!

    میخواهید از اسیلاتور داخلی استفاده کنید یا خارجی , PLL باشه یا نباشه یا منبع PLL اسیلاتور داخلی باشه یا خارجی و ...

    که اگر به این ها کاری نداشته باشید پیشفرض 72 مگ با اسیلاتور خارجی فعال هست

    مثلا برای استفاده از هر واحد هم باید کلاک مربوط به همون واحد رو فعال کنید که این قضیه مجزای از کلاک سیستم هست

    مثل واحد GPIO یا SPI یا ADC یا ... که همه این ها توی رفرنس اومده
    البته ریز تر هم شده مثلا کلاک پورت A با B جداگانه فعال میشه
    برای ADC1 و ADC2 هم همینطوره و الی ...

    اگر یک مثال رو نگاه کنید متوجه قضیه میشید
    مثال ها همه توی انجمن STM و توی تایپیک آموزش بر پایه بورد سفارشی هست
    *** اللّهم عجّل لولیک الفرج ***

  26. کاربران : 4 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  27. #19
    کاربر فعال sarab1 آواتار ها
    تاریخ عضویت
    Jul 2008
    نوشته ها
    329
    تشکر
    139
    تشکر شده 172 بار در 100 پست

    پیش فرض

    نقل قول نوشته اصلی توسط doloop نمایش پست ها
    همه چیز رو ...!!!

    میخواهید از اسیلاتور داخلی استفاده کنید یا خارجی , pll باشه یا نباشه یا منبع pll اسیلاتور داخلی باشه یا خارجی و ...

    که اگر به این ها کاری نداشته باشید پیشفرض 72 مگ با اسیلاتور خارجی فعال هست

    مثلا برای استفاده از هر واحد هم باید کلاک مربوط به همون واحد رو فعال کنید که این قضیه مجزای از کلاک سیستم هست

    مثل واحد gpio یا spi یا adc یا ... که همه این ها توی رفرنس اومده
    البته ریز تر هم شده مثلا کلاک پورت a با b جداگانه فعال میشه
    برای adc1 و adc2 هم همینطوره و الی ...

    اگر یک مثال رو نگاه کنید متوجه قضیه میشید
    مثال ها همه توی انجمن stm و توی تایپیک آموزش بر پایه بورد سفارشی هست
    بازم شما آقا حسین
    انگار کسی قصد نداره وارد بحث ما دو تا بشه ! خیلی عجیبه سایر دوستان هم یه زکات یادگیری بیان تو این تاپیک بپردازن ضرر نمیکنن!!!!!

  28. تشکرها از این نوشته :


موضوعات مشابه

  1. پاسخ: 515
    آخرين نوشته: 09-12-2018, 12:45
  2. شروع آموزش stm32 بر پایه برد سفارشی
    توسط alishekarriz در انجمن stm32
    پاسخ: 1154
    آخرين نوشته: 08-11-2016, 14:27
  3. برای دوستداران تنوع
    توسط cmuiran در انجمن آموزش نرم افزارهای برق و الکترونیک
    پاسخ: 9
    آخرين نوشته: 22-06-2012, 16:07
  4. شروع آموزش stm32 بر پایه برد سفارشی
    توسط alishekarriz در انجمن Cortex-a8-a9 arm9-11
    پاسخ: 149
    آخرين نوشته: 03-03-2012, 23:00
  5. دوستان كمكم كنيد
    توسط mohammadr1371 در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 23-07-2009, 21:22

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •