Hi,
ich habe vor einiger Zeit eine Uhr mit einem Dot-Matrix-Display und
STM32F103C8T6 gebaut und die Software nur im Quellcode abgelegt.
Jetzt habe ich mittlerweile einen anderen PC und ich kann nicht mehr
genau sagen, welche Toolchain ich damals verwendet habe.
Wenn ich das Projekt jetzt wieder compilieren will, dann bekomme ich
einen Fehler:
1 | /opt/gcc-arm-none-eabi-6_2-2016q4/bin/../lib/gcc/arm-none-eabi/6.2.1/../../../../arm-none-eabi/bin/ld: section .init LMA [00000000080006e4,00000000080006e7] overlaps section .data LMA [00000000080006e4,00000000080006e7]
|
Wenn ich jetzt im Linker-File .data um 8 verschiebe, dann läuft make
komplett durch:
1 | .data : AT ( _sidata + 8 )
|
Die Uhr geht jetzt an, zeigt sofort die init-Uhrzeit (12:00) an und dann
läuft der Sekundenzeiger (LED) sehr sehr langsam durch.
Ansonsten wurde an dem Projekt nichts verändert, einfach eine
andere/neuere Toolchain und zum Testen das "+8" im Linkerfile.
Im Anhang mal die main.c und das Linkerfile, vielleicht kann mir hier ja
jemand helfen.
Schonmal Danke im Vorraus,
Nils