Forum: Compiler & IDEs attiny12 not supportet ?!!!


von tronic (Gast)


Lesenswert?

Hallo,

ich muss dringend für ein Prototyp den attiny12 nehmen, da kein anderer 
vorhanden,
jetzt zu meinem schrecken unterstützt der WinAVR C-Compiler diesen 
nicht,
zumindest heisst es beim compilieren immer:
supportet for Assembly only.......

gibts kein anderer C-Compiler der mit AVRSTudio einbindbar ist und 
freeware??

thx
tronic

von oder hier (Gast)


Lesenswert?

Nee, ich glaube, da muss ich dich enttäuschen.
Der Tiny12 hat kein SRAM, also nix mit C (kein RAM, kein Stack, keine 
C-style Funktionsaufrufe)
Da musst du mit Assembler ran.

von tronic (Gast)


Lesenswert?

SHIT Happens ..... jajajajaooo - mano, ja was macht ma jetzt.. 
vielleicht hat jemand von euch lust und laune diesen C-Code in Assembler 
umzuwandeln??

für Attiny12 2MHz....... gäbe Übung..
ne scheisse, weiss macht wohl niemand aber hoffen kann man .. so 
innerhalb 2-3 Tagen? pleeease?!


#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

uint8_t z=0;
uint8_t t=0;
uint8_t g=0;


ISR(TIMER0_OVF_vect)
{
  if(g)
  {
    if(z==0)
    {
    PORTB|=(1<<PB0); //Ausgang 0 ein
    }
    if(z==1)
    {
    PORTB &=~(1<<PB0); //Ausgang 0 aus
    }

    if(z==2)
    {
    PORTB|=(1<<PB1); //Ausgang 1 ein
    }
    if(z==3)
    {
    PORTB &=~(1<<PB1); //Ausgang 1 aus
    }

    z++;

    if(z>3)
    {
    z=0;
    }
  t=0;
  g=0;
  }
  else
  {t++;}

  if(t>60)
  {
  TCNT0=0xEF;
  g=1;
  }
}


void ini()
{
DDRB = 0xFF;
PORTB= 0x00;
TCCR0|=(1<<CS01); //Clock durch 8
TIMSK|=(1<<TOIE0);
TCNT0=0;
}

int main()
{
ini();
sei();
  while(1)
  {}

return 0;
}

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Du kannst es ja für einen anderen Prozessor compilieren lassen und
dann den Assembler-Output weiter mit der Hand verarbeiten.  Wenn du
zuvor noch alle Variablen auf feste Register bindest, sollten
eigentlich keine expliziten RAM-Referenzen mehr übrig bleiben.

Du kannst dir auch mal Bruce Lightner's Rezept angucken:

http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_tinyavr_c

Aber ich glaube, er hat da ein Dutzend Warnungen drüber geschrieben,
dass man gut verstehen sollte, was man da tut.  Im Prinzip hat er wohl
meine eingangs genannte Idee automatisiert, wenn ich mir das recht im
Kopf behalten habe.

von Mehmet K. (mkmk)


Lesenswert?

Gehe auf die Seite von http://www.imagecraft.com/software/
Dort gibt es für 30 Tage uneingeschraenkte Compiler mit IDE; unter 
anderem auch für die AVR's ohne RAM. Ob der Attiny12 dabei ist, musst du 
selber schauen.

MfG

von tronic (Gast)


Lesenswert?

thx. für die tips, aber hierzu noch ne frage: "Wenn du zuvor noch alle 
Variablen auf feste Register bindest"

wie macht man das?

von Peter D. (peda)


Lesenswert?

Wenn Du heute bei Farnell den ATtiny13 bestellst, liegt er morgen auf 
dem Tisch.

Wo ist das Problem.


ATtiny12/15 sollte man nicht mehr für Neuentwicklungen nehmen, sondern 
ATtiny13/25.


Peter

von tronic (Gast)


Lesenswert?

attiny13 braucht einen externen oszillator! der 12er bzw. attiny45V nur 
ein quarz (muss genau sein!)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.