(Testowane na Ubuntu 22.04 LTS)
Link do katalogu z przykładami na STM32: https://polprog.net/papiery/stm32/
Git, ssh, kompilator+toolchain STM32, libopencm3
Linie zaczynajace sie od $
to polecenia do uruchomienia w terminalu
Generujemy klucz SSH potrzebny do obsługi repozytoriów gita
$ ssh-keygen
* akceptujemy domyślną ścieżkę *
* możemy wpisać hasło do klucza, będzie trzeba je wpisać za każdym jego użyciem *
* Można też zostawić puste hasło *
Następnie trzeba dopisać klucz do swojego konta na gitlabie aby mieć dostęp do prywatnych repozytoriów (GitLab, Github i inne serwisy wycofały możliwość autentykacji po HTTP (user+pass) w zeszłym roku). W tym celu:
.pub
), np za pomocą terminala i cat
Uwaga 1: Kopiowanie między maszyną wirtualną a hostem może nie działać, można się zalogować do gitlaba w maszynie
Uwaga 2: Kopiowanie i wklejanie z terminala: Ctrl-Shift-C
/Ctrl-Shift-V
lub Ctrl-Insert
/Shift-insert
. Te drugie skróty zawsze działają.
$ sudo apt install git
$ sudo apt install binutils-arm-none-eabi gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libnewlib-arm-none-eabi gdb-arm-none-eabi build-essential
Instalacja programu st-flash (narzędzia STLink). Należy ściągnąć najnowszą paczkę .deb stąd i zainstalować przez dpkg:
$ sudo dpkg -i stlink_XXXXX_amd64.deb
$ sudo apt --fix-broken install
Sklonowanie repozytorium libopencm3
$ git clone https://github.com/libopencm3/libopencm3.git
$ cd libopencm3
$ make TARGETS="stm32/f0 stm32/f1"
Program testowy do migania LEDem/ledami
Skonuj repozytorium z przykładami na BluePilla:
$ git clone https://bitbucket.org/OpCode-eu-org/stm32-examples.git
$ cd stm32-examples
# Tutaj trzeba stworzyć dowiązanie symboliczne (symlink) do katalogu libopencm3
# zakładając, że wszystkie polecenia były wykonane w katalogu domowym to ścieżka jest ../libopencm3
# ln -s cel nazwa
$ ln -s ../libopencm3 libopencm3
Zbuduj 10_blink
$ cd 10_blink
$ make
Podłączenie STlinka do bluepilla zgodnie z pinoutem. Na Discovery złącze SWD ma taki pinout:
Manual do płytki Discovery dla L0
Wgranie skompilowanego programu na STM32 przez STlinka:
$ st-flash write program.bin 0x08000000
Uwaga: Z maszyną wirtualną czasami nie działa USB. Trzeba wtedy podłączyć i odłączyć ST-Linka (nie da sie go inaczej zresetować).
discovery bluepill
--------------------
SWDIO - SWDIO
SDCLK - SWCLK
GND - GND
3V - 3V3