PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tiny13 nicht supported



Mac Gyver
13.12.2005, 18:10
hi
ich hab grad 2h lang ein prog geschrieben und jetzt sagt mir der compiler dass der tiny 13 nicht unterstützt ist.

gibt es da evtl irgendeinen patch?

mfg

macgyver

stochri
13.12.2005, 18:28
Ähm, mein Compiler unterstüzt den Attiny13.
AVR-Studio 4.irgendwas+
AVR-GCC

Was hast Du denn für ein Programm geschrieben ? Würde mich nur mal so interessieren. Ich bastle auch grad mit dem Attiny13, aber das Flash ist nicht gerade groß geraten.

Gruss,
stochri

Mac Gyver
13.12.2005, 18:46
eigentlich nix besonderes
es soll ein rc signal ausgelesen werden und danach eine pwm gestellt werden.
das ist die compiler ausgabe:

avr-gcc -g -mmcu=attiny13 -Wall -Wstrict-prototypes -Os -c main.c
unknown MCU `attiny13' specified
Known MCU names:
avr2
at90s2313
at90s2323
at90s2333
at90s2343
attiny22
attiny26
at90s4414
at90s4433
at90s4434
at90s8515
at90c8534
at90s8535
at86rf401
avr3
atmega103
atmega603
at43usb320
at43usb355
at76c711
avr4
atmega8
atmega8515
atmega8535
avr5
atmega16
atmega161
atmega162
atmega163
atmega169
atmega32
atmega323
atmega64
atmega128
at94k
avr1
at90s1200
attiny11
attiny12
attiny15
attiny28
main.c:0: error: MCU `attiny13' supported for assembler only
In file included from main.c:2:
/sw/share/avr/lib/gcc/avr/3.4.3/../../../../avr/include/avr/io.h:252:6: warning: #warning "device type not defined"
main.c: In function `SIG_INTERRUPT0':
main.c:13: error: `PINB' undeclared (first use in this function)
main.c:13: error: (Each undeclared identifier is reported only once
main.c:13: error: for each function it appears in.)
main.c:13: error: `TCNT0' undeclared (first use in this function)
main.c: In function `main':
main.c:21: error: `DDRB' undeclared (first use in this function)
main.c:23: error: `MCUCR' undeclared (first use in this function)
main.c:23: error: `ISC00' undeclared (first use in this function)
main.c:24: error: `GIMSK' undeclared (first use in this function)
main.c:24: error: `INT0' undeclared (first use in this function)
main.c:26: error: `TIMSK' undeclared (first use in this function)
main.c:26: error: `TOIE0' undeclared (first use in this function)
main.c:27: error: `TCCR0B' undeclared (first use in this function)
main.c:27: error: `CS01' undeclared (first use in this function)
main.c:27: error: `CS00' undeclared (first use in this function)
main.c:29: error: `TCCR0A' undeclared (first use in this function)
main.c:29: error: `COM0A1' undeclared (first use in this function)
main.c:41: error: `OCR0A' undeclared (first use in this function)
main.c:46: error: `OCR0A0' undeclared (first use in this function)
main.c:48: error: `PORTB' undeclared (first use in this function)
main.c:50:2: warning: no newline at end of file
main.c:50: error: parse error at end of input
make: *** [main.o] Error 1


mfg

stochri
14.12.2005, 08:27
Verwendest Du AVR-Studio ? Ich glaube bei älteren Versionen ging der Attiny13 noch nicht.

Meine Version:
AVR-Studio 4.12 Build 452
AVR-GCC 3.4.3

Hier ein Beispielprogramm, welches bei mir ohne Problem compliliert werden kann:


/************************************************** ********************

Portpin Toogle Testprogramm

Processor: Attiny 13

Dez.2005 stochri

************************************************** ********************/

#include <avr/io.h>

void init_timer()
{

TCCR0A=(1<<COM0A0) | 0x02; //CTC mode and toogle OC0A port on compare match

TCCR0B=0x02; // internal clock source devided by 8

OCR0A=124; // Compare value
}

void delay()
{
while(!(TIFR0<<OCF0A)); // wait for compare flag
TIFR0|=1<<OCF0A; // clear compare flag
}


int main(void)
{
int n;
int temp;

// Ports
DDRB=(1<<PINB0) | (1<<PINB1) | (1<<PINB2); // Pins as output ( Pin OC0A )

init_timer();

temp=500;

while(1)
{

for(n=0;n<temp;n++) delay();
// create Puls at PortB2
PORTB|=0x04;

for(n=0;n<temp;n++) delay();
PORTB&=0xFB;
}


return 0;
}


Läuft's jetzt bei Dir ?

Gruss,
stochri

Mac Gyver
14.12.2005, 14:04
nein avr studio verwende ich nicht
ich habe nur denn avr-gcc unter fink am laufen. und compiliere alles über die shell.

avr gcc 3.4.3


mfg

Jan_Weber
14.12.2005, 15:41
Den ATtiny13 kann man nicht direkt mit AVR-GCC programmieren, da dieser µC kein SRAM-basierten Stack hat, sondern nur die 32 Register. Du kannst hier nur in ASM arbeiten, oder aber den Compiler umkonfigurieren. Das ist aber mehr was für die versierten Hacker. Vielleicht gelingt es dir ja.

Hier ist der LInk zur Lösung:

http://lightner.net/avr/ATtinyAvrGcc.html

Gruß,

Jan

Edit:

Der ATtiny hat doch einen SRAM-basierten Stack, sorry.

In der "Supported Devices"-Liste http://www.nongnu.org/avr-libc/user-manual/index.html steht nun auch der Attiny 13 drin. Vielleicht ist deine AVR-GCC-Version zu alt?

stochri
14.12.2005, 22:50
Den ATtiny13 kann man nicht direkt mit AVR-GCC programmieren

AVR-Studio 4.12 und AVR-GCC 3.4.3

In dieser Konfiguration programmiere ich den Attiny13 schon den ganzen Tag.

Also bitte erst Thread durchlesen, dann posten.

Gruss,
stochri

Mac Gyver
17.12.2005, 20:58
hi
ich habe mir jetzt eine neuere version von avr-gcc besorgt und kann programme für den attiny 13 jetzt kompilieren. nicht aber für den 15er.

nur gibt jetzt mein uisp alarm wenn ich den chip programmieren will.
der kann nämlich keine 13er programmiern wohl aba den 15er *schreikrampf bekomm* (wer hat sich denn den sadismus ausgedacht?)

also gibt es evtl eine möglichkeit den tiny trotzdem zu proggen?

gleiches problem habe ich übrigens auch mit dem atmega48(kompilieren ja-flashen nein) nur das ich den momentan nicht brauche.

aja zur info ich habe jetzt
avr-gcc 4.0.2
uisp 20050207
appnote 910 progger von a-noack

also wenn wer nen tipp für mich hat währe ich wirklich sehr dankbar

mfg macgyver

stochri
17.12.2005, 22:35
Hallo,
also ich habe mir einen kleinen Programmieradapter auf Lochraster aufgelötet. Ein paar Dioden und Widerstände. Materialpreis 4 Euro. Es gibt eine gepachte Version von Ponyprog im Netz,, die den 13er programmieren kann, diese verwende ich. Funktiniert super.

Gruss,
stochri

Mac Gyver
17.12.2005, 23:12
hi
ich hab mir jetzt erstmal avr-dude besorgt und der unterstützt auch den tiny13 aba mein appnote910 meint dass er das nicht kennt.
also wie sieht dein progger aus? ich hatte nämlich auch mal so ne billiglösung und der war schnarchlangsam und hat auch nicht imma funktioniert.

mfg

stochri
18.12.2005, 08:07
Der Speicher des Attiny13 ist so klein, dass es kaum ein Rolle spielt, wie schnell der Programmierer läuft.
Hier der Schaltplan:
http://www.lancos.com/e2p/siprog_base.png
Den Spannungsversorgungsteil habe ich weggelassen, da ich die Spannung immer vom Board nehme. Dann reduziert sich das Ganze auf 5 Widerstände, 3 Z-Dioden und einen Transistor ( die 3 Dioden und die 2 Kondensatoren oben links auf der Platine sind unnötig, die rote LED ganz unten dient zur Spannungsanzeige, ist aber auch nicht zwingend erforderlich ).

Gruss,
stochri

stochri
18.12.2005, 09:01
Hallo Mac Gyver,
hier noch eine kleine Beispielapplikation:

https://www.roboternetz.de/phpBB2/viewtopic.php?p=141113#141113

Gruss,
stochri

Mac Gyver
18.12.2005, 10:38
hi

ich werde mir diesen adapter wohl erstmal zusammenschustern und fürn tiny sollte er auch reichen aba glücklich macht mich das nicht..

spätestens beim mega48 wird das quälend.

es muss doch eine bessere möglichkeit als diesen pfusch progger geben.


also welche progger(unbeedingt rs232 oda usb) können die aktuellen avrs proggen(tiny13, mega 48/88)?

mfg

stochri
18.12.2005, 10:45
Das Starterkit STK500 von Atmel:
http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&family_name=AVR+8%2DBit+RISC+&tool_id=2735
kostet halt 118€

Gruss,
stochri

Mac Gyver
18.12.2005, 11:51
naja das lassen wir dann mal als aller letzt notfallösung stehn weil 118€ is doch etwas happig

sonst noch ideen?

mfg macgyver

izaseba
18.12.2005, 12:49
sonst noch ideen?
Ja, bei Ebay gibt es den STK500 für unter 100€, dafür kriegst Du aber auch ein Produkt, womit Du fast alle AVR Programmieren kannst,
Qualität kostet halt, sonst mußt Du

diesen pfusch progger benutzen und sich freuen, daß Du 99 €
gespart hast....

Gruß Sebastian

Mac Gyver
18.12.2005, 12:51
ich denke nur dass das stk 500 etwas überdimensioniert ist. schliesslich brauche ich ja kein ganzes expirimentier board sondern nur einen isp. gibt es evtl nur den isp vom stk 500 einzeln?

mfg

izaseba
18.12.2005, 13:04
ich denke nur dass das stk 500 etwas überdimensioniert ist.
Da magst Du recht haben, ich hab mir den mal zugelegt, und möchte ihn nicht mehr missen, kommt immer drauf an, was man machen will.
Wenn Du für jeden µC mit dem Du experimentieren willst eine extra Platine bauen mußt ist der STK500 schon was feines, am sonsten find ich die Lösung von Stochri wohl so was von einfach, daß man den Proger in 2 Minuten auf einem Steckbrett fertiggesteckt hat.

Gruß Sebastian

Mac Gyver
18.12.2005, 13:32
naja ich verwende eigentlich nicht so viele prozzis dass sich ein stk 500 auszahlen würde. ich habe eben nur jetzt eien anwendung wo ich gerne den tiny 13 einsetzten würde und sonst gefällt mir der atmega 48 recht gut nur kann ich den eben nicht proggen.
für dne tiny 13 werd ich mir mal den progger oben aufbaun aba das ist auch keine dauerlösung.
eigentlich will ich sowas wie den appnote 910 nur eben mit unterstützung für die neueren avrs (besonders mega 48)

und ein expirimentierboard hab ich schon (is zwar momentan für mega8 aba die sin eh austauschbar was die pins angeht)

mfg

stochri
18.12.2005, 16:02
find ich die Lösung von Stochri wohl so was von einfach, daß man den Proger in 2 Minuten auf einem Steckbrett fertiggesteckt hat.
Zuviel der Ehre, die Schaltung ist ja ein Entwurf von Ponyprog.
Aber ich bin immer wieder erstaunt, wie gut sie funktioniert. Ich hatte noch nie einen Fehler und langsam ist die Programmierung auch nicht.
Als Pfusch würde ich etwas empfinden, was manchmal tut und manchmal nicht.

Und um den Attiny13 zu programmieren, reicht das Ding wirklich aus.

Gruss,
stochri

Mac Gyver
18.12.2005, 16:04
hi
nunja wie gesagt ich hatte so einen progger schon einmal und bei mir war das ein einziger krampf. könnte allerdings daran liegen dass ich einen usb wandler verwende.

mfg