اطلاعیه

Collapse
No announcement yet.

تنظیمات فیوزبیتها در فایل هگز؟!!

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

    تنظیمات فیوزبیتها در فایل هگز؟!!

    عرض سلام و احترام
    معمولا در کامپایلرهای C و برنامه های اسمبلی که با میکروهای PIC نوشته میشه تنظیمات فیوزبیت درون برنامه به صورت کد نوشته میشه و بعد از کامپایل یا اسمبل کردن 1 جورایی ضمیمه فایل هگز میشه جوری که با هر پروگرامری که بخوایم میکرو رو پروگرام کنیم همین که فایل هگز رو لود کنیم به صورت پیش فرض اون تنظیمات فیوز بیت از قبل تغیین شده در پروگرامر اعمال میشه. اما در تمام مدتی که با AVR ها کار میکردم همچین موردی ندیدم و هر وقت برنامه درست کردم در زمان پروگرام کردن مجددا فیوزبیت ها رو چک کردم، میخواستم بدونم آیا این امکان در AVR ها هست؟ اگر بله در چه کامپایلرها و اسمبلرهایی در کدام قسمت و به چه صورت میشه فیوزبیت ها رو به این حالت تنظیم کرد؟ اگر هم این امکان نیست برای XMEGA ها چطور؟ اصلا این ربطی به خانواده میکروکنترلر داره یا فقط به کامپایلر و اسمبلر بر میگرده؟
    ممنون
    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
    شاد و موفق باشید

    #2
    پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

    تو PIC فیوز بیت ها تو حافظه آدرس خاصی دارن و توسط پروگرمر هم هرچیزی تو اون آدرس نوشته بشه مقادیر فیوز بیت حساب میشه و تو اون آدرس هم تو فایل هگز هر مقداری نوشته بشه اون مقدار به عنوان فیوز بیت رو میکرو پروگرم میشه. در کل میشه گفت که حافظه فیوزبیت از لحاظ دسترسی با حافظه فلش فرقی نداره برای پروگرمر. اما تو AVR روش دسترسی به فیوز بیت ها کاملا با فلش متفاوته و پروگرمر باید به صورت جدا باهاشون برخورد کنه و از اونجایی هم که آدرس مشخصی نداره نمیشه تو فایل هگز براش مقداری تعریف کرد.
    ;()((void (*)(void))0x0000))

    دیدگاه


      #3
      پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

      سلام
      میشه !!! :eek:
      خروجی کامپایلر gcc یه فایل " ELF.* " تولید میکنه . که توی این فایل می تونی فیوز بیت ها رو هم تو کدت قرار بدی . یعنی باید موقع پروگرام کردن به جای فایل hex.* فایل elf.* پروگرام کنی تا فیوز بیت ها هم هم زمان پروگرام بشه.
      لااقل توی atmel studio من بلدم.

      اینم یه نمونه کد :

      [code=c]//..........
      #include <avr/io.h>
      //..........
      FUSES =
      {
      .low = LFUSE_DEFAULT,
      .high = (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_EESAVE & FUSE_SPIEN & FUSE_JTAGEN),
      };
      //..........

      int main(void)
      {

      //..........
      return 0;
      }
      //..........[/code]

      حتما می پرسید ماکروهایی مثل LFUSE_DEFAULT و FUSE_BOOTSZ0 و FUSE_JTAGEN و .......... چی هستن و کجا تعریف شدن.
      در واقع این ماکرو ها در هدر فایل مربوط به میکرو شما تعریف شدن مثلا برای atmega16A اسم این فایل اینه : iom16a.h
      که با توجه به تنظیماتی که می خواهید باید مقادی low. و high. رو تعریف کنید.

      البته بعضی از avr ها بیش از 2 فیوز بیت دارن مثل atmega128 که به مقادیر بالا extended. هم اضافه میشه. اونوقت کدت این شکلی میشه مثلا :

      [code=c]//..........
      #include <avr/io.h>
      //..........
      FUSES =
      {
      .low = LFUSE_DEFAULT,
      .high = (FUSE_BOOTSZ0 & FUSE_BOOTSZ1 & FUSE_EESAVE & FUSE_SPIEN & FUSE_JTAGEN),
      .extended = EFUSE_DEFAULT,
      };
      //..........

      int main(void)
      {

      //..........
      return 0;
      }
      //..........[/code]

      http://massoud68.persiangig.com/pict...1406891613.gif

      مشکلتون حل شده ؟؟؟
      پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

      دیدگاه


        #4
        پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

        ممنون سجاد خان به این موضوع دقت نکرده بودم!!
        مسعود خان توی این حالت که شما میگید بعد اطلاعات فایل هگز هم درون ELF قرار میگیره و شما کلا به جای هگز این فایل رو به پروگرامر میدید تا هم هگز و هم فیوزبیت ها رو با استفاده از همین فایل رایت کنه؟ اگر اینطوره چه پروگرامرهایی میتونند به جای هگز از این فایل استفاده کنند؟
        ممنون
        از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
        هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
        اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
        اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
        شاد و موفق باشید

        دیدگاه


          #5
          پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

          نوشته اصلی توسط Study
          ممنون سجاد خان به این موضوع دقت نکرده بودم!!
          مسعود خان توی این حالت که شما میگید بعد اطلاعات فایل هگز هم درون ELF قرار میگیره و شما کلا به جای هگز این فایل رو به پروگرامر میدید تا هم هگز و هم فیوزبیت ها رو با استفاده از همین فایل رایت کنه؟ اگر اینطوره چه پروگرامرهایی میتونند به جای هگز از این فایل استفاده کنند؟
          ممنون
          به پروگرامر بستگی نداره. به اون نرم افزاری که باهاش پروگرام میکنی بستگی داره.
          شما توی کد ویژن فیوز ها رو باید تک تک بیت هاشو تیک بزنی یا نزنی ، و فعلا این قابلیت رو نداره.
          ولی توی برنامه پروگرام atmel studio می تونی این کارو انجام بدی ، یعنی هم تک تک بیت ها رو انتخاب کنی هم به صورت یکجا فایل elf رو انتخاب کنی. :biggrin
          با بسکام هم تاحلا کار نکردم :biggrin:
          توی avrdude هم فکر کنم بشه !

          فایل elf فایلیه که شما همه چیز رو می تونی توش تجمع کنی . مثلا در حالت عادی محتویات eeprom توی یه فایل دیگه به مثل eep.* میره که باید جدا پروگرام کنی ولی با فایل elf همه چیز رو میتونی توی یه فایل قرار بدی از جمله محتویات eeprom رو . بیت های قفل(look bits ) رو هم می تونی توش تجمیع کنی.
          http://massoud68.persiangig.com/pict...1406891613.gif

          مشکلتون حل شده ؟؟؟
          پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

          دیدگاه


            #6
            پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

            ممنون مسعود خان ولی من باز جواب یک سوالم رو نگرفتم، فایل ELF غیر از اون موارد جانبی که اشاره کردید محتوای فایل هگز رو هم در بر میگیره؟ منظورم این هست که شما اگر این فایل رو به من بدید ولی هگز رو ندید من میتونم با این فایل کلا میکرو رو پروگرام کنم یا خیر؟
            از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
            هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
            اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
            اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
            شاد و موفق باشید

            دیدگاه


              #7
              پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!


              نوشته اصلی توسط Study
              ممنون مسعود خان ولی من باز جواب یک سوالم رو نگرفتم، فایل ELF غیر از اون موارد جانبی که اشاره کردید محتوای فایل هگز رو هم در بر میگیره؟ منظورم این هست که شما اگر این فایل رو به من بدید ولی هگز رو ندید من میتونم با این فایل کلا میکرو رو پروگرام کنم یا خیر؟
              بله.فایل هگز رو هم در بر میگیره.
              http://massoud68.persiangig.com/pict...1406891613.gif

              مشکلتون حل شده ؟؟؟
              پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

              دیدگاه


                #8
                پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                درست، جالبه ولی چرا کامپایلرهای دیگه این امکان رو نگذاشتن؟!! به نظر من مهم هست که تمام تنظیمات همه در یک فایل باشند حالا یا هگز یا هر فایل دیگری که بتونه یکجا برنامه ریزی بشه چون چند بار برام پیش اومده برنامه AVR رو برای کسی ارسال کردم و با اینکه به صورت کامنت توضیح دادم فیوزبیت ها رو چطور تنظیم کنید طرف دقت نکرده و همینجوری برنامه رو با فیوزبیت های دیگری ریخته و بعد گفته برنامتون مشکل داره!! در حالی که این مشکل رو با PIC نداشتم چون همیشه همون HEX رو که میدادم دیگه طرف دخالتی نداشت، برای AVR هم تو کشور ما بیشتر با bascom یا کدویژن کار میکنند و کسی هم به این جزئیات معمولا توجه نمیکنه. احتمالا این فایل ELF که میگید رو با notepad هم میشه باز کرد و اطلاعات درونش رو دید نه؟
                از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                شاد و موفق باشید

                دیدگاه


                  #9
                  پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                  نوشته اصلی توسط Study
                  درست، جالبه ولی چرا کامپایلرهای دیگه این امکان رو نگذاشتن؟!! به نظر من مهم هست که تمام تنظیمات همه در یک فایل باشند حالا یا هگز یا هر فایل دیگری که بتونه یکجا برنامه ریزی بشه چون چند بار برام پیش اومده برنامه AVR رو برای کسی ارسال کردم و با اینکه به صورت کامنت توضیح دادم فیوزبیت ها رو چطور تنظیم کنید طرف دقت نکرده و همینجوری برنامه رو با فیوزبیت های دیگری ریخته و بعد گفته برنامتون مشکل داره!! در حالی که این مشکل رو با PIC نداشتم چون همیشه همون HEX رو که میدادم دیگه طرف دخالتی نداشت، برای AVR هم تو کشور ما بیشتر با bascom یا کدویژن کار میکنند و کسی هم به این جزئیات معمولا توجه نمیکنه. احتمالا این فایل ELF که میگید رو با notepad هم میشه باز کرد و اطلاعات درونش رو دید نه؟
                  نه فکر نمی کنم . نوت پد داخلش چیز واضحی نشون بده. چون ترکیبی از فایل hex , eep ,فیوز بیت ها و بیت های قفل و چند تا چیز دیگه است.
                  تازه قسمت جالبترش اینه که تو اتمل استادیو یه جایی هست که فایل elf رو بهش میدی و برات قسمت های مختلف رو جدا جدا مکنه و تو فایل های مجزا ذخیره میکنه . مثلا قست فلش رو توی یه فایل hex و قسمت eeprom رو توی یه فایل eep برات خروجی میده .
                  http://massoud68.persiangig.com/pict...1406891613.gif

                  مشکلتون حل شده ؟؟؟
                  پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

                  دیدگاه


                    #10
                    پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                    درست!!
                    اتفاقا دلیل اینکه پرسیدم توی نوت پد چیزی مشخص هست یا نه یه جورایی برا این بود که اگر بشه یک نرم افزار خیلی ساده بنویسیم که اینارو از فایل elf استخراج کنه که ظاهرا ای وی ار استودیو اینکار رو میکنه!! البته به نظر من باز هم زیاد فایده ای نداره، حداقل برای برنامه نویس های ما که اکثریت با بسکام و کدویژن کار میکنند فایل elf تقریبا شناخته شده نیست و اگه مثلا شما همزمان با فایل هگز که برای کسی میفرستید شده تماس هم بگیرید و فیوز بیت ها رو توضیح بدید فکر کنم سنگین تر باشید تا اینکه بخواید طرف رو متوجه کنید که این فایل ELF رو میتونی ببری تو avr studio و ازش فیوزبیت ها رو متوجه بشی و هگز رو هم بگیری، یا اینکه بهش بگید با فلان کامپایلر بازش کن خودش فیوزبیت ها رو تنظیم میکنه و ... :smile:
                    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                    شاد و موفق باشید

                    دیدگاه


                      #11
                      پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                      نوشته اصلی توسط Study
                      درست!!
                      اتفاقا دلیل اینکه پرسیدم توی نوت پد چیزی مشخص هست یا نه یه جورایی برا این بود که اگر بشه یک نرم افزار خیلی ساده بنویسیم که اینارو از فایل elf استخراج کنه که ظاهرا ای وی ار استودیو اینکار رو میکنه!! البته به نظر من باز هم زیاد فایده ای نداره، حداقل برای برنامه نویس های ما که اکثریت با بسکام و کدویژن کار میکنند فایل elf تقریبا شناخته شده نیست و اگه مثلا شما همزمان با فایل هگز که برای کسی میفرستید شده تماس هم بگیرید و فیوز بیت ها رو توضیح بدید فکر کنم سنگین تر باشید تا اینکه بخواید طرف رو متوجه کنید که این فایل ELF رو میتونی ببری تو avr studio و ازش فیوزبیت ها رو متوجه بشی و هگز رو هم بگیری، یا اینکه بهش بگید با فلان کامپایلر بازش کن خودش فیوزبیت ها رو تنظیم میکنه و ... :smile:
                      می تونی هم لینک این تاپیک رو بهش بدی !!! :biggrin:
                      http://massoud68.persiangig.com/pict...1406891613.gif

                      مشکلتون حل شده ؟؟؟
                      پس روي "موضوع به نتيجه رسيد" کليک کنيد !! :job:

                      دیدگاه


                        #12
                        پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                        سلام

                        این امکان که بشه تو خود برنامه فیوزبیتها رو تنظیم کرد و با پروگرم میکرو فیوزبیت هم تنظیم بشه یه جورایی تو بسکام هست.
                        http://avrhelp.mcselec.com/index.html?_prog.htm

                        -البته طبق تستی که قبلا کردم وقتی از خود بسکام با usbasp میکرو پروگرم میشه فیوز بیت هم ست میشه ولی به صورت جداگانه با برنامه ای مثل progisp فیوز بیت تغییری نمی کرد..
                        نمايندگي رسمي فروش محصولات ECA در اردبیل

                        دیدگاه


                          #13
                          پاسخ : تنظیمات فیوزبیتها در فایل هگز؟!!

                          محمد خان منظور در اینجا این هست که با هر کامپایلری که این تنظیمات انجام بشه با کامپایلر ها و پروگرامرهای دیگه هم اگر باز بشه باز این تنظیمات اعمال بشه نه فقط با یک کامپایلر خاص
                          از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                          هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                          اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                          اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                          شاد و موفق باشید

                          دیدگاه

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