Агуулгын хүснэгт:

Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага: 12 алхам
Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага: 12 алхам

Видео: Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага: 12 алхам

Видео: Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага: 12 алхам
Видео: Загрузка Bootloader от Arduino Uno в микроконтроллер AVR ATmega328 2024, Арваннэгдүгээр
Anonim
Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага
Atmega328P-PU Bootloader (Optiboot) шатаах гарын авлага

Өөр нэг Atmega ачаалагч ачаалагч. Гэхдээ энэ удаад би эхний оролдлогод мөрий тавих болно, чи амжилтанд хүрнэ !!

Энэ бол Ник Гаммонсын bootloader програмыг Arduino самбар дээр бичих програм юм.

Алхам 1: Хэдхэн үг

Хэдхэн үг
Хэдхэн үг

Atmega328P-PU микроконтроллер бол дэлхийн өнцөг булан бүрт өргөн хэрэглэгддэг Arduino чипүүдийн нэг юм. Гэхдээ хамгийн гол нь нүцгэн яс Атмега стандарт Uno R3 -ийн хийж чадах зүйлийг хийсээр байна. Би энэ микроконтроллерт дуртай болсон гол шалтгаан бол "Бага хүч" горим юм. Би хэд хэдэн мэдрэгчид зориулж шинэ ноорог бичсэн бөгөөд одоохондоо туршиж байна.

Хэдэн жилийн дараа би Arduino -той тоглож эхлэхэд миний анхны захиалга бол Atmega328P микроконтроллер байв. Хожим нь би Aliexpress -аас захиалсан зүйл бол хоосон чипс гэдгийг ойлгосон. Али дээр чипс маш хямд тул та тэдгээрийг 1.40 доллараас худалдаж авах боломжтой. Гэхдээ тэдгээр нь Uno Bootloader (Optiboot) агуулаагүй бөгөөд үүнгүйгээр би ямар ч ноорог байршуулах боломжгүй байсан. Хэцүү завсарлага ха ?? !! Энэ бол миний хувьд үнэхээр хүйтэн шүршүүр байсан …….. Тиймээс би ачаалагчийг чипс рүү шарах аргыг хайж байсан. Би 5-6 аргыг туршиж үзсэн боловч аз таарсангүй. Долоо хоногийн дараа би вэбсайтын форум дээрээс Ник Гаммоны bootloader -ийг шатаах хичээлийг дурдсан сэдвийг оллоо. Эхний оролдлого ба АМЖИЛТ !!: D Одоо би ачаалагчийг Arduino IDE-д ямар ч эвдрэл үүсгэхгүйгээр хоосон Atmega328P-PU чип рүү хэрхэн яаж шатаахыг танд үзүүлэх болно.

Алхам 2: Ачаалагч гэж юу вэ? (Optiboot)

Ачаалагч нь жижиг програм (HEX файл, 0.5Кбайт) бөгөөд ноорог зургийг флэш санах ойд Arduino IDE -ээс шууд байршуулах боломжийг олгодог. HEX файл нь үндсэн програмын өмнө үргэлж ажилладаг бөгөөд ийм учраас л хэрэгтэй байдаг.

Ачаалагчийг оруулалгүйгээр:

-Микроконтроллерийг програмчлах боломжтой хэвээр байна! (Тийм ээ, боломжтой), гэхдээ үүнийг хийхийн тулд танд тусгай AVR програмист хэрэгтэй болно. Мөн энэ нь хямдхан биш юм!

- Үүнийг Arduino IDE -ээр програмчлах боломжгүй.

Энэ аргын дэмжигч ачаалагч:

Atmega8 (1024 байт)

Atmega168 Optiboot (512 байт)

Atmega328 Optiboot (Uno гэх мэт 16 МГц дээр) (512 байт)

Lilypad гэх мэт Atmega328 (8 MHz) (2048 байт)

Леонардод зориулсан Atmega32U4 (4096 байт) Atmega1280 Optiboot (1024 байт)

Atmega1284 Optiboot (1024 байт)

Atmega2560 нь харуулын цаг хэмжигчийн асуудлыг зассан (8192 байт)

Atmega16U2 - Uno -ийн USB интерфэйс чип дээрх ачаалагч

Atmega256RFR2 - Pinoccio Скаутын самбар дээрх ачаалагч

Дараах bootloaders -ийн кодыг ноорог хэсэгт оруулсан бөгөөд ямар гарын үсэг илэрсэнээс хамаарч татаж авах болно.

Тиймээс бидэнд хэрэгтэй бүх зүйл байна.

Алхам 3: Arduino ноорог мастер

Ардуино зургийн мастер
Ардуино зургийн мастер
Ардуино зургийн мастер
Ардуино зургийн мастер
Ардуино зургийн мастер
Ардуино зургийн мастер

Юуны өмнө танд arduino номын сан хэрэгтэй.

Үүнийг эндээс татаж авна уу:

Эсвэл эндээс татаж авна уу.

Татаж авсны дараа үүнийг Arduino номын сангийн борлуулагч руу задалж, Board Programmer -ийг хайж олоорой. Үүнийг нээгээд Board Programmer.ino -г ажиллуулна уу.

Алхам 4: Тоног төхөөрөмжийн тохиргоо

Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо
Тоног төхөөрөмжийн тохиргоо

Програмчлахаас өмнө утсыг холбох 3 арга байдаг.

- AVR ISP бамбайг ашиглана уу

- Arduino A -аас Arduino B хүртэл

- Мөн талхны хавтангийн арга

Зураг дээр та утсыг хэрхэн яаж холбохыг харж болно. Талхны хавтан дээр керамик конденсатор үнэхээр хэрэггүй боловч 16 МГц болор нэмэх шаардлагатай.

Би энэ удаад AVR ISP бамбайгаа ашиглаж байна.

Энэ аргын зорилго нь програм нь Optiboot (bootloader) бичихийн тулд флаш санах ойд хандахын тулд цуваа дэлгэцийг ашиглах явдал юм.

Алхам 5: Програмчлал

Програмчлал!
Програмчлал!
Програмчлал!
Програмчлал!

Тоног төхөөрөмжийн тохиргоо дууссаны дараа Board Programmer.ino -ийг ажиллуулна уу!

Arduino дээрээ эмхэтгээд байршуулаарай, гэхдээ цонхыг битгий хаагаарай !! Танд хэрэгтэй болно:)

Байршуулалт хэдхэн секунд болно.

Алхам 6: салга

Ноорог зургийг байршуулсны дараа Arduino -г компьютераас салгаж, хэрэв та үүнийг самбар дээр хийхээр төлөвлөж байгаа бол бүх зүйлийг холбоно уу.

Хэрэв та AVR бамбай ашигладаг бол Atmega чипийг ZIF залгуурт хийж, "түгжээрэй".

Маш чухал: Тоног төхөөрөмжийг тохируулаагүй л бол процессор VCC -ийг авах ёсгүй !! Ингэснээр та хохирол амсах болно !!

Алхам 7: Холбоно уу

Холбоно уу!
Холбоно уу!

Болж байна уу! Тоног төхөөрөмж тохируулагдсан бөгөөд бүх зүйл бэлэн байгаа тул бид Arduino -г компьютерт холбоно.

Дараа нь Цуваа мониторыг нээгээд 115200 дамжуулах хурдыг тохируулаарай, та үүнийг харах болно.

Цуваа дэлгэц дээр Arduino програмчлалын горимд орсон байгааг харж болно. Хөөрхөн !!:)

Бид Uno (Atmega328P) програмчлахыг хүсч байгаа тул мессежийн мөрөнд "U" гэж бичээд enter дарна уу.

Алхам 8: Програмчлалын төлөв

Програмчлалын төлөв!
Програмчлалын төлөв!

Дараагийн цонхонд та үүнийг харах болно.

Бид гарахгүй, баталгаажуулахгүй, G бичээд enter дарна уу!

Алхам 9: Хөгжил эхэлнэ!:)

Зугаа цэнгэл эхэллээ!:)
Зугаа цэнгэл эхэллээ!:)

Нэвтрэх товчийг дарсны дараа та үүнийг харах болно.

Чипийг устгаж байна … Ачаалагчийг бичиж байна …

Хуудас 0x7E00 -аас эхэлж байна Хуудас 0x7E80 -аас эхэлж байна

Хуудас 0x7F00 -аас эхэлнэ

0x7F80 -аас эхлэх хуудас

Бичсэн. Баталгаажуулж байна …

Алдаа олдсонгүй.

Бичих гал хамгаалагч… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Lock байт = 0xEF Цагийн шалгалт тохируулга = 0x9E

Дууссан.

Програмчлалын горим унтарсан. Өөр чипийг үргэлжлүүлэхэд бэлэн болвол 'C' гэж бичнэ үү.

Мөн энэ өдрийн мэнд !!: D Таны Atmega328P чип одоо ноорог байршуулахад бэлэн боллоо!

Энэ амар байсан, тийм үү?:)

Алхам 10: Шинэ чип

Хэрэв та өөр чип програмчлахыг хүсч байвал Arduino -г компьютерээсээ салгаарай, чипийг хоосон дискээр солино уу. Arduino -г дахин холбож, алхамуудыг дахин хий.

Хэрэв цуваа дэлгэц нь Arduino -г дахин холбосны дараа хариу өгөхгүй байвал сандраад хааж, шинээр нээгээрэй.

Алхам 11: АНХААРУУЛГА

Би энэ бүхний нэгийг ч эзэмшдэггүй !! Бүх гавьяаг Ник Гаммон хариуцдаг !!

Би саяхан энэ зааварчилгаанд энэ аргыг үзүүлсэн.

Энэ нь танд хэрэгтэй болно гэж найдаж байна.

Өдрийг сайхан өнгөрүүлээрэй.

Алхам 12: Хачирхалтай зүйл тохиолдоход

Хачирхалтай зүйл тохиолдоход
Хачирхалтай зүйл тохиолдоход
Хачирхалтай зүйл тохиолдоход
Хачирхалтай зүйл тохиолдоход

Саяхан би Armeino Nano-ийг Atmega328P-MU процессороор хүлээн авлаа.

Тиймээс би ноорог байршуулахыг оролдсон боловч чадсангүй. Процессор нь Atmega328 -ийн сонголтоор юу ч хариулсангүй.

БОЛЖ БАЙНА УУ! Тиймээс ачаалагч ачаалагдсан байж магадгүй тул дахин бичих шаардлагатай болно. Би үүнийг өөр arduino -той холбож, ачаалагчийг шатааж эхлэв. Юу ч болоогүй л байна …… !!!!

За тэгвэл надад тоормос хэрэгтэй (кофе, тамхи) !! Хамгийн сүүлчийн боломж болсноор би Arduino Uno -г дахин сонгосон. Байршуулалт дууссан: D.

Энэ үед надад Arduino Uno шиг ажилладаг нано байна. Яагаад ийм зүйл болсныг мэдэхгүй ч энэ нь Процессорын гарын үсэгтэй холбоотой гэж бодож байна. Ямар ч байсан энэ нь миний өдрийг үнэхээр бүтээсэн бөгөөд жаахан инээдтэй санагдаж байна:)

Зөвлөмж болгож буй: