W SW4STM robię tak:
1. Opalam CubeMX, ustawiam co trzeba, zapisuję projekt i generuję kod pod SW4STM.
2. Otwieram wygenerowany projekt w SW4STM, dodaję w pętli while jakieś proste miganie diodą np:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
3. Kompiluję i sprawdzam czy wszystko działa, używając Debug oczywiście. Jeśli dioda LED miga to następny krok.
4. Klikam w "Manage Configuration for the current project (po lewo od młoteczka)
5. Wyskakuje okienko w którym klikam "New", w nowym oknie wpisuję w "Name: Release"
6. Upewniam się, że mam wybrane "Existing configuration Debug" czyli (Copy setting from - kopiuj ustawienia z profilu Debug)
7. Klikam OK i znowu OK
8. Sprawdzam czy gdy kliknę na strzałkę obok młoteczka to mam do wyboru dwie opcje Debug lub Release, jeśli tak to następny krok.
9. Klikam prawym przycikiem myszy na nazwę projektu i wybieram "Proporties"
10. w C/C++ Build/Settings/Optimization dla profilu Debug wybieram None (-O0) lub Optimize for Debug (-Og)
dla profilu Release wybieram Optimize for size (-Os)
11. w C/C++ Build/Settings/Debugging dla profilu Debug wybieram Maximum (-g3)
dla profilu Release wybieram (-Os) lub (-O1)
12. w C/C++ Build/Settings/Build Steps w okienku Post-build steps/Command: (dla profilu Release) zmieniam bin na hex
Debug:
arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin" && arm-none-eabi-size "${BuildArtifactFileName}"
Release:
arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.hex" && arm-none-eabi-size "${BuildArtifactFileName}"
13. Klikam Apply i OK
14. Sprawdzam czy kompiluje się zarówno dla profilu Debug jak i Release
Daj znać proszę czy wszystko co napisałem jest jasne. U mnie działa bezproblemowo.
Pozdrawiam.