programovani attiny2313 pod linuxem
Dracula007
dracula007 na atlas.cz
Pátek Květen 27 22:42:20 CEST 2005
Ahoj,
ma tu nekdo zkusenosti s programovanim jednocipu ATTiny2313 pod
Linuxem, pripadne s avr-gcc? Jsem v tomhle oboru uplny zacatecnik,
takze postupuji podle
http://www.abclinuxu.cz/clanky/show/51301
http://www.abclinuxu.cz/clanky/show/51521
Zakladni obvod mam postaveny, ale AT90S9313 uz jsem ale nesehnal,
takze jsem koupil ATTiny2313, coz je primo atmelem doporucovana
nahrada. Pres paralelni port ho vidim (identifikuje ho jako
"podobny AT90S9313"), muzu ho smazat a podivat se na obsah pameti
(oboje uspesne), ale nic vic se mi nedari.
Podle toho co jsme nacetl tak se vnitrnosti AT90S9313 a ATTiny2313
dost lisi, takze ani ten prvni program (blikani ledky) mi nejde
zkompilovat resp. spustit na chipu. Zdrojak je kratky:
-------------------------
#include <avr/io.h>
void delay(unsigned int ms) {
unsigned int i,j;
for ( j=0; j<1000; j++)
for ( i=0; i<ms; i++);
}
int main (void){
sbi(DDRD,PD4); /*enable port 5 for output*/
while (1) {
cbi (PORTD, PD4);
delay (500);
sbi (PORTD, PD4);
delay (500);
}
return 0;
}
--------------------------
Pro kompilovani pouzivam avr-gcc (na Gentoo balik crossdev), a
pokud si doplnim makra sbi() a cbi() a pokud to kopiluji jako
AT90S9313 (-mmcu=at90s9313) tak to zkompiluji uspesne. Ale
nepocitam ze takhle zkompilovane by to mohlo fungovat - alespon
takoveho nazoru jsem nabyl po shlednuti rozdilu mezi temi chipy.
Bohuzel avr-gcc se k ATTiny2313 nejak nehlasi, byt jsem hlavickovy
soubor iotn2313.h v /usr/var/include/ nasel.
Zkousel jsem to zkompilovat jako neco "hodne podobneho" (treba
ruzne podobne ATTiny) ale u vetsiny tvrdi ze pro tenhle cip umi
jenom assembler a na zbytku to taky nejde (pokud nezakomentuji
radky s PORTD a PD4, jenomze pak zase nepoznam jestli to pobezi.
Dalsi problem nastava pri uploadu hex souboru na chip - pokud to
posilam s -dpart=at90s9313 tak to selze pri overovani (--verify),
cili to pokladam za neuspesny zapis. Docetl jsem se o tom ze kabel
by nemel by idealne nemel byt delsi nez 70cm (mam 2m), ale zkusil
jsem pouzit "neco blizko" ATTiny2313 a napriklad pri pouziti
-dpart=attiny26 to projde, tj. uploadne se to a overeni probehne
take OK, z cehoz usuzuji ze v delkce kabelu problem neni. Ale LEDka
stejne neblika, coz pricitam kompilaci pro jiny model ...
Napeti se mi zda stabilni 5V, alespon tak se tvari multimetr a da
se na to usuzovat i podle toho uspesneho uploadu.
Ale co s tim, tj.
1) s nepodporou ATTiny2313 v avr-gcc (crossdev 0.9.6, gcc 3.4.3,
avr-libc 1.2.3, uisp 20050103)
2) s problemy pri uploadu
predem diky
t.v.
Další informace o konferenci Linux