Forum: Mikrocontroller und Digitale Elektronik AVR32 dfu ergebnis


von Mike (Gast)


Lesenswert?

Hallo,

ich habe einen at32uc3a0512 auf dem evk1100 und möchte nun das programm 
umschreiben auf einen at32uc3a0128. Dazu habe ich einfach den unter 
option den chip geändert, dies auch rechts bei meiner DFU-Verbindung. er 
rattert auch das ganze ab, mit dem Unterschied, dass bei

Programming Memory ....... PASS 0x00000     0x00000
und
Verifying Memory ......... PASS 0x00000     0x00000

kommt. Ist das normal ? da müsste doch ne zahl kommen und nicht 0x0000 
?? Was bedeudet dies ? Muss ich beim Wechsel des IC was beachten oder 
noch zusätzlich umstellen ?

Danke

von Syber (Gast)


Lesenswert?

Hi,

Ist nicht normal, da steht normal die startadresse + größe drin. Hast du 
mal geschaut ob du beim Kompilieren einen Linker fehler bekommst (RAM 
oder FLash zu klein).

Gruß

von Mike (Gast)


Lesenswert?

Nein es kommt  leider garkeine Fehlermeldung. Ich vermisse auch eine 
Anzeige wieviel belegt ist, ähnlich der des AVR Studios. Hat jemand 
zufällig eine Test Hexfile für den At23uc3a128, dann könnte ich 
wenigstens sagen, dass es an meinem Programm liegt.

von Mike (Gast)


Lesenswert?

Ich habe nun komplett eine neue Datei erstellt und dieses hochgeladen. 
Jetzt standen auch Zahlen dort.

Aber ich habe nun immernoch das Problem wie ich ein fertiges Programm 
von einem at32uc3a0512 auf einen at32uc3a0128 transferieren kann .

Hat das schonmal jemand gemacht ?

von Müller (Gast)


Lesenswert?

Ich habe die Linkerdatei vergessen zu ändern. Nach dem ich sie geändert 
habe, kamen folgende Meldungen. Wer kann mir diese näher erläutern ?

Hatte es auch mit dem 0256 probiert und kam leider die gleiche Meldung. 
Mit avr-size hatte ich geprüft wie groß diese ist. Und es würde auch auf 
einen 0128 passen.

Muss ich vielleicht auch Dateien wie trampoline.x oder conf_isp.h ändern 
??

Kann mir jemand helfen ? Danke.

src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\SD_MMC\SD_MMC_SPI\sd_mmc_spi_me 
m.o 
src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\SD_MMC\SD_MMC_SPI\sd_mmc_spi.o 
src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx_mem. 
o  src\SOFTWARE_FRAMEWORK\COMPONENTS\MEMORY\DATA_FLASH\AT45DBX\at45dbx.o 
src\SOFTWARE_FRAMEWORK\BOARDS\EVK1100\led.o 
src\SOFTWARE_FRAMEWORK\ASM\trampoline.o 
-lnewlib_addons-at32ucr2-speed_opt
c:/programme/atmel/avr tools/avr32 
studio/plugins/com.atmel.avr.toolchains.win32.x86_3.0.0.201009140852/os/ 
win32/x86/bin/../lib/gcc/avr32/4.3.3/../../../../avr32/bin/ld.exe: 
USB_FreeRTOS.elf section `.rodata' will not fit in region `FLASH'
c:/programme/atmel/avr tools/avr32 
studio/plugins/com.atmel.avr.toolchains.win32.x86_3.0.0.201009140852/os/ 
win32/x86/bin/../lib/gcc/avr32/4.3.3/../../../../avr32/bin/ld.exe: 
region `FLASH' overflowed by 1484 bytes
c:/programme/atmel/avr tools/avr32 
studio/plugins/com.atmel.avr.toolchains.win32.x86_3.0.0.201009140852/os/ 
win32/x86/bin/../lib/gcc/avr32/4.3.3/../../../../avr32/bin/ld.exe: 
USB_FreeRTOS.elf: section `.data' can't be allocated in segment 0
LOAD: .reset .rela.got .text .exception .rodata .lalign .data .balign
c:/programme/atmel/avr tools/avr32 
studio/plugins/com.atmel.avr.toolchains.win32.x86_3.0.0.201009140852/os/ 
win32/x86/bin/../lib/gcc/avr32/4.3.3/../../../../avr32/bin/ld.exe: 
final link failed: Bad value
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 91125  ms.

von Flash-Fan (Gast)


Lesenswert?

Linker sagt u.a.
section `.rodata' will not fit in region `FLASH'
Bedeutet ...?

von Müller (Gast)


Lesenswert?

Sags mir ?

Vorallem was ich dagegen tun kann, ich meine so groß ist das Programm 
nicht, dass es nicht auf einen 0256 passt ?!

von Thomas K. (rlyeh_drifter) Benutzerseite


Lesenswert?

Müller schrieb:
> Sags mir ?

deine Konstanten passen nicht in den Flash-Speicher


> Vorallem was ich dagegen tun kann, ich meine so groß ist das Programm
> nicht, dass es nicht auf einen 0256 passt ?!

"das Programm" inkludiert auch das FreeRTOS, immer noch klein?

von Müller (Gast)


Lesenswert?

Mhh, das ist sehr eigenartig. Ich habe sogar ein einfaches USB - 
Programm ohne FreeRTOS genommen und dies. Wenn ich mit dem Befehl 
avr-size die Größe der .elf Datei getestet habe, so kam hier etwa 100 kB 
für .data raus, das müsste doch reichen bei 256 kB ?

Übersehe ich vielleicht irgend eine Kleinigkeit die man noch zusätzlich 
ändern muss, damit  ich das Programm auf einen kleineren µC kompelieren 
muss ?

von Müller (Gast)


Lesenswert?

Hat jemand eine Idee wie ich .data freimachen kann ? welcher Code muss 
ich bearbeiten ?

Werden die .dat .reset .balign durch irgendeine Linkerfile begrenzt oder 
zugeteilt ?

Danke für die Hilfe

von Phil S. (zippi)


Lesenswert?

Hi,

Ja du kannst nen Linkerscipt in dein Projekt laden und alles so 
einstellen wie du willst. Dann brauchst du kein Trampolin.x oder 
ähnliches.

Der AVR32 ist eine von Neumann architektur deswegen dürfen theoretisch 
deine Daten auch bis 256kbyte im UC3A0256 seit.

Du kannst mir auch ne E-mail via PN schreiben. Dann kann ich dir auch 
persönlich(ICQ/Teamviewer) weiterhelfen und das Problem an dem es Lag 
hier posten, wenn du willst.

Gruß
Zippi

von Klein M. (fuchs12)


Lesenswert?

Hallo Zippi,
meine eMail: KleinMatthias@gmx.net

Danke schonmal

Gruß
Matthias

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.