Da podignemo malo temu, evo malo naprednijeg pristupa programiranja STM32 mikrokontrolera ali upotrebom besplatnih GNU alata "gcc" i "cmake".
Source code za Blink LED primer je ovde:
https://github.com/mikikg/stm32f103-cmake-template
Vas ce uglavnom interesovati ono sto je u Src/main.c, fajlovi u RTE/ su deo minimalistickog CMSIS frejmwork-a, nema nikakvih HAL drajvera niti dodatnih "zavistnosti" (dependencies), sve sto treba je projektnom direktorijumu.
Zgodna stvar sa ovim pristupom je ta sto ste i dalje u poznatom CMSIS "fazonu" samo je postavka projekta malo drugacija i koriste se GNU alati.
Glavne stvari za prevodjenje se desavaju u fajlu CMakeLists.txt i u sustini tu ne morate nista da menjate osim mozda ime projekta koji je sad myprj i ime linker skripte koja specificna za izabran MCU, trenutno je podeseno na STM32F103C8Tx_FLASH.ld.
Ako menjate target MCU neophodno je "nabaviti" i linker skriptu + header fajlove, ima ih na primer u Keil-u.
PS: Potrudicu se da skorije postavim na GIT i template projekat za STM32F407.
Vase (dodatne) fajlove mozete postaviti u pod-direktorijume Src/ i Inc/.
Konkretna procedura za prevodjenje je sledeca:
Nakon ovoga u folderu build dobicete myprj.bin, myprj.elf i myprj.hex koje mozete usnimiti u MCU sa nekim GUI programom ili pomocu st-flash i ovom komandom:
Neophodni alati za prevodjenje su cmake i gcc-arm-none-eabi i za Linux se moze instalirati sa komandom u nastavku dok za Windows mogu da se skinu posebne instalacione arhive (+ podesiti path variable).
Source code za Blink LED primer je ovde:
https://github.com/mikikg/stm32f103-cmake-template
Vas ce uglavnom interesovati ono sto je u Src/main.c, fajlovi u RTE/ su deo minimalistickog CMSIS frejmwork-a, nema nikakvih HAL drajvera niti dodatnih "zavistnosti" (dependencies), sve sto treba je projektnom direktorijumu.
Zgodna stvar sa ovim pristupom je ta sto ste i dalje u poznatom CMSIS "fazonu" samo je postavka projekta malo drugacija i koriste se GNU alati.
Glavne stvari za prevodjenje se desavaju u fajlu CMakeLists.txt i u sustini tu ne morate nista da menjate osim mozda ime projekta koji je sad myprj i ime linker skripte koja specificna za izabran MCU, trenutno je podeseno na STM32F103C8Tx_FLASH.ld.
Ako menjate target MCU neophodno je "nabaviti" i linker skriptu + header fajlove, ima ih na primer u Keil-u.
PS: Potrudicu se da skorije postavim na GIT i template projekat za STM32F407.
Vase (dodatne) fajlove mozete postaviti u pod-direktorijume Src/ i Inc/.
Konkretna procedura za prevodjenje je sledeca:
Code:
git clone https://github.com/mikikg/stm32f103-cmake-template
cd stm32f103-cmake-template/
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE="Relese" ..
make
Nakon ovoga u folderu build dobicete myprj.bin, myprj.elf i myprj.hex koje mozete usnimiti u MCU sa nekim GUI programom ili pomocu st-flash i ovom komandom:
Code:
st-flash write myprj.bin 0x8000000
Neophodni alati za prevodjenje su cmake i gcc-arm-none-eabi i za Linux se moze instalirati sa komandom u nastavku dok za Windows mogu da se skinu posebne instalacione arhive (+ podesiti path variable).
Code:
apt install -y cmake gcc-arm-none-eabi