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