نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه

پسوردتو فراموش کردی؟
Avatar

جلسه اول آموزش arm سری lpc

با سلام، بنام خدا

جلسه اول آموزش arm سری lpc


ببنید دوستان
فکر کنم مهمترین بخش و اصلی ترین عضو کار با انواع اقسام میکرو ها حالا میخواد میکرو پروسسور باشد یا میکرو کنترلر بحث پروگرم کردن آن است
چون اگر ما بیایم قویترین برنامه رو هم بنویسم و برنامه از همه لحاظ درست باشد و سخت افزار آن هم هیچ مشکلی نداشته باشد تا نتونیم درست پروگرم کنیم پروژه ما کار نخواهد کرد
پس کمی در مورد پروگرم کردن arm صحبت میکنیم
ببنید در مورد arm تا جایی که من اصلاع دارم سه روش کلی وجود دارد
نرم افزار flash magic و سخت افزار مریوط به آن که معمولا این مدار رو روی خود بردی که arm قرار دارد میبندد
روش boot loader که درواقع در این روش میام و فایل هگز برنامه رو به فایلbin تبدیل میکنیم و روی میکرو میریزیم که خیلی درد سر داره و اصلا هم بهتون پیشنهاد نمیکنم من که ندیدم کسی از این روش راضی باشه
روش سوم استفاده از jlink iهست به این صورت که باید زحمت بکشید که یه پروگرم jlink بخرید قیمتش حدود شصت تومنه البته کپیش هست اینا اورجینالش حدود صد دلاره و تو ایران که من ندیدم
من خودم از شرکت eca خریدم خیلی هم راضی هستم و با اون کار میکنم
چند تا مزیت دارد این روش مهمترین همین پروگرم کردن راحت و بی درد سر هست و دومین مزیت هم امکان دیباگ کردن خط به خط نرم افار وجود داره که ایشالله سر فرصت کار میکنیم
از اونجا که شدیدا تاکید میکنم با jlink کار کنید کمی در مورد آن توضیح میدم
(( همینجا لازم به توضیح است که در مورد avr همانطور که میدانید خیلی روش برای پروگرم کردن موجود هست اما اگر فقط یک بار با tnm کار کرده باشین واقعا متوجه میشود که بقیه روشها واقعا اسباب بازی هست  بر حسب همین تجربه حتما توصیه میکنم با jlink کار کنید )) 
 
 
jlink یک پروتکل ارتباطی می باشد که توسط تعدادی از شرکت های وابسطه به سازمان IEEE و تحت استاندارد آن به ثبت رسیده است.
در پروتکل JTAG دسترسی کامل به CPU و حافظه ها فراهم می باشد, و شما می توانید داده های پردازش شده یا در حال پردازش توسط آن ها را مشاهده کنید, شما می توانید داده را در حافظه ها بنویسید یا از آن ها بخوانید. در این پروتکل, امکانات زیادی در اختیار شما گذاشته شده است.
معرفی ۴ پایه اصلی برای ارتباط با سخت افزار از طریق رابط JTAG
۱- TCK (Test Clock Input) : Clock ورودی, این پالس برای همزمانی میان دستگاه مورد تست و پروگرامر JTAG می باشد.
۲- TDI -&-Test Data In : از طریق این پایه, داده از پروگرامر به دستگاه در حال تست وارد می شود.
۳- TDO -&-Test Data Out : از طریق این پایه, داده از دستگاه مورد تست به پروگرامر ارسال می شود.
۴- TMS -&-Test Mode Select : از طریق این پورت حالت های مختلف تست انتخاب می شود.
نکته : هر وسیله ای که با استاندارد JTAG سازگار باشد لازم است تا پین های نامبرده شده در بالا را داشته باشد.
همچنین در این میان دو پایه دیگر نیز وجود دارد:
۵- TRST -&-Test Reset Input : این پایه از پروگرامر به ریست دستگاه متصل می شود و قبل از شروع کار آن را بازنشانی می کند.
۶- JTAGSEL -&-TJAG SELECT : برای راه اندازی پروتکل JTAG, این پایه باید یک شود.
:: کابل ارتباطی JTAG
کابل ارتباطی وظیفه اتصال دستگاه مورد تست را به پروگرامر به عهده دارد, معمولا پروگرامر از طریق یک کابل دیگر به پورت سریال یا موازی کامپیوتر متصل می شود. سخت افزار JTAG وظیفه کنترل داده های ارسالی و دریافتی و مراقبت از کامپیوتر در برابر خطاهای شخصی را به عهده دارد وظیفه نرم افزار JTAG تبدیل کدهای دریافتی به علائم نمایشی و کدهای قابل فهم برای انسان می باشد.
:: نرم افزار JTAG
ما برای راه اندازی واسط JTAG از نرم افزار رایگان HJTAG استفاده می کنیم.
:: سخت افزار JTAG
برای اتصال میکروکنترلر ARM به کامپیوتر از طریق واسط JTAG به یک سخت افزار نیاز دارید, این سخت افزار مطابق شکل زیر است:
 
اینم شکل ظاهری این بنده خدا هست؛ محصول شرکت segger
پروگرامر ARM
 
 
حالا ما اومدیم برنامه رو نوشتیم چطوری با این jlink کار کنیم
خوب کاری نداره خیلی راحته
در اینجا دو تا راه جلو مون هست
اولین راه اینکه با کمک برنامه خود شرکت segger این کار رو بکنیم
یا اینکه از داخل همان برنامه keil اینکار رو بکنیم که خیلی راحته و خیلی هم حال میده چرا چون همونجا که میزنی دیباگ بشه برنامت از همونجا میتونی بزنی که پروگرم هم بشه به همین راحتی
حالا بریم ببنیم چطوری میشه اینکار رو کرد و تنظیمات kile چگونه باید باشد.
 
خوب ببنید وقتی این دستگاه رو میخرید یه سی دی باهاش هست که قاعدتا درایورش توش هست و باید اونو نصب کنید
بعد که سیستم شما jlink رو شناخت نوبت به تنظیمات keil میرسه
به تنظیمات زیر توجه فرمایید.

بعد از کامپایل کردن برنامه نوشته شده و تولید فایل هگز آن از منوی project گزینه option for target را انتخاب میکنم

jlink

در پنجره باز شده وارد سربرگ debug l میشوم و در قسمت use گزینه jlink را مانند شکل زیر انتخاب میکنیم.

آموزش arm سری lpc

 حال در تب utilitis نیز تنظیمات زیر را انجام میدهیم

آموزش میکروکنترلر ARM

روی seting کلیک میکنیم و وارد منوی زیر میشویم

دستورات gpio

خوب اینجا یه نکته مهم و اساسی لازم است توضیح بدم

در تصویر بالا زدن تیک reset and run مهم نیست زیاد

چرا ؟؟؟؟

چون عزیزان دل jlink های ما کپی است و گویا تا اینجا که من باهاش کار کردم فقط این قسمتش با نمونه اصلی تفاوت داره

یعنی اینکه در نمونه های اصلی وقتی کار پروگروم کردن تمام شود و این تیک ده شده باشد میکرو ریست میشود و برنامه اجرا میشود

در نمونه ای که من دارم که این اتقاف نمی افتد شاید در نمونه های شما این اتفاق افتاد

بعد از زدن این تیک روی add کلیک میکنیم

در منوی جدید باز شده باز هم روی add کلیک کنید و اینجا مثلا اگر با lpc 2368 کار میکنید باید گزینه زیر را add کنید

تنظیمات kile

بعد از اینکار تمام منو ها رو ok کرده و از این منوها خارج میشویم

حال برای انجام پروگرم کردن فقط کافیست از منوی flash روی گزینه download کلیک کنید و کار انجام میشود

یا مانند شکل عمل کنید

آموزش ARM
 
همینجا لازم به ذکر است که این مراحل را باید برای هر پروزه به طور مجزا انجام شود
شاید برای بار اول کمی سخت باشد اما اگر دستتون راه بیفته کلا ژنج ثانیه هم کار ندارد
مطمعن باشید.
جلسه بعد به امید خدا در مورد دستورات gpio صحبت خواهیم کرد.

General-purpose input/output

تا دیدار بعد
در پناه حق
به امید دیدار

گروه پرسش و پاسخ الکترونیکی در سروش
پسورد فایل های سایت :
www.dmf313.ir
ارسال دیدگاه
11

1) تعداد حروف فارسی کمتر از ۵ تا باشه, دیدگاه به صورت خودکار حذف میشه.

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید : debian

  1. Avatar

    مهمان

    hmrasa

    سلام دوست عزیز
    ممنون از سایت خیلی خوبتوم
    من LPC1768 توسط فلش مجیک پروگرم می کنم و وریفای هم میشه، ولی بعدش میکرو کار نمی کنه. می دونید مشکلش چیه؟ smile

    1396/12/21
    01:04
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام-من با خود KEIL پروگرام میکنم والا با اینی که میگی کار نکردم – ولی خب اگه برنامه رو BOOT نمیره – نباید مشکلی باشه -( چون خودم قبلا برنامه ها رو روی bOOT اش میریختم کار نمیکرد – یعنی از طریق بوت لودر پروگرامش میکردم کار نمیکرد )

      1396/12/21
      01:06
  2. Avatar

    مهمان

    Milad

    سلام تشکر از آموزشتون
    کاش پایه های خروجیه این jlink رو توضیح میدادین کودوم رو به کودوم پایه میکرو باید وصل کنیم
    و این که این دستگاه ۱۴تا خروجی داره نیازه همشون وصل بشن؟؟؟؟

    1396/05/04
    03:06
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام
      به شماتیک هدربرد های eca و شماتیک jlink مراجعه کنید – من اطلاعی از پایه هاش ندارم.

      1396/05/04
      07:05
  3. Avatar

    مهمان

    بهزاد

    ضمن خسته نباشید به مدیر سایت . با توجه به اینکه شما آموزش های متعددی رو در مورد arm دارید لطفا” برای جلوگیری از به هم ریختگی ترتیب جلسات ، لینک جلسه بعد و همینطور جلسه قبل رو توی هر آموزش قرار بدید. با تشکر

    1395/11/23
    02:48
    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      از منو سایت میتونید به لیست مطالب هر دسته مراجعه کنید – حرفتون هم صحیح هستش ولی معمولا فراموش میشه این کار.

      1395/11/23
      02:54
  4. Avatar

    مهمان

    pourya

    سلام خسته نباشی.
    فقط خواستم بگم سایت عالی داری و خیلی خیلی خوب مینویسی.
    موفق باشی.

    1395/04/12
    01:37
  5. مهدی دمرچیلو

    مدیر سایت

    مهدی دمرچیلو

    سلام
    لطفا عکس ها رو تو سایت آپلود کن….
    این سایت های آپلود سنتر بعد مدتی فایل ها رو پاک میکنن….
    الان یکی از عکس ها باز نمیشه…..
    بعد مدتی همشون لینکاشون از بین میره…..

    1393/12/13
    09:52
  6. Avatar

    مهمان

    سید محمد

    عالی بود .
    مثل همیشه . بچه های dmf ترکوندن . ok
    ————————————————-
    2368 از سری arm7 – tdmi است . و 1768 از سری cortex m3
    با توجه به اینکه برای سری cortex کتابخانه مشترک cmsis ارائه شده به نظرتون بهتر نیست روی 1768 متمرکز بشیم ؟
    روی cmsis هم وقت بزاریم !
    ————————————————-
    شنبه میرم مواد لازم رو میخرم . بدجوری داری وسوسم میکنی . diablo
    خیلی وقت بود میخواستم شروع کنم .

    1393/12/07
    12:00
    • Avatar

      نویسنده این مطلب

      mehdir30

      دقیقا منم با شما موافقم
      چون این دو تا میکرو از لحاظ پایه کاملا شبیه هم هستند خیلی کاربردی هستند
      در مورد اون توابع هم ایشالله بعد از اینکه با gpio راه افتادیم سراغ آنهعا هم میریم منم خیلی دوست دارم روی آن توابع cmsis کار کنیم

      1393/12/07
      01:01
  7. Avatar

    نویسنده این مطلب

    mehdir30

    دوستان اگر عمری بود امشب آموزش دستورات gpio رو میذارم
    این دستورات کلا دستورات مربوط به ورودی و خروجی کردن پورتها و ست و کلر کردن آنها است
    که سعی میکنیم در یک مبحث دستورات مربوط به 1768 و 2368 رو به طور جداگانه قرار بدهیم و گار عمری بود یک تمرین با این دو میکرو انجام بدیم و دور هم یه چند تا led روشن خاموش کنیم ببنیم میتونیم یا نه

    1393/12/07
    10:07