اطلاعیه

Collapse
No announcement yet.

بوت لودر( نحوه کار با دستور spm )

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

    بوت لودر( نحوه کار با دستور spm )

    سلام از دوستان صاحب تجربه تقاضای راهنمایی در رابطه با دو سوال زیر که در رابطه با بوت لودر ای وی ار است،داشتم:

    1- چطور میشه با کدویژن داخل قسمت بوت لودر دستور بنویسم؟
    2- نحوه کار با دستور spm


    اضافه شده در تاریخ :
    up
    کسی اطلاع نداشت؟
    راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
    انشالله به زودي تاپيک ها به روز رساني خواهد شد،

    #2
    پاسخ : بوت لودر( نحوه کار با دستور spm )

    برای قرار گرفت کد نوشته شده در بخش Bootloader باید در مسیر Project/Configure/C Compiler/Program Type یکی از گزینه های BootLoader را انتخاب کنید. یک مثال خوب در این مورد، نسخه تغییر یافته AVR109 برای کدویژن است (لینک احتمالا با IP ایران مشکل دارد):

    http://www.hpinfotech.ro/avr109.zip

    در مورد عملکرد دستور SPM هم دارای توضیح مفصلی است و لازم است متن Datasheet را بصورت کامل مطالعه کنید. اما بصورت خلاصه، بسته به نوع عملیات مورد نظر (پاک کردن یک Page، نوشتن در یک page، نوشتن در بافر page، تنظیم Boot Lockbits) و قبل از اجرای دستور SPM، باید به رجیستر SPMCR مقداردهی مناسب انجام شود. یک مثال بسیار خوب برای درک عملکردهای مختلف این دستور، مثالی است که در توضیح SPM در صفحه 140 از متن زیر آورده شده است:

    http://www.atmel.com/Images/doc0856.pdf

    البته درک این مثال مستلزم تسلط بر دستورات اسمبلی است. همچنین در متن فایل هم یکسری فاصله گذاری بین دستورات رعایت نشده است.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : پاسخ : بوت لودر( نحوه کار با دستور spm )

      نوشته اصلی توسط طراح
      برای قرار گرفت کد نوشته شده در بخش Bootloader باید در مسیر Project/Configure/C Compiler/Program Type یکی از گزینه های BootLoader را انتخاب کنید. یک مثال خوب در این مورد، نسخه تغییر یافته AVR109 برای کدویژن است (لینک احتمالا با IP ایران مشکل دارد):

      http://www.hpinfotech.ro/avr109.zip

      در مورد عملکرد دستور SPM هم دارای توضیح مفصلی است و لازم است متن Datasheet را بصورت کامل مطالعه کنید. اما بصورت خلاصه، بسته به نوع عملیات مورد نظر (پاک کردن یک Page، نوشتن در یک page، نوشتن در بافر page، تنظیم Boot Lockbits) و قبل از اجرای دستور SPM، باید به رجیستر SPMCR مقداردهی مناسب انجام شود. یک مثال بسیار خوب برای درک عملکردهای مختلف این دستور، مثالی است که در توضیح SPM در صفحه 140 از متن زیر آورده شده است:

      http://www.atmel.com/Images/doc0856.pdf

      البته درک این مثال مستلزم تسلط بر دستورات اسمبلی است. همچنین در متن فایل هم یکسری فاصله گذاری بین دستورات رعایت نشده است.
      سلام مهندس
      یه پروژه کوچیک تعریف کنید که بشه از طریق USB برنامه خود میکرو را از طریق بوت لودر تغییر داد مثلا یه led را روشن و خاموش کنیم در برنامه بعئی زمان آن را تغییر دهیم
      متشکرم :redface:
      کمتر سخن گویم
      بیشتر عمل کنیم

      دیدگاه


        #4
        پاسخ : پاسخ : بوت لودر( نحوه کار با دستور spm )

        نوشته اصلی توسط mpc
        یه پروژه کوچیک تعریف کنید
        همین پروژه AVR109 را اگر بصورت دقیق تحلیل و درک کنید، در راستای انجام منظور شما مناسب خواهد بود.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #5
          پاسخ : پاسخ : پاسخ : بوت لودر( نحوه کار با دستور spm )

          نوشته اصلی توسط طراح
          همین پروژه AVR109 را اگر بصورت دقیق تحلیل و درک کنید، در راستای انجام منظور شما مناسب خواهد بود.
          سلام مهندس جان
          من قبلا این فایل را بررسی کرده بودم ولی به خاطر لاتین بودنش زیاد چیزی متوجه نشدم
          ممکن است بصورت یه پروژه لطف کنید توضیح دهید.
          :redface:
          کمتر سخن گویم
          بیشتر عمل کنیم

          دیدگاه


            #6
            پاسخ : بوت لودر( نحوه کار با دستور spm )

            اینجارو نیگاه کن،یه پروژه عملی واسه بوت لودر و پروگرام بیسیم میکرو گذاشته امیدوام مفید واقع شه
            http://roboticngo.com/program-with-ft232-masual/

            دیدگاه


              #7
              پاسخ : بوت لودر( نحوه کار با دستور spm )

              سلام خدمت مهندسین
              من این پروژه AVR 109 را برای mega32 تغییر دادم و حلا تو هایر ترمینال کد هایی که میفرستم درست کار میکنه و با استفاده از نرم افزار AvrOspII با بوت ، پروگرم میکنم و نرم افزار هم میگه درست پرگرم شد.
              اشکال از اون جایی شروع میشه که میکرو همش تو بخش بوت میمونه و برنامه رو اجرا نمیکنه
              برای پرش به آدرس 0 هم از دستور اسمبلی استفاده کردم هم از توابع اشاره گر:
              // #asm(" Jmp 0x00&quot
              funcptr(); // Jump to Reset vector 0x0000 in Application Section.
              فیوز بیت ها هم به شکل زیر فعال شده اند:
              BOOTRST=0
              BOOTSZ0=0
              BOOTSZ1=0
              کریستال خارجی 16 میگ

              اساتید ممنون میشک کمک کنید

              دیدگاه


                #8
                سوال:بوت لودر( نحوه کار با دستور spm )

                البته الان که حافظه فلش رومیخونم متوجه شده که اصلا چیزی پروگرم نشده و فقط همون بخش بوت لودر هستش که برنامه دارد.

                نکته اینجاست که با اون نرم افزار بوت که فلش رو میخونم مشکلی نداره و کل 32 کیلو بایت رو درست میخونه (توش کد هگز بوت مشخصه) حالا نمیدونم کجا نوشتن تو فلش اشتباه هستش و حتی راهی برای تستش هم به ذهنم نمیرسه که بفهمم تاکجای برنامه درسته و تا کجا اشتباه

                کسی اگر فکری یا راه حلی برای این مشکل نوشتن داره ممنون میشم کمک کنه

                دیدگاه

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