ATNEL tech-forum
https://forum.atnel.pl/

UPDI na przykładzie attiny412
https://forum.atnel.pl/topic23138.html
Strona 1 z 1

Autor:  APAP75 [ 18 maja 2020, o 14:20 ]
Tytuł:  UPDI na przykładzie attiny412

Zaintrygował mnie trochę ten maluch - postanowiłem się mu przyjrzeć.
Do jego programowania użyłem eclipse Mars z toolchain'em (prawdopodobnie dla arduino) ściągniętym z tej strony:

https://blog.zakkemble.net/avr-gcc-builds/

Nie ma w nim wszystkich mikrokontrolerów (np. 328pb), ale atine412 kompiluje.
Pozostaje jeszcze kwestia czym to obgrać. Poza oryginalnymi programatorami w oczy rzucił mi się prościutki jtag2updi.
Poniżej zamieszczam link z plikami źródłowymi, które u mnie ZADZIAŁAŁY. Sprawdziłem na atmega32, atmega328 i atmega88. Na wszystkich działał.

https://github.com/ElTangas/jtag2updi

No i jeszcze kwestia "zmuszenia" avrdude do obsługi interfejsu UPDI. Znalezione na różnych stronach przeróbki avrdude, niby miały działać, a nie zadziałał żadne. Dopiero zainstalowanie IDE arduino i wyciągnięcie z jego wnętrza avrdude pomogło. Niestety - ten avrdude nie obsługuje moich USBASP.... Może ktoś z tęższym umysłem sobie z tym poradzi, ja nie dałem rady.
Pierwsze spostrzeżenia - attine ten podobny jest bardziej do rodziny ATXmega niż do ATmega, czy Attiny. Ma to swoją zaletę - trudno go zablokować. Fusebity ustawić można z avrdudr np. w trybie terminala, ale poza bootloaderem i BOD wszystko można zrobić w kodzie programu (takie przynajmniej mam wrażenie).
Nie działają na nim makra w stylu: DDRA|=(1<<PA1), trzeba się posłużyć: PORTA.OUT|=PIN1_bm. Nie chodzi mi tutaj o same makra, po prosty podejście do portów (rejestrów) jest z założenia zupełnie inne. Bardziej przypomina to ATXmegę niż attina.
Poniżej zamieszczam kilka plików, pomocnych w rozpoczęciu zabawy.

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/