mikrocontroller.net

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


Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: BAB (Kai K.) (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

Matthias

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. ;-)

Autor: Matthias (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.