আমি কীভাবে বুটলোডার পোড়াবো?


15

আমি যে সমস্যাটি পেয়ে যাচ্ছিলাম তা ঠিক করতে আমার আড়ডিনোকে "বুটলোডার বার্ন" করার জন্য আমাকে নির্দেশ দেওয়া হয়েছিল। কিভাবে আমি এটি করতে পারব? (এবং বুটলোডার ঠিক কী?)


আপনি সঠিক পদক্ষেপগুলি অনুসরণ করেন তবে বুটলোডারকে আরডুইনোতে জ্বালানো খুব সহজ। এই ভিডিওটি আপনাকে সহায়তা করতে পারে: ইউটিউব - এটিএমইজিএ 328 পি-এউ (এসএমডি) এ কীভাবে বুটলোডার বার্ন করা যায় | বাড়ির তৈরি আরডুইনো মিনি
সন্দেশ এইচএস

উত্তর:


15

বুটলোডার একটি ছোট প্রোগ্রাম যা (প্রায়) সর্বদা একটি আরডুইনোতে থাকে। এটি আপনার তৈরি স্কেচগুলি আপলোড এবং শুরু পরিচালনা করে এবং বোর্ড পুনরায় সেট করার পরে পিন 13 এলইডি জ্বলজ্বল করে।


বুটলোডার বার্ন করতে:

  1. একটি এভিআর আইএসপি , ইউএসবি টিনিআইএসপি , প্যারালাল প্রোগ্রামগ্রাম , বা অন্য একটি আরডুইনো বোর্ড পান । এটি আপনার আইএসপি হবে।
  2. অন্যথায় নির্দেশ না দিলে আপনার বোর্ডের আইএসএসপি পিনের সাথে আইএসপি সংযুক্ত করুন।
  3. আপনার বোর্ডটি কোনও ইউএসবি কেবল বা একটি বাহ্যিক বিদ্যুত সরবরাহ সহ পাওয়ার করুন।
  4. আরডুইনো আইডিই খুলুন।
  5. আপনি Tools ► Board ►IDE তে জ্বলন্ত সঠিক বোর্ডটি নির্বাচন করেছেন তা নিশ্চিত করুন । আপনি প্রোগ্রামগুলি সঠিকভাবে আপলোড করতে পারলেও এটি ডাবল-চেক করুন; আপলোড করার জন্য সর্বদা সঠিক বোর্ডের প্রয়োজন হয় না।
  6. উপযুক্ত প্রোগ্রামার নির্বাচন করুন Tools ► Programmer ►
  7. ক্লিক করুন Tools ► Burn Bootloader, এবং অপেক্ষা করুন। এটি এক মিনিটের বেশি সময় নেয় না এবং প্রায়শই কয়েক সেকেন্ড সময় নেয়।

সোর্স:


1
এভিআরআইএসপি হ'ল EOL (জীবনের শেষ অবধি) এই মুহুর্তে। সর্বনিম্ন, আপনি একটি AVRISPmk2 চান। এছাড়াও প্রচুর অন্যান্য ফ্যানসিয়ার সরঞ্জাম রয়েছে (উদাহরণস্বরূপ এভিআর ওয়ান!) আপনার সম্ভবত কেবল বলা উচিত{line 1} or other dedicated ISP programmer.
কনার ওল্ফ

আরডুইনো ইউনের মতো বোর্ডগুলিতে, প্রতিবার আপনি "wifi এর মাধ্যমে আপলোড করুন", আপনি আপনার স্কেচের সাথে সংযুক্ত বুটলোডার জ্বলছেন। লিনাক্স সিপিইউ এসপিআইয়ের মাধ্যমে এভিআর এমসিইউ-র সাথে সংযুক্ত রয়েছে এই তথ্যের জন্য আপনাকে ধন্যবাদ, যাতে আপনি সফ্টওয়্যার দিয়ে কোনও আইএসপি নকল করতে পারেন।
ফেডেরিকো ফিসোর

@ ফেডেরিকোফিসোর - এতক্ষণ কেন এটি লাগে?
TheDoctor

হ্যাঁ, এটি এবং জিপিআইও বিটবাংগিংয়ের কাজটি ধীর। এটির গতি বাড়ানোর চলমান প্রচেষ্টা চলছে effort
ফেডেরিকো ফিসোর

8

বুটলোডার কী?

আর বুটলোডার ঠিক কী?

বুটলোডার প্রোগ্রামের মেমরির "উচ্চ" অংশে বাস করে এমন একটি ছোট্ট কোড। সাধারণত আপনি যখন নতুন স্কেচ আপলোড করেন তবে এটি মুছে ফেলা হয় না। এর উদ্দেশ্য এটি পুনরায় সেট করার সাথে সাথেই সক্রিয় করা হবে (ফিউসগুলি 0x0000 ঠিকানার পরিবর্তে বুটলোডার ঠিকানায় কোড শুরু করার জন্য কনফিগার করা হয়েছে)। "প্রোগ্রামিং" ডেটা সিরিয়াল বন্দরে উপস্থিত হচ্ছে কিনা তা দেখার জন্য বুটলোডার অল্প সময়ের জন্য (যেমন এক সেকেন্ড) অপেক্ষা করবে।

  • যদি তা হয় তবে এটি সেই ডেটাটি পড়ে এবং বাকী ফ্ল্যাশ মেমরিটিকে পুনরায় প্রোগ্রাম করতে ডিকোড করে। আপলোডিং প্রোগ্রামের সাথে একযোগে কাজ করা (সাধারণত অর্ডুড) নতুন স্কেচটি সিরিয়াল বন্দর দিয়ে প্রেরণ করা হয়। বুটলোডার ফ্ল্যাশ মেমরির পৃষ্ঠাগুলি মুছে দেয় এবং তাদের নতুন কোড দিয়ে প্রতিস্থাপন করে। একবার হয়ে গেলে এটি নতুন কোডটি কার্যকর করে।

  • কোনও নির্দেশনা না আসলে, বুটলোডার বোর্ডে বিদ্যমান স্কেচটি সম্পাদন করতে 0x0000 ঠিকানার দিকে ঝাঁপিয়ে পড়ে।


কীভাবে বুটলোডার প্রতিস্থাপন করবেন

একটি বুটলোডার প্রোগ্রাম করার একটি বিকল্প পদ্ধতি হ'ল আমি কিছুক্ষণ আগে লিখেছিলাম এমন একটি স্কেচ ব্যবহার করা যা এটিতে চালিত হয়:

  • ইউনো (বা অনুরূপ, যেমন ডাইমিলানোভ)
  • লিওনার্দো
  • Mega2560

"প্রোগ্রামিং" বোর্ড স্কেচটি চালায় যা এতে বেশ কয়েকটি বোর্ডের জন্য হার্ড-কোডেড বুটলোডার রয়েছে ers আপনি প্রোগ্রামিং বোর্ডকে 6 টি হুক-আপ তারের সাহায্যে লক্ষ্য বোর্ডের সাথে (বুটলডারটি চাওয়া বোর্ড) সাথে সংযুক্ত করুন।

ইউনোর জন্য বুটলোডার প্রোগ্রামার

এই নির্দিষ্ট ছবিতে একটি ইউনো প্রোগ্রামিংয়ের অন্য একটি চিত্রিত করে।

আপনি স্কেচটি চালান (এটির আদেশ দেওয়ার জন্য সিরিয়াল মনিটরের মাধ্যমে অপারেটিং)। প্রথমে এটি লক্ষ্য চিপটি সনাক্ত করে:

Atmega chip programmer.
Written by Nick Gammon.
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F 
Processor = ATmega328P
Flash memory size = 32768 bytes.
LFuse = 0xFF 
HFuse = 0xDE 
EFuse = 0xFD 
Lock byte = 0xCF 
Bootloader address = 0x7E00
Bootloader length = 512 bytes.
Type 'L' to use Lilypad (8 MHz) loader, or 'U' for Uno (16 MHz) loader ...
Type 'G' to program the chip with the bootloader ...

আপনি এটি জি করতে টিপুন ।

Erasing chip ...
Writing bootloader ...
Committing page starting at 0x7E00
Committing page starting at 0x7E80
Committing page starting at 0x7F00
Committing page starting at 0x7F80
Written.
Verifying ...
No errors found.
Writing fuses ...
LFuse = 0xFF 
HFuse = 0xDE 
EFuse = 0xFD 
Lock byte = 0xCF 
Done.
Type 'C' when ready to continue with another chip ...

ইউনোর জন্য এটি এক সেকেন্ড সময় নেয়। একটি মেগা 2560 প্রোগ্রাম করতে 3 সেকেন্ড সময় লাগে।

আতমেগা বুটলোডার প্রোগ্রামার সম্পর্কিত বিশদ নির্দেশাবলী

কোডটি গিথুব থেকে ডাউনলোড করা যায় : নিকগ্যামন / আরডুইনো_ স্কেচ


আপনার কী ধরণের চিপ জ্বলছে তা নির্বাচন করতে হবে (সরঞ্জাম-> বোর্ড ..)? আমি একা চিপ দাঁড়ানোর জন্য বুটলোডারটি জ্বলানোর সময় আমি কোন বোর্ডটি নির্বাচন করব?
ক্যামিলো

আপনি আইডিইতে বুটলোডার বার্ন করতে আপনি যে ধরণের বোর্ড ব্যবহার করছেন তা নির্বাচন করুন । বুটলোডার স্কেচ লক্ষ্য বোর্ডের ধরণটি স্বতঃ-সনাক্ত করে।
নিক গ্যামন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.