Common requirements
~~~~~~~~~~~~~~~~~~~
-libusb-1.0 (You probably already have this, but you'll need the
+. libusb-1.0 (You probably already have this, but you'll need the
development version to compile)
+. pkg-config
IF YOU HAVE AN STLINKv1
~~~~~~~~~~~~~~~~~~~~~~~
You're ready to go :)
-To run the gdb server, do (you do not need sudo if you have set up
-permissions correctly):
-$ make && [sudo] ./gdbserver/st-util
+COMPILING
+~~~~~~~~~
+This project was converted to Autotools by a well meaning individual. The
+following steps will build the project for you.
+
+$ ./autogen.sh
+$ ./configure
+$ make
+
+USING THE GDBSERVER
+~~~~~~~~~~~~~~~~~~~
+To run the gdb server: (you do not need sudo if you have set up
+permissions correctly)
+
+$ make && [sudo] ./st-util
There are a few options:
-./gdbserver/st-util - usage:
+./st-util - usage:
- -h, --help Print this help
- -vXX, --verbose=XX specify a specific verbosity level (0..99)
- -v, --verbose specify generally verbose logging
+ -h, --help Print this help
+ -vXX, --verbose=XX Specify a specific verbosity level (0..99)
+ -v, --verbose Specify generally verbose logging
-s X, --stlink_version=X
- Choose what version of stlink to use, (defaults to 2)
- -1, --stlinkv1 Force stlink version 1
+ Choose what version of stlink to use, (defaults to 2)
+ -1, --stlinkv1 Force stlink version 1
-p 4242, --listen_port=1234
- Set the gdb server listen port. (default port: 4242)
-
-Then, in gdb: (remember, you need to run an _ARM_ gdb, not an x86 gdb)
-(gdb) target remote :4242
+ Set the gdb server listen port. (default port: 4242)
+ -m, --multi
+ Set gdb server to extended mode.
+ st-util will continue listening for connections after disconnect.
+ -n, --no-reset
+ Do not reset board on connection.
+
+The STLINKv2 device to use can be specified in the environment
+variable STLINK_DEVICE on the format <USB_BUS>:<USB_ADDR>.
+
+Then, in your project directory, someting like this...
+(remember, you need to run an _ARM_ gdb, not an x86 gdb)
+
+$ arm-none-eabi-gdb fancyblink.elf
+...
+(gdb) tar extended-remote :4242
+...
+(gdb) load
+Loading section .text, size 0x458 lma 0x8000000
+Loading section .data, size 0x8 lma 0x8000458
+Start address 0x80001c1, load size 1120
+Transfer rate: 1 KB/sec, 560 bytes/write.
+(gdb)
+...
+(gdb) continue
Have fun!
in the root of repository. You will need to copy it to /etc/udev/rules.d,
and then either reboot or execute
$ udevadm control --reload-rules
+$ udevadm trigger
Udev will now create a /dev/stlinkv2_XX or /dev/stlinkv1_XX file, with the appropriate permissions.
This is currently all the device is for, (only one stlink of each version is supported at
it will use a rather inefficient single-stepping way of doing that.
Set up a breakpoint manually in that case and do `continue'.
+Q: Load command does not work in GDB.
+
+A: Some people report XML/EXPAT is not enabled by default when compiling
+GDB. Memory map parsing thus fail. Use --enable-expat.
+
Currently known working combinations of programmer and target
=============================================================
Known Working Targets:
* STM32F100xx (Medium Density VL)
-* STM32F103 (according to jpa- on ##stm32
+* STM32F103 (according to jpa- on ##stm32)
No information:
* everything else!
-
STLink v2 (as found on the 32L and F4 Discovery boards)
Known Working Targets:
+* STM32F030F4P6 (custom board)
+* STM32F0Discovery (STM32F0 Discovery board)
* STM32F100xx (Medium Density VL, as on the 32VL Discovery board)
-* ?
+* STM32L1xx (STM32L Discovery board)
+* STM32F103VC, STM32F107RC, STM32L151RB, STM32F205RE and STM32F405RE on custom boards
+ (https://github.com/UweBonnes/wiki_fuer_alex/layout/usps...)
+* STM32F103VET6 (HY-STM32 board)
+* STM32F105RCT6 (DecaWave EVB1000 board)
+* STM32F303xx (STM32F3 Discovery board)
+* STM32F407xx (STM32F4 Discovery board)
+* STM32F429I-DISCO (STM32F4 Discovery board with LCD)
+* STM32F439VIT6 (discovery board reseated CPU)
+* STM32L052K8T6 (custom board)
+* STM32L151CB (custom board)
+* STM32L152RB (STM32L-Discovery board, custom board)
+
+STLink v2-1 (as found on the Nucleo boards)
+Known Working Targets:
+* STM32F401xx (STM32 Nucleo-F401RE board)
+* STM32F030R8T6 (STM32 Nucleo-F030R8 board)
+* STM32F072RBT6 (STM32 Nucleo-F072RB board)
+* STM32F103RB (STM32 Nucleo-F103RB board)
+* STM32F303RET6 (STM32 Nucleo-F303RE board)
+* STM32F334R8 (STM32 Nucleo-F334R8 board)
+* STM32F411RET6 (STM32 Nucleo-F411RE board)
+& STM32F756NGHx (STMF7 evaluation board)
Please report any and all known working combinations so I can update this!
-