Gast
#2695159
Ich bin gerade dabei meine diversen Crosscompiler auf einen aktuellen
Stand zu bringen. (aechz) In dem Zusammenhang wollte ich auch mal einen
Compiler fuer das Cortex/AVR Zeugs erzeugen. Leider macht der noch
Aerger.
Stand:
Ich kann problemlos meinen Code mit gcc4.7.0 uebersetzen und mit
gdb/st-util in den 32F407 laden. Aber bei der Ausfuehrung scheint das
Programm wild rumzuspringen.
Ausschnitt aus stm32_flash.ld:
[..]
/* Entry Point */
ENTRY(Reset_Handler)
[..]
Aus meinem mapfile:
[..]
*(.text*)
fill 0x0800038c 0x4 00
.text.Reset_Handler
0x08000390 0x50 startup_stm32f4xx.o
0x08000390 Reset_Handler
[..]
cross-arm-objdump -f start.elf
start.elf: file format elf32-littlearm
architecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08000391
Mich erstaunt etwas das die start addresse nicht dem mapfile entspricht
und auf einer ungeraden Adresse liegt. Soll das so? Kann vielleicht mal
jemand den objdump mit seinem Programm ausfuehren?
Oh..und wo wir gerade so nett plaudern. Jedesmal wenn ich den gdb
verlasse wird auch st-util beendet und ich muss es neu starten. Kann man
das verhindern?
Olaf