Ich versuche, leider bisher ohne Erfolg, ein erstes Testprojekt für ein
STM32 discovery board (STM32L100C) zum laufen zu kriegen (blinkende LED,
was sonst!). Dazu verwende ich die gcc arm toolchain (4.9.3 20150529)
unter Linux und st-link (https://github.com/texane/stlink).
Als Linker-Skript kommt STM32L100XC_FLASH.ld aus ST's 'cube' repository
zum Einsatz (attached).
Compilieren geht, aber ich kann den Code nicht mit dem arm-...-gdb und
st-util laden. Ich erhalte dann:
1 | Reading symbols from demo.elf...done.
|
2 | Remote debugging using localhost:4242
|
3 | 0x0800074c in ?? ()
|
4 | Loading section .init, size 0x18 lma 0x8000
|
5 | Load failed
|
6 | (gdb)
|
Die gcc-optionen sind:
1 | arm-none-eabi-gcc -DARM_MATH_CM3 -mcpu=cortex-m3 -g -fno-common -Wall -mthumb ...
|
und zum Linken:
1 | arm-none-eabi-gcc -mcpu=cortex-m3 -g -Wl,--gc-sections,-Map=demo.map -static -lc -lrdimon ...
|
Mit st-flash kann ich den Demo-code, mit dem das Discovery-Board
ausgeliefert wurde, auslesen und wieder herstellen. Die Kommunikation
mit dem Board klappt also.
Mal abgesehen, dass vielleicht Fehler in meinem Code drin sind, müsste
das .elf File sich doch laden lassen, oder?
Wäre toll, wenn jemand einen Tipp hätte wie ich weiterkomme -- bin trotz
langem Fehlersuchen mit meinem Latein am Ende... Poste auch gerne
weitere Files wenn das hilft.