Mündəricat:

Atmega328P-PU Bootloader (Optiboot) Yanan Bələdçi: 12 addım
Atmega328P-PU Bootloader (Optiboot) Yanan Bələdçi: 12 addım

Video: Atmega328P-PU Bootloader (Optiboot) Yanan Bələdçi: 12 addım

Video: Atmega328P-PU Bootloader (Optiboot) Yanan Bələdçi: 12 addım
Video: How To Run Atmega 328,168,88,8 without XTAL, How to Burn bootloader on Atmega without crystal, xtal 2024, Noyabr
Anonim
Atmega328P-PU Bootloader (Optiboot) Yandırma Kılavuzu
Atmega328P-PU Bootloader (Optiboot) Yandırma Kılavuzu

Başqa bir Atmega önyükleyicisi yanır. Ancaq bu dəfə uğur qazanacağınız ilk cəhddə bahis edirəm !!

Bu, Arduino lövhələri üçün Nick Gammons bootloader yazma dərsliyidir.

Addım 1: Bir neçə kəlmə

Bir neçə kəlmə
Bir neçə kəlmə

Atmega328P-PU mikro nəzarətçi, bütün dünyada geniş istifadə olunan ən məşhur Arduino çiplərindən biridir. Ancaq ən əsası çılpaq sümüklər Atmega hələ də standart Uno R3 -ün edə biləcəyini edir. Bu mikro nəzarətçini sevməyimin əsas səbəbi "Aşağı Güc" rejimidir. Bir neçə sensorlar üçün yeni eskizlər yazdım və bir müddətdir sınaqdan keçirirəm.

Arduino ilə oynamağa başladığım bir neçə il ərzində ilk sifarişim Atmega328P mikro nəzarətçi idi. Sonradan başa düşdüm ki, Aliexpress -dən sifariş etdiyim boş çiplərdir. Fişlər Əlidə çox ucuzdur, 1.40 $ -dan ala bilərsiniz. Ancaq Uno Bootloader (Optiboot) tərkibində olmadılar və onsuz heç bir eskiz yükləyə bilmədim. Çətin fasilə ha ?? !! Mənim üçün həqiqətən soyuq bir duş idi ……. Odur ki, önyükleyicini çiplərə yandırmaq üçün bir yol axtarırdım. 5 və ya 6 üsul sınamışam, amma bəxtim gətirməyib. Bir həftə sonra bir veb forumunda Nick Gammon -un bootloader yazma təlimatından bəhs edən bir mövzu tapdım. İlk cəhd və UĞUR !!: D İndi sizə Arduino IDE-də qarışıqlıq yaratmadan yükləyicini boş Atmega328P-PU çiplərinə necə yandıracağınızı göstərəcəyəm.

Addım 2: Bootloader nədir? (Optiboot)

Bootloader, eskizləri flash yaddaşa birbaşa Arduino IDE -dən yükləməyə imkan verən kiçik bir proqramdır (HEX faylı, 0.5Kbyte). HEX faylı həmişə əsas proqramdan əvvəl işləyir və buna görə də buna ehtiyac var.

Yükləyici olmadan:

-Mikro nəzarətçi hələ də proqramlaşdırıla bilər! (Bəli, mümkündür), ancaq bunun üçün xüsusi bir AVR proqramçısına ehtiyacınız olacaq. Və ucuz deyil!

- Arduino IDE vasitəsilə proqramlaşdırıla bilməz.

Bu metodun dəstəklənən yükləyiciləri:

Atmega8 (1024 bayt)

Atmega168 Optiboot (512 bayt)

Atmega328 Optiboot (16 MHz -də Uno və s. Üçün) (512 bayt)

Lilypad üçün Atmega328 (8 MHz) və s. (2048 bayt)

Leonardo üçün Atmega32U4 (4096 bayt) Atmega1280 Optiboot (1024 bayt)

Atmega1284 Optiboot (1024 bayt)

Atmega2560, gözətçi timer problemi üçün düzəlişlərlə (8192 bayt)

Atmega16U2 - Uno -nun USB interfeys çipindəki yükləyici

Atmega256RFR2 - Pinoccio Scout lövhəsindəki yükləyici

Aşağıdakı yükləyicilərin kodu eskizə daxil edilmişdir və hansı imzanın aşkarlanmasından asılı olaraq endiriləcəkdir.

Beləliklə, ehtiyacımız olan hər şeyə sahibik.

Addım 3: Arduino eskizləri ustası

Arduino eskizləri ustası
Arduino eskizləri ustası
Arduino eskizləri ustası
Arduino eskizləri ustası
Arduino eskizləri ustası
Arduino eskizləri ustası

Əvvəlcə arduino kitabxanasına ehtiyacınız var.

Buradan yükləyin:

Və ya buradan yükləyin.

Yüklədikdən sonra Arduino kitabxanalarının satıcısına çıxarın və Board Proqramçısı axtarın. Onu açın və Board Programmer.ino'yu işə salın.

Addım 4: Hardware Setup

Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması
Avadanlıq Quraşdırması

Proqramlaşdırmadan əvvəl bağlamağın 3 yolu var:

- AVR ISP qalxanından istifadə edin

- Arduino A - Arduino B

- Və çörək taxtası üsulu

Şəkildə telin necə bağlanacağını görə bilərsiniz. Çörək taxtasında keramika kondansatörlərinə həqiqətən ehtiyac yoxdur, ancaq 16Mhz kristal əlavə edilməlidir.

Bu dəfə AVR ISP qalxanımdan istifadə edirəm.

Bu metodun məqsədi, proqramın Optiboot (bootloader) yazmaq üçün flash yaddaşa daxil olmaq üçün serial monitordan istifadə etməsidir.

Addım 5: Proqramlaşdırma

Proqramlaşdırma!
Proqramlaşdırma!
Proqramlaşdırma!
Proqramlaşdırma!

Avadanlıq quraşdırma tamamlandıqdan sonra Board Programmer.ino!

Arduino -ya tərtib edin və yükləyin, ancaq pəncərəni bağlamayın! Ehtiyacınız olacaq:)

Yükləmə bir neçə saniyə çəkəcək.

Addım 6: Bağlantını kəsin

Eskiz yüklədikdən sonra Arduino'yu PC -dən ayırın və bunu çörək taxtasında etməyi planlaşdırırsınızsa hər şeyi bağlayın.

AVR qalxanından istifadə edirsinizsə, Atmega çipini ZIF yuvasına qoyun və "kilidləyin".

Çox vacib: Cihaz qurulmadığı müddətcə prosessor VCC almamalıdır !! Bu yolla zərər verə bilərsiniz !!

Addım 7: Qoşulun

Qoşulun!
Qoşulun!

Tamam! Avadanlıq qurulub və hər şey öz yerindədir, Arduino'yu PC -yə bağlayırıq.

Sonra Serial monitoru açın və 115200 baud dərəcəsini təyin edin və bunu görəcəksiniz.

Serial monitorda Arduinonun proqramlaşdırma rejiminə keçdiyini görə bilərsiniz. Sərin !!:)

Uno (Atmega328P) proqramlaşdırmaq istədiyimiz üçün mesaj istəyinə "U" yazın və enter düyməsini basın.

Addım 8: Proqramlaşdırma Vəziyyəti

Proqramlaşdırma Vəziyyəti!
Proqramlaşdırma Vəziyyəti!

Növbəti pəncərədə bunu görəcəksiniz.

İşdən çıxmayacağıq və ya Doğrulamayacağıq, G yazın və Enter düyməsini vurun!

Addım 9: Əyləncə başlayır!:)

Əyləncə başlayır!:)
Əyləncə başlayır!:)

Daxil etdikdən sonra bunu görəcəksiniz:

Çip silinir … Yükləyici yazılır …

Səhifə 0x7E00 -dən başlayaraq 0x7E80 -dən başlayan səhifə

Səhifə 0x7F00 -dən başlayır

Səhifə 0x7F80 -dən başlayır

Yazılıb. Doğrulanır…

Heç bir səhv tapılmadı.

Yazı qoruyucuları… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Kilidi bayt = 0xEF Saat kalibrlənməsi = 0x9E

Bitdi.

Proqramlaşdırma rejimi söndürüldü. Başqa bir çiplə davam etməyə hazır olduqda 'C' yazın …

Və xoşbəxt günlər !!: D Atmega328P çipiniz artıq eskizləri yükləməyə hazırdır!

Bu asan idi, deyilmi?:)

Addım 10: Yeni Çip

Başqa bir çip proqramlaşdırmaq istəyirsinizsə, Arduino -nu kompüterinizdən ayırın, çipi boş bir ilə əvəz edin. Arduino'yu yenidən bağlayın və addımları təkrarlayın.

Arduino -ya yenidən qoşulduqdan sonra serial monitoru cavab vermirsə, çaxnaşmaya qapılmayın və yenisini açın.

Addım 11: XƏBƏRDARLIQ

BUNUN HEC KESİNE SAHİB OLMAYIRAM !! Bütün kredit Nick Gammon'a verilir !!

Sadəcə bu metodu bu Təlimatlandırmada göstərdim.

Ümid edirəm bunu faydalı tapacaqsınız.

Gözəl gün arzu edirəm.

Addım 12: Qəribə şeylər olanda

Qəribə şeylər olanda
Qəribə şeylər olanda
Qəribə şeylər olanda
Qəribə şeylər olanda

Bu yaxınlarda Atmega328P-MU prosessorlu bu Arduino Nanonu aldım.

Buna görə bir eskiz yükləməyə çalışdım, amma bacarmadım. Prosessor Atmega328 variantları ilə heç bir şeyə cavab vermədi.

TAMAM! Bəlkə də bootloader zədələnmiş və yenidən yazılmasına ehtiyac var. Başqa bir arduino ilə bağladım və yükləyicini yandırdım. Hələ heç nə …… !!!!

Yaxşı, əyləcə ehtiyacım var (qəhvə və siqaret) !! Son şans olaraq yenə hədəf olaraq Arduino Uno seçdim. Yükləmə tamamlandı: D.

Bu anda bir Arduino Uno kimi işləyən bir Nano var. Bunun niyə baş verdiyini bilmirəm, amma düşünürəm ki, bu prosessorun imzasıdır. Nəysə, günümü həqiqətən yaxşı etdi və bir az gülməli oldu:)

Tövsiyə: