This is an old revision of the document!
https://www.ondrovo.com/a/20170107-stm8-getting-started/
https://stm8-binutils-gdb.sourceforge.io/
openocd
# sudo apt-get install automake libtool
# git clone git:
repo.or.cz/openocd.git
- # cd openocd
- # ./bootstrap
- # ./configure
- # make
- # sudo make install
sdcc
- Get sources from https://sourceforge.net/projects/sdcc/files/
- # sudo apt-get install libboost-dev gputils
- # ./configure
- # make
- # sudo make install
stm8-binutils
- Get sources from https://sourceforge.net/projects/stm8-binutils-gdb/files/
- # ./patch_binutils.sh
- # ./configure_binutils.sh
- # cd binutils-2.3
- # make
- # sudo make install
stm8-flash
- # git clone https://github.com/vdudouyt/stm8flash.git
- # cd stm8flash/
- # make
- # sudo cp stm8flash /usr/bin/
st-link permissions
<code>
# /etc/udev/rules.d/49-stlinkv2.rules
# stm32 discovery boards, with onboard st/linkv2
# ie, STM32L, STM32F4.
# STM32VL has st/linkv1, which is quite different
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“3748”, \
MODE:=“0666”, \
SYMLINK+=“stlinkv2_%n”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“374b”, \
KERNEL!=“sd*”, KERNEL!=“sg*”, KERNEL!=“tty*”, SUBSYSTEM!=“bsg”, \
MODE:=“0666”, \
SYMLINK+=“stlinkv2_%n”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“374b”, \
KERNEL==“sd*”, MODE:=“0666”, \
SYMLINK+=“stlinkv2_disk”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“374b”, \
KERNEL==“sg*”, MODE:=“0666”, \
SYMLINK+=“stlinkv2_raw_scsi”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“374b”, \
SUBSYSTEM==“bsg”, MODE:=“0666”, \
SYMLINK+=“stlinkv2_block_scsi”
SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0483”, ATTRS{idProduct}==“374b”, \
KERNEL==“tty*”, MODE:=“0666”, \
SYMLINK+=“stlinkv2_console”
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:=“0666” with
# OWNER:=“yourusername” to create the device owned by you, or with
# GROUP:=“somegroupname” and control access using standard unix groups.
</code>
Back to top