আমি যে সমস্যাটি পেয়ে যাচ্ছিলাম তা ঠিক করতে আমার আড়ডিনোকে "বুটলোডার বার্ন" করার জন্য আমাকে নির্দেশ দেওয়া হয়েছিল। কিভাবে আমি এটি করতে পারব? (এবং বুটলোডার ঠিক কী?)
আমি যে সমস্যাটি পেয়ে যাচ্ছিলাম তা ঠিক করতে আমার আড়ডিনোকে "বুটলোডার বার্ন" করার জন্য আমাকে নির্দেশ দেওয়া হয়েছিল। কিভাবে আমি এটি করতে পারব? (এবং বুটলোডার ঠিক কী?)
উত্তর:
বুটলোডার একটি ছোট প্রোগ্রাম যা (প্রায়) সর্বদা একটি আরডুইনোতে থাকে। এটি আপনার তৈরি স্কেচগুলি আপলোড এবং শুরু পরিচালনা করে এবং বোর্ড পুনরায় সেট করার পরে পিন 13 এলইডি জ্বলজ্বল করে।
বুটলোডার বার্ন করতে:
Tools ► Board ►
IDE তে জ্বলন্ত সঠিক বোর্ডটি নির্বাচন করেছেন তা নিশ্চিত করুন । আপনি প্রোগ্রামগুলি সঠিকভাবে আপলোড করতে পারলেও এটি ডাবল-চেক করুন; আপলোড করার জন্য সর্বদা সঠিক বোর্ডের প্রয়োজন হয় না।Tools ► Programmer ►
।Tools ► Burn Bootloader
, এবং অপেক্ষা করুন। এটি এক মিনিটের বেশি সময় নেয় না এবং প্রায়শই কয়েক সেকেন্ড সময় নেয়।সোর্স:
{line 1} or other dedicated ISP programmer.
আর বুটলোডার ঠিক কী?
বুটলোডার প্রোগ্রামের মেমরির "উচ্চ" অংশে বাস করে এমন একটি ছোট্ট কোড। সাধারণত আপনি যখন নতুন স্কেচ আপলোড করেন তবে এটি মুছে ফেলা হয় না। এর উদ্দেশ্য এটি পুনরায় সেট করার সাথে সাথেই সক্রিয় করা হবে (ফিউসগুলি 0x0000 ঠিকানার পরিবর্তে বুটলোডার ঠিকানায় কোড শুরু করার জন্য কনফিগার করা হয়েছে)। "প্রোগ্রামিং" ডেটা সিরিয়াল বন্দরে উপস্থিত হচ্ছে কিনা তা দেখার জন্য বুটলোডার অল্প সময়ের জন্য (যেমন এক সেকেন্ড) অপেক্ষা করবে।
যদি তা হয় তবে এটি সেই ডেটাটি পড়ে এবং বাকী ফ্ল্যাশ মেমরিটিকে পুনরায় প্রোগ্রাম করতে ডিকোড করে। আপলোডিং প্রোগ্রামের সাথে একযোগে কাজ করা (সাধারণত অর্ডুড) নতুন স্কেচটি সিরিয়াল বন্দর দিয়ে প্রেরণ করা হয়। বুটলোডার ফ্ল্যাশ মেমরির পৃষ্ঠাগুলি মুছে দেয় এবং তাদের নতুন কোড দিয়ে প্রতিস্থাপন করে। একবার হয়ে গেলে এটি নতুন কোডটি কার্যকর করে।
কোনও নির্দেশনা না আসলে, বুটলোডার বোর্ডে বিদ্যমান স্কেচটি সম্পাদন করতে 0x0000 ঠিকানার দিকে ঝাঁপিয়ে পড়ে।
একটি বুটলোডার প্রোগ্রাম করার একটি বিকল্প পদ্ধতি হ'ল আমি কিছুক্ষণ আগে লিখেছিলাম এমন একটি স্কেচ ব্যবহার করা যা এটিতে চালিত হয়:
"প্রোগ্রামিং" বোর্ড স্কেচটি চালায় যা এতে বেশ কয়েকটি বোর্ডের জন্য হার্ড-কোডেড বুটলোডার রয়েছে 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 সেকেন্ড সময় লাগে।
আতমেগা বুটলোডার প্রোগ্রামার সম্পর্কিত বিশদ নির্দেশাবলী
কোডটি গিথুব থেকে ডাউনলোড করা যায় : নিকগ্যামন / আরডুইনো_ স্কেচ