نمایش نتایج: از 1 به 9 از 9
Like Tree6 لایک
  • 1 Post By solxsado
  • 3 Post By safdari
  • 1 Post By solxsado
  • 1 Post By majidfa78

موضوع: بوت لودر آردینو

  1. #1
    Senior Member
    تاریخ عضویت
    Dec 2013
    محل سکونت
    ایران - شیراز
    نوشته ها
    220

    بوت لودر آردینو

    با سلام
    نمی دونم موضوع رو درست نوشتم یا نه ولی من می خوام بدونم آردوینو مثل مثلا بسکام قابلیت اینو داره که بوت لودر رو قفل کنی که کسی دیگه نتونه فایل هگز رو از روی میکروکنترلر استخراج کنه؟
    یعنی قابلیت خواندن و نوشتن روی حافظه قابل برنامه ریزی ببندی.

    با تشکر:d
    لایک کردن

  2. #2
    Junior Member
    تاریخ عضویت
    Sep 2014
    نوشته ها
    3
    سلام من تست نکردم اما احتمالا میشه که میکروی برد آردوینو رابعداز پروگرام کردن در آورد و بعد با پروگرامر usb -asp حافظه اون را قفل کرد

  3. #3
    Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    76
    نقل قول نوشته اصلی توسط abnouswood نمایش پست ها
    سلام من تست نکردم اما احتمالا میشه که میکروی برد آردوینو رابعداز پروگرام کردن در آورد و بعد با پروگرامر usb -asp حافظه اون را قفل کرد
    سلام و خوش آمد
    دوست عزیز اگر توی این زمینه تونستید کاری انجام بدید خوشحال میشیم ما رو هم مطلع کنید چون این موضوع برای خیلی ها مهمه

  4. #4
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    10
    سلام دوستان
    منم خیلی علاقه دارم بدونم میشه یا نه؟!

  5. #5
    Member
    تاریخ عضویت
    Aug 2014
    نوشته ها
    76
    نقل قول نوشته اصلی توسط lolohacko نمایش پست ها
    سلام دوستان
    منم خیلی علاقه دارم بدونم میشه یا نه؟!
    سلام به شما
    اکثر دوستان به این نظر هستند که نمی توان کد های آردوینو رو بازیابی کرد. اما یکی از دوستان گفت که کد هگز رو تونسته از آردوینو بخونه! حالا چه جوری؟ الله اعلم!
    متاسفانه خیلی ها هم که میتونن، وقت ندارن که تست کنن!
    دوست عزیز حالا شما اگر وقت دارید پیش قدم بشید و تست کنید، والا ما هم دوست داریم بدونیم!

  6. #6
    Junior Member
    تاریخ عضویت
    Oct 2014
    نوشته ها
    8
    نقل قول نوشته اصلی توسط solxsado نمایش پست ها
    با سلام
    نمی دونم موضوع رو درست نوشتم یا نه ولی من می خوام بدونم آردوینو مثل مثلا بسکام قابلیت اینو داره که بوت لودر رو قفل کنی که کسی دیگه نتونه فایل هگز رو از روی میکروکنترلر استخراج کنه؟
    یعنی قابلیت خواندن و نوشتن روی حافظه قابل برنامه ریزی ببندی.

    با تشکر:d
    سلام
    دوست عزیز بوت لودر که قفل نمیشه.

    قفل کردن قابلیت خواندن و نوشتن روی حافظه فلش میکرو یک امکان سخت افزاری هست و ربطی به محیط توسعه نداره.
    بهتره اول با بوت لودر آشنا شیم تا بهتر متوجه بشیم.
    بوت لودر یک برنامه است که روی حافظه فلش میکرو قرار میگیره و با شما از داخل میکرو ارتباط برقرار میکنه و فرامین شما رو انجام میده. محیط های توسعه ساده تر مثل بسکام اصلآ بوت لودر ندارند. البته می تونید از بوت لودر استفاده کنید ولی بطور پیش فرض نیازی به بوت لودر ندارند.
    در بسکام شما برنامه کامپایل شده رو مستقیمآ روی حافظه فلش منتقل میکنید.
    محیط توسعه Arduino یک بوت لودر اختصاصی داره که البته متن باز هست. یعنی شما سورس برنامه اون رو در اختیار دارید.تفاوت یک میکرو Arduino با یک میکرو معمولی در همین بوت لودر هست.
    یعنی شما می تونید هر میکرو خام رو که از بازار می خرید، بوت لودر Arduino روش بریزید و در این محیط ازش استفاده کنید و یا بوت لودر رو برد رو پاک کنید.
    با پاک کردن بوت لودر دیگه شما از محیط Arduino نمیتونید به برد دسترسی داشته باشید و ارتباط کاملآ قطع میشه.
    ولی این به این معنی نیست که برد Arduino شما دیگه غیر قابل استفاده است با کمی سعی و خوندن دستورالعمل های روی سایت اصلی و البته داشتن یک پروگرمر (قطعه سخت افزاری)می تونید دوباره بوت لودر رو روی برد تون بریزید. پس توصیه میکنم اول مراحل ریختن بوت لودر رو روی یک میکرو خام رو تست کنید بعد از اینکه مسلط شدید بوت لودر برد رو پاک کنید تا با مشکل مواجه نشید.
    اما آیا پاک کردن بوت لودر به معنای محافظت از برنامه شماست؟
    خیر اینطور نیست . همونطور که الان دیگه باید متوجه شده باشید این کار فقط ارتباط Arduino با برد شما رو قطع میکنه ولی همچنان با یک پروگرمر میشه به سادگی برنامه روی میکرو رو خوند و به صورت فایل HEX روی کامپیوتر ذخیره کرد.
    برای حفاظت از برنامه روی حافظه فلش شما نیاز دارید تا فیوز بیت های مربوط به قفل برنامه رو فعال کنید. برای اینکار می تونید از یک پروگرمر استفاده کنید. مثلآ با همون روشی که تو بسکام اینکار رو انجام میدید.مثال : برنامه رو در محیط Arduino نوشتید. فایل HEX تولید شده بعد از کامپایل برنامه رو با پروگرمر محیط بسکام باز کنید و پروگرم کنید. فیوز بیتهای قفل رو فعال کنید.

    البته می تونید بدون استفاده از پروگرمر هم این کار رو با خود بوت لودر انجام بدید ولی مطمئن شوید که کاملآ اطلاعات کافی را دارید در غیر اینطورت با خطاهای زیادی مواجه خواهید شد.
    1- از روی دیتا شیت میکرو و یا با استفاده از یک محاسبه گر (مثل این) مقدار فیوز بیتها رو برای میکرو بدست بیارید.
    2- با استفاده از نرم افزار Avrdude که همراه Arduino هست و در حقیقت Arduino از اون برای ارتباط با بوت لودر کمک میگیره مقدار محاسبه شده برای فیوز بیت رو روی اون برنامه ریزی کنید.

    چند نکته:
    1- قفل کردن برنامه به این معنی نیست که نمیشه از روی میکرو چیزی خوند یا نوشت! با فعال کردن قفل اگر با پروگرمر از روی حافظه Flash بخونید مقادیر اشتباه و بی معنی براتون میفرسته یعنی اگر این مقادیر رو روی یک میکرو دیگه بریزید اصلآ کار برنامه شما رو نمیکنه و یک برنامه بی معنی هست.اگر هم روش بنویسید که برنامه قبلی پاک میشه.
    2- قفل ها تا حد امکان از برنامه شما حفاظت میکنند و البته سخت افزاری هستند. ولی در مواردی ادعا شده که این حفاظت قابل شکستن است! ( من تا به حال فقط این ادعا رو شنیدم ولی یک دستور یا برنامه مشخص برای AVR تا به حال ندیدم. چند سال پیش برای میکرو های 8051 سری C ساخت Atmel یک برنامه از اینترنت گرفتم و تست کردم، تا حدودی بد نبود و کار میکرد.به هر حال میتونید تو اینترنت بگردید.)
    3-برای حفاظت کامل می تونید : 1- بوت لودر رو پاک کنید 2- فیوز بیتهای قفل رو فعال کنید 3- فیوز بیت مربوط به ISP (برنامه ریزی سریال) رو غیر فعال کنید 4- در صورتی که میکرو JTAG داره فیوز بیت مربوط به اون رو غیر فعال کنید. در این صورت حداکثر تدابیر ممکن رو لحاظ کردید.البته فراموش نکنید که دیگه با پروگرمر های عادی به این میکرو دسترسی ندارید و فقط با یک پروگرمر گرون قیمت که می تونه موازی برنامه ریزی کنه می تونید میکرو رو به حالت اولیه بر گردونید.

    موفق باشید

  7. #7
    Senior Member
    تاریخ عضویت
    Dec 2013
    محل سکونت
    ایران - شیراز
    نوشته ها
    220
    با سلام
    من خودم همه موارد رو تست زدم خیلی تجربه هم کسب کردیم از اینجا شروع می کنیم که بوت لودر به دو روش می توان روی میکرو آپلود کرد مثلا atmega8 که ترتیب پایه هاش کاملا شبیه atmega328 هست و شما می توانید جای همین میکرو رو برد Uno بزارید و برنامه ریزیش کنید البته قبلش باید بوت لودر روش آپلود کنید که آموزش اون رو تو سایته خودم گذاشتم اینم لینکش atmega8
    من از stk500 spi و avr studio استفاده می کنم .شما وقتی بوت لودر رو بریزین ، آدرس شروع بوت لودر تعیین شده و بوت لودر در محل خودش توی حافظه فلش آپلود می شود و بعد دوباره فایل هگز برنامه رو بریزید. توی ویندوز به مسیر Windows 7/Documents and Settings/Administrator/AppData/Local/Temp و پوشه build رو بر اساس تاریخ و ساعت کامپایل کردن برنامتون پیدا کنید. اما قبل به مسیر arduinox.x.x/hardware/arduino برید و یه فایل به اسم boards.txt اونجا می بینید که تمام برد ها توش تعریف شده و شما می تونید ویرایشش کنید بگذریم حالا باید فیوز بیت های میکرو رو نتظیم کنید دو تا خط مثل زیر واسه میکرو تعریف شده
    atmega8.bootloader.low_fuses=0xdf
    atmega8.bootloader.high_fuses=0xca
    مثلا ماله atmega8 بایت کم ارزشش روی df و پر ارزش روی ca تنظیم شده که شما هم باید واسه میکرو همین ها رو تنظیم کنید از ادرس Engbedded AVR Fuse Calculator هم می توانید استفاده کنید. این تا اینجا حالا بعد از تنظیم فیوز بیت بوت لودر رو با دیگر پروگرامر ها یا با خودت آردینو با توجه به آموزشی که دادم روش آپلود می کنید و بعد فایل هگز برنامه تون روش می ریزید.
    واسه قفل کردن میکرو اگه پایه ریست رو غیرفعال کنید دیگه نمیشه فایل هگز رو خوند.

    نکته:
    ۱. اگه اول بوت لودر رو آپلود کنید بعد فیوز بیت رو به هر دلیلی تغییر بدید بوت لودر مشکل پیدا می کنه.
    ۲.بوت لودر رو پاک کنید برنامه اجرا نمیشه.
    ۳. تمامی میکروکنترلر های آردوینو رو می توان با اتصال به پروگرامر های Spi فایل هگز رو خوند.

    بوت لودر های atmega16 و atmega32 رو واستون میذارم. الان دیگه چیزی یادم نمیاد ولی واستون میذارم.
    bootloader – بوت لودر ATtiny2313-ATmega16-ATmega32 در Arduino | پورتال دیجیتال
    ویرایش توسط solxsado : 06-28-2015 در ساعت 07:20 PM
    لایک کردن

  8. #8
    Junior Member
    تاریخ عضویت
    Sep 2015
    نوشته ها
    4

    استخراج کد

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

    با تشکر:d
    برای استخراج کد هگز داخل آردوینو بعد از نوشتن برنامه alt+ctrl+s را با هم فشار دهید می بینید که برنامه کامپایل می شود بعد به فولدر پروژه رجوع کنید می بینید که دو فایل هگز آنجا قرار دارد یکی با بوت لودر و یکی بدون بوت لودر .از فایل board.txt فیوزبیت های مربوط به میکرو کنترلر خود را بخوانید سپس فایل هگز را با پروگرمر روی میکرو کنترلر آپلود کنید و lock bit ها را نیز فعال کنید.
    لایک کردن

  9. #9
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط majidfa78 نمایش پست ها
    برای استخراج کد هگز داخل آردوینو بعد از نوشتن برنامه alt+ctrl+s را با هم فشار دهید می بینید که برنامه کامپایل می شود بعد به فولدر پروژه رجوع کنید می بینید که دو فایل هگز آنجا قرار دارد یکی با بوت لودر و یکی بدون بوت لودر .از فایل board.txt فیوزبیت های مربوط به میکرو کنترلر خود را بخوانید سپس فایل هگز را با پروگرمر روی میکرو کنترلر آپلود کنید و lock bit ها را نیز فعال کنید.
    عالی بود دوست عزیز

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO