Forum: Compiler & IDEs Betatests für ELF->AVR COFF mit GNU binutils


von Joerg Wunsch (Gast)


Lesenswert?

Ich habe soeben das Announcment für <subject> auf den gängigen
Foren (u. a. AVRfreaks.net und avr-gcc-list@avr1.org) gepostet.
Ich habe keine rechte Lust, es hier noch in Deutsch zu
wiederholen, zumal ich dann ja wohl auch noch das README
übersetzen müßte...  Wen's interessiert, bitte schaut dort rein.

von BAB (Kai K.) (Gast)


Lesenswert?

Bevor dieser thread hier im nirvana des forums verschwindet möchte ich 
mich hier auch noch mal für jörgs anstrengungen dieses tool zu 
verwirklichen herzlich bedanken.
Zumal er eigentlich gar keine interessen hat dieses tool zu 
verwirklichen da er gar kein windoof besitzt..:).
was atmel mit der elf unterstützung jahrelang nicht geschafft hat, hat 
jörg eben in ein paar monaten einfach so aus dem boden gestampft. Ich 
bin mir sicher das du hunderten von avr-gcc usern die unter windows 
arbeiten ein riesen gefallen getan hast.

DANKE,

Kai

von Matthias (Gast)


Lesenswert?

Hi

habs auch grad ausprobiert. Vielen Dank Jörg. Funktioniert soweit ich 
jetzt getestet hab wunderbar.

Matthias

von Joerg Wunsch (Gast)


Lesenswert?

Ja, ich habe mittlerweile noch zwei Bugreports, witzigerweise
beide von den Alpha-Testern. ;-)  Da bin ich gerade an der
Analyse...

Im Großen und Ganzen scheint es aber ganz gut gelungen, was
natürlich auch den fleißigen Alpha-Testern zu danken ist.  Die
haben dafür schließlich auch auf sich genommen, daß sie sich
die Tools selbst compilieren mußten, da ich niemandem Windows-
Binaries liefern kann.  Aber ich denke, daß sich der Aufwand
gelohnt hat.

Nun ist Atmel dran, endlich ELF einzuführen. ;-)

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Hi

ich habe folgendes Programm mal getestet (eine frühe Vorstufe zu einem 
DDS)

#include <avr/io.h>
#include <avr/pgmspace.h>


//Hauptschleife
void main(void)
{

unsigned char i=0;
unsigned char sintab[256]={
  128,131,134,137,140,144,147,150,153,156,159,162,165,168,171,174,
  177,179,182,185,188,191,193,196,199,201,204,206,209,211,213,216,
  218,220,222,224,226,228,230,232,234,235,237,239,240,241,243,244,
  245,246,248,249,250,250,251,252,253,253,254,254,254,255,255,255,
  255,255,255,255,254,254,254,253,253,252,251,250,250,249,248,246,
  245,244,243,241,240,239,237,235,234,232,230,228,226,224,222,220,
  218,216,213,211,209,206,204,201,199,196,193,191,188,185,182,179,
  177,174,171,168,165,162,159,156,153,150,147,144,140,137,134,131,
  128,125,122,119,116,112,109,106,103,100, 97, 94, 91, 88, 85, 82,
   79, 77, 74, 71, 68, 65, 63, 60, 57, 55, 52, 50, 47, 45, 43, 40,
   38, 36, 34, 32, 30, 28, 26, 24, 22, 21, 19, 17, 16, 15, 13, 12,
   11, 10,  8,  7,  6,  6,  5,  4,  3,  3,  2,  2,  2,  1,  1,  0,
    0,  0,  1,  1,  2,  2,  2,  3,  3,  4,  5,  6,  6,  7,  8, 10,
   11, 12, 13, 15, 16, 17, 19, 21, 22, 24, 26, 28, 30, 32, 34, 36,
   38, 40, 43, 45, 47, 50, 52, 55, 57, 60, 63, 65, 68, 71, 74, 77,
   79, 82, 85, 88, 91, 94, 97,100,103,106,109,112,116,119,122,125};


  DDRD = 0xFF;

  while(1)
  {
    PORTD=sintab[i++];
  }

}

Das gibt, wenn ich das .cof-File per AVRStudio4.07 in den Mega16 lade 
keine Reaktion von sich. Über sintab schreibt er im Watchfenster "not in 
scope" Lade ich allerdings das HEX-File über das JTAG-Interface rein 
(Also nix debugging, reines Flash-programmieren) erscheint am PORTD-DAC 
ein Sinus. Ich häng mal c, elf, cof und hex an.

Matthias

von Joerg Wunsch (Gast)


Lesenswert?

Nun, folge doch mal der Beschreibung in meinem README.
avr-objdump -g sagt:

void main ()
{ /* 0x8e */
  /* file C:\Daten\MATTHIAS\schilling\bootloader/boot.c line 7 addr 0x8e 
*/
  { /* 0x96 */
    uint8 sintab[256]:int16 /* 0x1 */;
    register uint8 i /* 0x12 */;
...

Das sieht mir komplett OK aus und entspricht auch dem, was man
mit gleichem Kommando aus dem ELF-File lesen kann.

Sieht also nach AVR Studio Bug aus.

Ansonsten trifft bezüglich der Initialisierung des Datensegments
in AVR Studio natürlich das zu, was im README unter known
problems steht -- die neue DLL, die das für den AVR-GCC
ordentlich kann, hat Atmel nach wie vor noch nicht freigegeben.
Wird wohl erst mit dem nächsten Release werden, ich habe eine
Aussage, daß AVR Studio demnächst vom Beta offiziell zum
Release erhoben werden soll.

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.