Próbuję uruchomić STM32F10X-128K-EVAL (z prockiem STM32F103). W miarę bezboleśnie podłączyłem się tym za pomocą Wigglera na LPT i OpenOCD. Niestety nie mogę zmusić go do działania. Wygląda na to że nie mogę znaleźć dobrych skryptów linkera (program testowy kompiluję za pomocą gcc z pakietu CodeSourcery). Spośród kliku skryptów, które znalazłem ten:
/home/moonwolf/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none- eabi/4.4.1/../../../../arm-none-eabi/bin/ld: section .init loaded at [080002ac,080002b7] overlaps section .data loaded at [080002ac,080002af] /home/moonwolf/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none- eabi/4.4.1/../../../../arm-none-eabi/bin/ld: section .init_array loaded at [080002b0,080002b3] overlaps section .init loaded at [080002ac,080002b7] /home/moonwolf/CodeSourcery/Sourcery_G++_Lite/bin/../lib/gcc/arm-none- eabi/4.4.1/../../../../arm-none-eabi/bin/ld: section .jcr loaded at [080002b8,080002bb] overlaps section .fini loaded at [080002b8,080002c3]
Niestety zbyt mało wiem na temat linkera (i ARMów) żeby to zrozumieć. Próbowałem kliku innych skryptów (przyznaję: na ślepo. Trochę się dzięki temu nauczyłem, ale zbyt mało widocznie), ale też bez pozytywnych efektów, choć binarka się generowała (według tego co udało mi się ustalić za pomocą gdb to program wylatywał w krzaki po kilku pierwszych rozkazach startupu, zanim jeszcze doszedł do main(). To z resztą zależało od skryptu - czasem już pierwsze 'stepi' w gdb powodowało SIGINT).
Co robię źle? Przede wszystkim - dlaczego nie działa mi ten skrypt (na elektrodzie go bodajże odkopałem)?
FUT warning.