Hallo, ich will einen Datenfile an eine bestimmte Adresse im Flash ablegen um dann z.B: per "pgm_read_byte_far" zur Laufzeit auf die Daten zuzugreifen. Gibt es eine Möglichkeit das Programm mit dem Datenfile zusammen zu linken, damit ich dann die Datei in meinen Mikrocontroller (ATMEGA 1284) programmieren kann? Es würde auch über einen Bootloader gehen, aber den Umweg würde ich mir gerne ersparen. In den Linker-Einstellungen von AtmelStudio kann ich Flash-Segmente definieren. Mir fehlt nur noch der Schritt die Datei in das Flash zu bekommen. MfG, Sven
Gast
#4721650
Sven S. schrieb: > In den Linker-Einstellungen von AtmelStudio kann ich Flash-Segmente > definieren. Mir fehlt nur noch der Schritt die Datei in das Flash zu > bekommen. http://www.atmel.com/webdoc/AVRLibcReferenceManual/FAQ_1faq_binarydata.html
Hallo, Super, damit kann ich etwas anfangen! Vielen Dank! MfG, Sven
Hallo, ich hatte doch noch zu kämpfen mit dem Problem. Für alle die einfach eine beliebig Formatierte Binärdatei dazu linken wollen: Ich habe meine Binär-Datei foo.bin genannt und habe mit dem avr-objcopy eine foo.o Datei erstellt. Diese Datei habe ich dann zu meiner .elf Datei hinzugelinkt... Ganz wichtig ist, dass man das Format der .o Datei angibt (in meinem Fall ATMEGA 1284: avr51) über die Option --binary-architecture avr51 Das ganze in Atmel Studio einzubinden ist auch nicht so einfach: Project->Properties->Build Events: avr-objcopy --rename-section .data=.progmem.data,contents,alloc,load,readonly,data -I binary --binary-architecture avr51 -O elf32-avr foo.bin foo.o in den Bereich "pre-build event command line" eintragen. Dann noch unter: Project->Properties->Toolchain->AVR/GNU Linker->Miscellaneous->Other Linker Flags: foo.o eintragen (sonst wird die Datei nicht hinzu gelinkt). Im Programm kann man dann wie in dem Beispiel [Beitrag "Re: PWM Tonhöhe und Lautstärke"] drauf zugreifen. MfG, Sven
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.