Съдържание:

Atmega328P-PU Bootloader (Optiboot) Ръководство за записване: 12 стъпки
Atmega328P-PU Bootloader (Optiboot) Ръководство за записване: 12 стъпки

Видео: Atmega328P-PU Bootloader (Optiboot) Ръководство за записване: 12 стъпки

Видео: Atmega328P-PU Bootloader (Optiboot) Ръководство за записване: 12 стъпки
Видео: Загрузчик и загрузка в Atmega328P-AU 2024, Ноември
Anonim
Ръководство за записване на Atmega328P-PU Bootloader (Optiboot)
Ръководство за записване на Atmega328P-PU Bootloader (Optiboot)

Още един бутлоудър на Atmega изгаря giude. Но този път залагам на първия опит ще успеете !!

Това е урок за изгаряне на буутлоудъра на Nick Gammons за дъски Arduino.

Стъпка 1: Няколко думи

Няколко думи
Няколко думи

Микроконтролерът Atmega328P-PU е един от най-популярните чипове Arduino, които се използват в широк диапазон по целия свят. Но най -важното е, че голите кости Atmega все още правят това, което стандартният Uno R3 може. Основната причина, поради която обичам този микроконтролер, е режимът "Low Power". Написах няколко нови скици за няколко сензора и ги тествам известно време.

След няколко години, когато започнах да играя с Arduino, първата ми поръчка беше микроконтролер Atmega328P. По -късно разбрах, че поръчаните от Aliexpress са празни чипове. Чиповете са много евтини на Ali, можете да ги купите от 1.40 $. Но те не съдържат Uno Bootloader (Optiboot) и без него не мога да кача никакви скици. Тежка почивка ха ?? !! Това беше наистина студен душ за мен … Така че търсех начин да запиша буутлоудъра в чиповете. Опитах 5 или 6 метода, но нямах късмет. След седмица намерих тема във форум на уебсайт, в която се споменава урока за зареждане на буутлоудъра на Nick Gammon. Първи опит и УСПЕХ !!: D Сега ще ви покажа как лесно да запишете буутлоудъра до празни чипове Atmega328P-PU, без да бъркате нещата в Arduino IDE.

Стъпка 2: Какво представлява Bootloader? (Optiboot)

Буутлоудърът е малка програма (HEX файл, 0.5Kbyte), която ви позволява да качвате скици във флаш паметта директно от Arduino IDE. HEX файлът винаги работи преди основната програма и затова е необходим.

Без буутлоудъра:

-Микроконтролерът все още МОЖЕ ДА БЪДЕ ПРОГРАМИРАН! (Да, възможно е), но за това ще ви трябва специален AVR програмист. И не е евтино!

- Не може да се програмира чрез IDE на Arduino.

Поддържани буутлоудъри на този метод:

Atmega8 (1024 байта)

Atmega168 Optiboot (512 байта)

Atmega328 Optiboot (за Uno и т.н. при 16 MHz) (512 байта)

Atmega328 (8 MHz) за Lilypad и др. (2048 байта)

Atmega32U4 за Leonardo (4096 байта) Atmega1280 Optiboot (1024 байта)

Atmega1284 Optiboot (1024 байта)

Atmega2560 с поправки за проблем с таймера на пазача (8192 байта)

Atmega16U2 - буутлоудъра на USB интерфейсния чип на Uno

Atmega256RFR2 - буутлоудъра на платката Pinoccio Scout

Кодът за следните зареждащи програми е включен в скицата и ще бъде изтеглен в зависимост от това кой подпис е открит.

Така че имаме всичко необходимо.

Стъпка 3: Arduino Sketches Master

Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master

На първо място имате нужда от библиотеката arduino.

Изтеглете го от тук:

Или го изтеглете от тук.

След като изтеглите го извлечете в архива на библиотеките на Arduino и потърсете Board Programmer. Отворете го и стартирайте Board Programmer.ino.

Стъпка 4: Настройка на хардуера

Настройката на хардуера
Настройката на хардуера
Настройка на хардуера
Настройка на хардуера
Настройка на хардуера
Настройка на хардуера
Настройка на хардуера
Настройка на хардуера

Има 3 начина за свързване преди програмиране:

- Използвайте щита за интернет доставчик на AVR

- Arduino A до Arduino B

- И методът на чертежа

На снимката можете да видите как да свържете. На макета керамичните кондензатори всъщност не са необходими, но трябва да се добави 16Mhz кристал.

Този път използвам моя AVR ISP щит.

Целта на този метод е, че програмата използва серийния монитор за достъп до флаш паметта за запис на Optiboot (буутлоудър)

Стъпка 5: Програмирането

Програмирането!
Програмирането!
Програмирането!
Програмирането!

След като хардуерната настройка приключи, стартирайте Board Programmer.ino!

Компилирайте и качете на вашия Arduino, но не затваряйте прозореца !! Ще ти трябва:)

Качването ще отнеме няколко секунди.

Стъпка 6: Прекъснете връзката

След като качите скицата, изключете Arduino от компютъра си и свържете всичко, ако планирате да направите това на дъската.

Ако използвате AVR щита, поставете чипа Atmega в гнездото ZIF и го „заключете“.

Много важно: Докато хардуерът не е настроен, процесорът не трябва да получава VCC !! По този начин рискувате повреда !!

Стъпка 7: Свържете се

Свържете се!
Свържете се!

Добре! Хардуерът е настроен и всичко е на мястото си, свързваме Arduino към компютъра.

След това отворете серийния монитор и задайте скорост на предаване 115200 и ще видите това.

В серийния монитор можете да видите, че Arduino е влязъл в режим на програмиране. Готино!!:)

Тъй като искаме да програмираме Uno (Atmega328P), въведете „U“в подканата за съобщение и натиснете enter.

Стъпка 8: Програмиращо състояние

Програмираща държава!
Програмираща държава!

В следващия прозорец ще видите това.

Няма да напуснем или проверим, въведете G и натиснете enter!

Стъпка 9: Забавлението започва!:)

Забавлението започва!:)
Забавлението започва!:)

След като натиснете Enter, ще видите следното:

Изтриване на чип … Записване на зареждащ механизъм …

Страница за ангажиране, започваща от 0x7E00 Страница за ангажиране, започваща от 0x7E80

Ангажираща страница, започваща от 0x7F00

Ангажираща страница, започваща от 0x7F80

Писмено. Проверка…

Не са намерени грешки.

Предпазители за писане … LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Заключващ байт = 0xEF Калибриране на часовника = 0x9E

Свършен.

Режимът на програмиране е изключен. Въведете „C“, когато сте готови да продължите с друг чип…

И щастлив ден !!: D Вашият чип Atmega328P вече е готов за качване на скици!

Това беше лесно, нали?:)

Стъпка 10: Нов чип

Ако искате да програмирате друг чип, изключете Arduino от вашия компютър, сменете чипа с празен. Свържете отново Arduino и направете стъпките отново.

Ако серийният монитор не реагира след повторно свързване на Arduino, не се паникьосвайте, просто го затворете и отворете нов.

Стъпка 11: ОТГОВОРНОСТ

НЕ СЪМ СОБСТВЕН ОТ ТОВА !! Цялата заслуга е на Ник Гамон !!

Току -що показах този метод в тази инструкция.

Надявам се, че ще намерите това полезно.

Приятен ден.

Стъпка 12: Когато се случат странни неща

Когато се случат странни неща
Когато се случат странни неща
Когато се случат странни неща
Когато се случат странни неща

Наскоро получих този Arduino Nano с процесор Atmega328P-MU.

Затова се опитах да кача скица към него, но не успях. Процесорът не отговори на нищо с опции Atmega328.

ДОБРЕ! Така че може би буутлоудъра е повреден и се нуждае от пренаписване. Свързах го с друг arduino и направих изгарянето на буутлоудъра. Все още нищо……!!!!

Добре тогава, имам нужда от спирачка (кафе и цигара) !! Като последен шанс избрах отново Arduino Uno за цел. Качването завърши: D

По това време имам Nano, който действа като Arduino Uno. Не знам защо това се случи, но мисля, че това се дължи на подписа на процесора. Както и да е, наистина ми направи деня и е малко смешно:)

Препоръчано: