Betatests für ELF->AVR COFF mit GNU binutils

Gast #39984
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.
Gast #39985
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
Gast #39987
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. ;-)
Gast #39988
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
Angehängte Dateien:
Gast #39989
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.