WinAVR und INT Priorität?

Am Thu, 20 Sep 2012 13:56:33 +0200 schrieb Heiko Lechner:

cpp? ELF-Formatspezifikation lesen und grep'en? Konfigurationsdatei im Projektordner?

Kommt drauf an, was Du erreichen willst ...

Marc

Reply to
Marc Santhoff
Loading thread data ...

Also dein avr-libc FUSES Macro erzeugt eine .fuse section im ELF-File. Die kann man anzeigen:

---------------------------------------------------------------------- $ avr-objdump -s -j .fuse ./firmware.elf

./bin/firmware.elf: file format elf32-avr

Contents of section .fuse: 800270 d7d4ff

----------------------------------------------------------------------

... und dann da das Datenfeld extrahieren:

---------------------------------------------------------------------- $ avr-objdump -s -j .fuse ./bin/firmware.elf | tail -n1 \ | awk '{print $2}' d7d4ff

----------------------------------------------------------------------

... und dieses dann in die 3 Teile zerpfluecken:

---------------------------------------------------------------------- $ LOW=$(avr-objdump -s -j .fuse ./bin/firmware.elf | tail -n1 | \ awk '{print $2}' | awk '{b=substr($0,0,2) ; print b}') $ HIGH=$(avr-objdump -s -j .fuse ./bin/firmware.elf | tail -n1 | \ awk '{print $2}' | awk '{b=substr($0,3,2) ; print b}') $ EXT=$(avr-objdump -s -j .fuse ./bin/firmware.elf | tail -n1 | \ awk '{print $2}' | awk '{b=substr($0,5,2) ; print b}') $ export LOW, HIGH, EXT

----------------------------------------------------------------------

... und diese dann direkt als Parameter an avrdude uebergeben:

---------------------------------------------------------------------- avrdude ... -U lfuse:w:m:$LOW -U hfuse:w:m:$HIGH -U efuse:w:m:$EXT

----------------------------------------------------------------------

Micha

Reply to
Michael Baeuerle

mit avr-objcopy natürlich

formatting link

XL

Reply to
Axel Schwenke

Am 20.09.2012 14:33, schrieb Michael Baeuerle:

[...]

Hui, stark. Ich bedanke mich auch mal bei allen anderen hier ;)

Reply to
Heiko Lechner

Klar, sowas klingt allemal tauglich. Nun ja, erst mal habe ich den fetten Klotz schon drauf auf dem Rechner, egal, ggf. ist der Kram auch schnell wieder entfernt.

-ras

--

Ralph A. Schmid

http://www.schmid.xxx/ http://www.db0fue.de/
http://www.bclog.de/
Reply to
Ralph A. Schmid, dk5ras

Wenn du so wie Heiko N. das Studio sowieso zum Entwickeln benutzen tust, dann haben die >100MByte ja wenigstens was zu tun und sind auch bereits in den Speicher geladen. Das Ding dann halt auch gleich zum Flashen zu benutzen ist ja OK.

Aber den fetten Stein jetzt extra nur deswegen in den Speicher laden und starten um ein fertiges Image in den AVR zu flashen, da straeuben sich mir die Nackenhaare. Dafuer ist avrdude wirklich die sinnvollere und elegantere Loesung.

Beim Thema Produktion sieht es nochmal anders aus: Oft flasht man da ja die Firmware wenn die Platine sowieso bereits zum Test im Nadelbettadapter haengt. Dann braucht man ueblicherweise gar kein UI bzw. es ist sogar kontraproduktiv, denn die Pruefplatzsteuerung hat in der Regel bereits ein UI und kann avrdude im Hintergrund aufrufen wenn es im Testablauf an der Zeit ist. Statt "Alles Bereit - Flashen sie bitte jetzt File x mit Tool y" anzuzeigen kann die Pruefplatzsteuerung dann gleich alles alleine erledigen. Das kann dem Operator richtig viel Zeit sparen wenn vor dem Flashen erst noch Tests laufen und er solange nicht daneben stehen bleiben muss.

Micha

Reply to
Michael Baeuerle

Du vergißt scheinbar, daß avrdude erstmal kompiliert werden muß, denn Windows-Binaries gibt's aus "offizieller" Quelle nicht. Dementsprechend ist die Installation eines Compilers und der Build-Tools nötig. Unter Windows kommt dazu dann noch die Installation der Voraussetzungen, damit der gcc-Kram überhaupt erstmal lauffähig wird.

Bis du das alles _einmal_ installiert und so konfiguriert hast, daß eine lauffähige avrdude.exe hinten rausfällt, hast du ganz entspannt etliche Male das Atmel-Studio installiert (und ggf. auch wieder deinstalliert).

[...]

Das allerdings wäre tatsächlich ein Szenario, bei dem auch ich avrdude bevorzugen würde.

Reply to
Heiko Nocon

OK, das ist ein Argument.

Micha

Reply to
Michael Baeuerle

Moin!

Und während Du noch die Maus in Richtung des Icons schiebst, hab ich schon F5 gedrückt und "Programmer's Notepad" hat make aufgerufen. :-)

Gruß, Michael.

Reply to
Michael Eggert

Moin!

Das Zauberwort heißt "AVR Toolchain". Das ist das, was früher mal WinAVR war: Ein für Windows geschnürtes Paket mit AVR-GCC, LIBC und etlichen nützlichen Tools, unter anderem auch AVRDUDE. Direktlinks:

formatting link

Ansonsten gibts ein kompiliertes AVRDUDE alleine auch noch aus inoffiziellen Quellen. Links stehen am Ende dieser Seite:

formatting link

Gruß, Michael.

Reply to
Michael Eggert

Am 23.09.2012 14:14, schrieb Michael Eggert:

WinAVR gibts aber doch weiterhin und offenbar wird da auch wieder dran gearbeitet.

Hat dann Atmel mit der AVR Toolchain sozusagen WinAVR nachgebaut?

Thorsten

Reply to
Thorsten Just

Moin!

Die letzte Version auf sourceforge ist nach wie vor die von 2010.

Nunja - soweit ich weiß, arbeitet derjenige, der WinAVR herausgebracht hat, seit einigen Jahren für Atmel.

Gruß, Michael.

Reply to
Michael Eggert

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.