اطلاعیه

Collapse
No announcement yet.

کاربرد و نحوه استفاده از BootLoader

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

    کاربرد و نحوه استفاده از BootLoader

    این مبحث برای من یه کم گنگه. :sad:
    میشه اینجا یه توضیح کلی راجع به Bootloader و برنامه نمونه ای برای پرش به اونجا بگین؟ :nice:

    #2
    پاسخ : کاربرد و نحوه استفاده از BootLoader

    سلام
    توی انجمن در این باره قبلا بحث شده بود،میتونی اون ها رو هم ببینی
    اما به طور خلاصه:
    حافظه فلش میکرو شامل دو قسمت هست: Bootloader و Application
    قسمت Application همون قسمتی هست که همیشه باهاش سر و کار داریم،و برنامه ای رو که باید توسط میکرو اجرا بشه رو توی این قسمت میریزیم
    اما قسمت Bootloader همیشه اجرا نمیشه،فقط در مواردی اجرا میشه که ما بخوایم (هم میتونیم از برنامه اجرایی به این قسمت پرش کنیم و هم اینکه می تونیم تنظیم کنیم که در هنگام بالا اومدن میکرو بعد از ریست قسمت Bootloader اجرا بشه)
    البته اندازه این قسمت ثابت نیست و با فیوز بیتها می تونی اندازه اش رو تغییر بدی
    حالا کار این قسمت اینه که شما می تونید یه سری کدها توی این بخش بنویسی که بیاد و یه فایل HEX رو از یکی از رابطهای خارجی(مثلا UART) میکرو بخونه و بعد بریزه روی قسمت Application که اجرا بشه
    به کمک این روش شما بدون استفاده از پروگرامر میتونید میکرو رو پرگرام کنید،البته شما باید یه برنامه درون PC برای اینترفیس برنامه Bootloader خودتون بنویسید
    حالا شما با این روش میتونید از راه دور با امنیت بالا برنامه میکرو خودتون رو به روز کنید،یعنی یه فایل EXE درست میکنید که فایل HEX رو به Bootloader! البته می تونید این ارتباط رو کدگذاری کنید و همینطور Lock bit ها رو پرگرام کنید تا کسی به سورس شم دسترسی نداشته باشه!

    من یه مثال با کدوِژن گذاشته بودم تو سایت،اما برای بسکام توی سایت خودش یه نمونه داره!
    موفق باشی
    در دیر مغان آمد یارم قدحی در دست
    مست از می می خواران از نرگس مستش مست

    دیدگاه


      #3
      پاسخ : کاربرد و نحوه استفاده از BootLoader

      ممنونم . درسته لینک برنامه BASCOM و موارد مرتبط هم اینه:
      http://www.mcselec.com/index.php?opt...&Itemid=57
      http://www.mcselec.com/index.php?opt...&Itemid=57
      سعی می کنم روش بیشتر کار کنم و اگه چیزی بیشتر از این فهمیدم همین جا قرار می دم.
      کمکاتونو دریغ نکنید. :job:

      دیدگاه


        #4
        پاسخ : کاربرد و نحوه استفاده از BootLoader

        آقای یارمحمدی یه سوال:

        تو CodeVision میشه بدون اینکه با دستور movw آدرس صفحه رو در Z بارگذاری کنیم، به زبان C شماره صفحه رو تنظیم کنیم؟ چون کامپایلر اجازه نمیده متغیری در آدرس R30 و R31 تعریف بشه. مثلا من کد زیر رو برای نوشتن 64 کلمه از بافر صفحه به خود صفحه نوشتم و کار کرد:


        کد:
         gets(rx_buffer,128);
           
           for(i=0;i<64;i++)
           {
             
             wordL=rx_buffer[j];
             j++;
             wordH=rx_buffer[j];
             j++;     
             
             word_number=i<<1;   
             
             #asm 
             movw R0,R2
             movw R30,R6
             ldi R16,0x01
             out 0x37,R16 
             spm      
             #endasm
           
           }
        فرض کنید، متغیرها هم به صورت زیر تعریف شده اند:

        register unsigned char wordL @2;
        register unsigned char wordH @3;
        register int page_number @4;
        register int word_number @6;


        اما هنوز مطمئن نیستم که فقط با اسمبلی میشه این کار رو انجام داد.

        ممنون. :smile:
        There is nothing so practical as a good theory. — Kurt Lewin, 1951

        دیدگاه


          #5
          پاسخ : کاربرد و نحوه استفاده از BootLoader

          سلام آقای سپاس یار عزیز
          ببخشید که اینقدر دیر پاسخ میذم،من این پست رو ندیده بودم :redface: خیلی شرمنده ام؛امیدوارم از من ناراحت نشده باشید
          الان که چیزی به ذهنم نمیرسه،چون تا حالا باهش برخورد نداشتم
          اگر چیزی فهمیدم در مطرح میکنم
          شما هم اگر راه حلش رو یافتید خبر بدید
          سپاس از بزرگواریتون
          در دیر مغان آمد یارم قدحی در دست
          مست از می می خواران از نرگس مستش مست

          دیدگاه


            #6
            پاسخ : کاربرد و نحوه استفاده از BootLoader

            سلام
            اگه من موقع پروگرام کردن میکرو آی سی رو قفل کنم باز هم میشه فایل hex اونو خواند؟ اگه میشه میشه بگید چه جوری؟
            آخه زمانی که با 8051 کار می کردم اگه موقع پروگرام کردن هر آی سی رو قفل می کردم دیگه نمی شد برنامه رو از داخل آی سی Read کنم .
            آیا کسی می تونه آی سی که قفل شده برنامه اش رو بخونه. اگه می شه چه جوری این کار رو می کنه؟؟

            دیدگاه


              #7
              پاسخ : کاربرد و نحوه استفاده از BootLoader

              نوشته اصلی توسط Ahp_online
              سلام
              اگه من موقع پروگرام کردن میکرو آی سی رو قفل کنم باز هم میشه فایل hex اونو خواند؟ اگه میشه میشه بگید چه جوری؟
              آخه زمانی که با 8051 کار می کردم اگه موقع پروگرام کردن هر آی سی رو قفل می کردم دیگه نمی شد برنامه رو از داخل آی سی Read کنم .
              آیا کسی می تونه آی سی که قفل شده برنامه اش رو بخونه. اگه می شه چه جوری این کار رو می کنه؟؟

              سلام.
              یک شرکت تو چین هست که این کار رو می کنه. یعنی میکرو رو واسشون می فرستی و اونا برنامشو برات می خونن و بهت می دن. هر میکرو هم 600 دلار می گیرن!!!!!
              :eek: :eek: :eek: :eek: :icon_razz: :twisted:
              اما یک تز دکترا بود ( فکر کنم مقالشو توی ECA خوندم) طرف با تغییری در فرکانس تغذیه، از قفل فیوز بیت ها رد می شده و برنامه رو می خونده. . . :nerd:

              دیدگاه


                #8
                پاسخ : کاربرد و نحوه استفاده از BootLoader

                حالا میدونید که به کمک Bootloader میتونی طوری سیستم رو کنترل کنی که هر وقت دوست داشتی برنامه میکرو پاک بشه
                خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                دیدگاه


                  #9
                  پاسخ : کاربرد و نحوه استفاده از BootLoader

                  نوشته اصلی توسط محمد یارمحمدی
                  سلام آقای سپاس یار عزیز
                  ببخشید که اینقدر دیر پاسخ میذم،من این پست رو ندیده بودم :redface: خیلی شرمنده ام؛امیدوارم از من ناراحت نشده باشید
                  الان که چیزی به ذهنم نمیرسه،چون تا حالا باهش برخورد نداشتم
                  اگر چیزی فهمیدم در مطرح میکنم
                  شما هم اگر راه حلش رو یافتید خبر بدید
                  سپاس از بزرگواریتون
                  سلام محمد جان،
                  با ادب و متانتی که از شما سراغ دارم، مطمئن بودم پست من رو ندید که پاسخ ندادید :smile:
                  ممنونم که الان هم روش وقت گذاشتید. با اینحال فکر نمی کنم راه دیگه ای داشته باشه، اما اگر پیدا کردم خدمتتون خبر میدم.
                  با تشکر :smile:
                  There is nothing so practical as a good theory. — Kurt Lewin, 1951

                  دیدگاه


                    #10
                    پاسخ : کاربرد و نحوه استفاده از BootLoader

                    نوشته اصلی توسط Ahp_online
                    سلام
                    اگه من موقع پروگرام کردن میکرو آی سی رو قفل کنم باز هم میشه فایل hex اونو خواند؟ اگه میشه میشه بگید چه جوری؟
                    آخه زمانی که با 8051 کار می کردم اگه موقع پروگرام کردن هر آی سی رو قفل می کردم دیگه نمی شد برنامه رو از داخل آی سی Read کنم .
                    آیا کسی می تونه آی سی که قفل شده برنامه اش رو بخونه. اگه می شه چه جوری این کار رو می کنه؟؟

                    غیر از این روش های عجیبی که بر مبنای نفوذ به قطعه است و یک موردش رو دوستمون گفتند فکر نمی کنم راه دیگه ای وجود داشته.
                    There is nothing so practical as a good theory. — Kurt Lewin, 1951

                    دیدگاه


                      #11
                      پاسخ : کاربرد و نحوه استفاده از BootLoader

                      میشه یه مثال بزارید

                      که چطوری فعالش کنیم

                      و کجا کدای خودمون رو بریزیم

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

                      تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                      دیدگاه


                        #12
                        پاسخ : کاربرد و نحوه استفاده از BootLoader

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

                        دیدگاه


                          #13
                          پاسخ : کاربرد و نحوه استفاده از BootLoader

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

                          تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                          دیدگاه


                            #14
                            پاسخ : کاربرد و نحوه استفاده از BootLoader

                            دوستان من نیاز دارم بوت لودری بنویسم که از طریق GPRS کار کنه
                            حالا یکسری مشکلات سره راح هست
                            چیپ مورد استفاده مگا 8 است و الان فقط 15 درصد جای خالی دارد
                            منابع sram هم کاملا با برنامه فعلی پر است
                            حالا سوال دارم اول با سی کامل میشه بوت لودر نوشت
                            و رم مورد استفاده در برنامه اصلی کامل پر شده
                            ایا در بوت لودری که نوشته بشه نحوه دسترسی به رم به چه صورت است
                            این روالی که بتونه قسمتی از فلش رو پاک کنه به چه صورت هست
                            یعنی مثلا بعد از چک کردن اینکه نسخه جدید موجود هست
                            شروع به دانلود کرده و جایگزین کد قبلی کنه
                            2 عامل مشکله
                            1.بعضی ثابت ها مقدارشون نباید تغییر کنه در جایی که ممکنه این ورژن جدید رو صدها دستگاه دانلود کنند
                            2.این قضیه باید تو برنامه اصلی در نظر گرفته بشه یا باید برنامه ی جدا نوشته بشه
                            یا مثلا بعد از چک کردن در برنامه اصلی یک بار رست بشه و به برنامه بوت لودر بره
                            هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                            بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                            میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

                            تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                            دیدگاه


                              #15
                              پاسخ : کاربرد و نحوه استفاده از BootLoader


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

                              دیدگاه

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