اطلاعیه

Collapse
No announcement yet.

پروگرام دو میکرو توسط BootLoader

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

    پروگرام دو میکرو توسط BootLoader

    با عرض سلام خدمت همه دوستان عزیز:

    سوال:
    * آیا می شه توسط Boot Loader ، یک میکرو AVR بتونه یک میکرو دیگه رو پروگرام بکنه ؟
    "به صورت جزئی تر منظورم اینه که AVR اولی به صورتی کار می کنه که در هر بار یک برنامه جدید به اون داده می شه و به وسیله Boot Loader این برنامه رو به میکرو دومی میده و اونو پروگرام میکنه"
    اگر این کار عملیه یک برنامه ساده رو در این جا مثال بزنید.!!!!
    * و آیا FPGA ها هم امکان دارند که بتونند جایگزین میکروی دوم بشوند و توسط میکروی اولی پروگرام بشوند ؟
    از تمام شما دوستان ممنون و متشکرم .


    #2
    پاسخ : پروگرام دو میکرو توسط BootLoader

    با عرض سلام و خسته نباشید خدمت همه شما عزیزان در انجمن:
    با توجه به مطالبی که در بالای این تاپیک نوشتم ، من نیاز به یک سری راهنمائی شما عزیزان دارم
    من میخواستم در اول کار ، فقط توسط کامپیوتر و نرم افزار CVMEGALOAD یک فایل هگز رو روی میکرو بریزم و با استفاده از Boot Loader هر بار فایل هگز جدیدی رو روی میکرو Update کنم ، برای همین هم با توجه به مطالبی که تو اینترنت پیدا کردم متوجه شدم که باید با قسمت USART کار کنم . بعد توسط نرم افزار Codevision در قسمت USART ، TX و RX و وقفه ها و تنظیم سرعت 9600 و مقدار 32 بیتی و یه کم دستورات اضافه که از تو کتاب ره افروز پیدا کردم یه برنامه ساده رو درست کردم .
    اما مشکل من در این قسمت هستش که هر جا که در مورد Boot Loader گشتم غیر از برنامه قبلی یک برنامه بود به اسم CVMegaload.c که من متوجه نشدم این برنامه رو کجا باید استفاده کنم و چه کاربردی داره . در ضمن این برنامه رو که کامپایل کردم خطای زیر رو میده :
    can't allocate the global variable 'j' to register
    من توی Codevision Help که گشتم به دستورات زیر توضیحات زیر برخورد کردم
    /* allocate the variable ‘alfa’ to a register */
    register int alfa ;
    /* allocate the variable ‘beta’ to the register pair R10, R11 */
    register int beta @10 ;
    این جور که من متوجه شدم معلومه که وقتی رجیستری رو به صورت بالا تعریف می کنند یک جفت رجیستر پشت سر هم مورد استفاده قرار می گیره که در این حالت دستور :
    register unsigned int j @13 ;
    ناقص تلقی میشه . به نظر شما دوستان برای رفع ایم مشکل چه کار باید کرد و چرا اصلا برای تعریف متغیر از رجیستر استفاده شده است؟
    :eek: oo: :angry:

    دیدگاه


      #3
      پاسخ : پروگرام دو میکرو توسط BootLoader

      سلام.
      می تونی مجله PMM شماره 6-7 رو از سایت کویر الکترونیک دانلود کنی. مطالب بسیار مفیدی در این مورد هست. من استفاده کردم و جواب گرفتم.

      دیدگاه

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