User:Vikk
Viktor from Vikkio Consulting
"Linux makes me smarter"
Interests:
- Networking
- STM32 development with C
- ARM architecture
- Servers and datacenters
STM32 development
Crosscompilation needs a couple of community packages: arm-none-eabi-binutils, arm-none-eabi-gcc, arm-none-eabi-gdb, arm-none-eabi-newlib. stlink can be used for flashing.
pacman -S arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-gdb arm-none-eabi-newlib pacman -S stlink
Download and install STM32CubeMX
I like to keep it simple, using Emacs with emacs code browser for editing and building with the console.
Adjust project settings in STM32CubeMX to Makefile and generate package. BINPATH must point to where the arm-none-eabi binaries are installed:
Makefile
... BINPATH = /usr/bin ...
To clear entire flash
st-flash erase
To program device, example Nucleo F746ZG
st-flash write EXAMPLE.bin 0x8000000
systemd mount example, btrfs
Basic example of an BTRFS mount file...
/etc/systemd/system/mnt-ssd.mount
[Unit] Description=Mount SSD [Mount] What=/dev/disk/by-uuid/UUID Where=/mnt/ssd Type=btrfs Options=rw,noatime,compress=zstd:3,ssd,discard=async [Install] WantedBy=multi-user.target