Napečení Arduina, nový ATmega 328p a pod
Moderátor: Moderátoři
Napečení Arduina, nový ATmega 328p a pod
Nejdříve jsem zkoušel USBAsp přes BAScom podle příkladu na Trubce. Driver pro USBasp jsem nainstaloval a stejně se mě nedařilo. I když jsem postupoval naprosto přesně podle návodu na Trubce, v BAScomu nešla identifikace procesoru na Arduinu. Už jsem si myslel, že jsem koupil mrtvolu.
Tak jsem zkusil USBasp v prostředí Arduino IDE. Tam se mi naprosto bez problému podařilo přes ISP do Uno nahrát program. Pak jsem zkusil nahrání jinýho programu přes USB štekr Arduina. To nešlo, takže se určitě při programování přes SPI přeplácnul bootloader. Tak jsem ho zkusil přes SPI z Arduina IDE znova napíct, co se povedlo a pak už šlo zase do USB štekr nahrát můj program. Takže USBasp chodí.
Jenže to neřeší můj problém, protože v Arduino IDE asi nikde nejdou nastavit pro novej procík delička, int/ext oscilátor a další fuse, co právě umožňuje BAScom.
Poradíte prosím někdo, s čím na nový procesory, když se mi nedaří rozhejbat Bascom? Nebo jak ten Bascom rozhejbat? Potřebuju prostě programovat nový ATmega 328P v svý desce s minikonektorem ISP.
Proč mi nemůže všechno chodit hned ?!!
Nojo, ale kdyby byl špatnej driver, tak by to snad nechodilo i v Arduino IDE. Nebo nemá IDE náhodou svůj USBasp driver?
Zkoušel jsem AVRDUE a ta samá chyba a to na všech COM co nabízí.
edit: už mi BAScom správně identifikuje připojenej procesor. Zkusil jsem nainstalovat v Zadigu jinej driver než kterej použil OK1HGU va Trubce. Mě to chodí s LibUSB_Win32(v.1.2.6.0). Včera jsem totiž četl na nějakým fóru maníka, kterýmu to taky nešlo s doporučeným driverem a taky zkusil jinej. Nejspíš je problém s jiným FW v čínským USBasp, někde jsem četl, že je dobrý se vrátit k původnímu FW od Fischla, co neuměl Auto Clock Freqvency. Jenže na to je potřeba další USBasp...
Aspoň že se povedlo, už jsem s tím chtěl praštit do kouta.
Proč mi nemůže všechno chodit hned ?!!
Koukal jsem do definic procesorů v souboru Board.txt a opravdu,
uno.upload.maximum_size=32256
pro.16MHz.atmega328.upload.maximum_size=30720
Proč to tak je? U Pro Mini je rezervovaný větší místo pro bootloader?
Do UNO jsem bootloader již pekl, dal jsem tam "optiboot/optiboot_atmega328.hex" a ten má jen 256 byte. 256 byte je rezervováno pro registry, to je dohromady s bootloaderem 512 byte. Celá paměť má 32768, když se odečte těch 512, tak jsem na 32256 byte co má UNO v definici maximum _size. Ale proč má Pročko zablokovanejch 2048 byte, netuším.
Myslel jsem, že pokud nebudu používat bootloader a "napíkat" budu přes SPI, tak se může použít i paměť 256 byte, kde byl bootloader. To by asi teda znamenalo, že se v definicích musí přepsat dýlka paměti v maximum_size a rezervovat jen 256 byte pro registry. To by asi mohlo jít i u Pro Mini.
Je to prosím někdo, kdo ví vo co go a chce se mu k tomu něco napsat?
Díky
Proč mi nemůže všechno chodit hned ?!!
Nájdi najnovšie aktualizácie bootloaderov. Aj pro mini by si mal dostať na 0.5kB
Odpoledne udělám SPI redukci na Pro Mini a v Bascomu načtu, co v je v Pro mini za bootloader a jak dlouhej, případně zkusím do něj nacpat ten 256 byte dlouhej Optiboot pro UNO. Při pečení se dá zadat, jak je bootloader dlouhej na který adrese začíná. Ale asi se taky bude muset v definicích Pro Mini nastavit maximum_size=32256 aby to pustilo program do původního místa dlouhýho bootloaderu. No uvidíme...
K tomu druhýmu problému pokud jede ATmega 238P jen holá bez bootloaderu s HEX programu nahraným přes SPI nikdo nic? Dá se povolit paměťovej prostor v maximum_size=32512, tedy o 256 byte větší?
Tak asi nezbyde nic jinýho, než to vyzkoušet...
Proč mi nemůže všechno chodit hned ?!!
Ale jak IDE pozná, že může kompilovat do toho úseku dřív obsazeným bootloaderem? Kompilaci můžeš dělat i bez připojený desky a tak si to načíst nemůže. A i kdyby byla deska připojená, v příkazu "Identifikuj desku" se u klonů nic nevrací a u originálů jen ID a název.
Přepsat v definicích dýlku v maximum_size?
Díky!
Proč mi nemůže všechno chodit hned ?!!
Jako deska Pro Mini 5V/16MHz to nejde vůbec nahrát, zakousne se.
Je to divný, změnil jsem i v Arduinu IDE Fusebit high na 0xDE a maximum_size na 32256 a IDE restartoval a stejně mi to stále píše velikost paměti 30720. Pouhým přepisem to změnit nejde. Nevím, co s tím. Aspoň že ten můj projekt co nešel nahrát kvůli malý paměti jde nahrnout do ProMini přes nastavení pro UNO.
Edit:
Teď jsem našel na netu, že optiboot blikne po resetu na ProMini 3x kdežto původní dlouhej bootloader jen 1x.
Proč mi nemůže všechno chodit hned ?!!
Díky!
Proč mi nemůže všechno chodit hned ?!!
Třeba mnou už tady zmiňovaný PRCácký TL866 II Plus.
Podívej se třeba i sem - nečetl jsem to, ale myslím, že to bude ono.
Nebo všeobecně podobné články.
kdo ne - hledá důvod.
Ze dvou možností často volím tu třetí.
Ruprecht píše:A ISP programátor sis v Bascomu zpomalil?
Na interních 8MHz bez nebo s předděličkou mám 187,5 KHz, na Auto mi detekce nešla ani u 328p ani u Tiny85. Zkusil jsem na Tvoji radu jít postupně dolů až na 500 Hz a nic. Prostě při pokusu o detekci procíku Tiny 85 nenapíše nic, velikost Flash vypíše 0. Když zkusím 328P tak ji zdetekuje, takže USBasp je živej.
Proč mi nemůže všechno chodit hned ?!!