This board uses a ST-Link/V2-1 interface. I don't know what differences there are between v2 and v2-1, but they seem to be small enough that first tests worked as expected.
Building on a 32-bit linux system was generating the following:
src/st-info.c: In function ‘print_data’:
src/st-info.c:25:3: warning: format ‘%lx’ expects argument of type \
‘long unsigned int’, but argument 2 has type ‘size_t’ [-Wformat]
src/st-info.c:27:3: warning: format ‘%lx’ expects argument of type \
‘long unsigned int’, but argument 2 has type ‘size_t’ [-Wformat]
src/st-info.c:29:3: warning: format ‘%lx’ expects argument of type \
‘long unsigned int’, but argument 2 has type ‘size_t’ [-Wformat]
Using '%zx' eliminates the warning in a platform agnostic way.
Consider a 128-byte write to the chip. If the last 2 bytes are
considered "empty", then len is adjusted to 126, and run_flash_loader
will only copy 126 bytes to RAM. However, run_flash_loader then
proceeds to round up to 32 words (128 bytes) when flashing, which has
the effect of clobbering those last two "empty" bytes with junk data.
Setting the STLINK device with -d hasn't worked for some time, but
the STLINK_DEVICE environment variable works instead. Remove the
option, update documentation and help text.
There was a typo in the flash size register address for STM32F2. Change
to correct address. Verified against STM32F207 reference manual
(RM0033 Rev 5 section 33.2), and an STM32F217 chip.
The diff was as easy as adding a new select
option for 10.9 version in install.sh, and
a little patch fixing com.apple.kpi.libkern
version string.
Don't forget to install latest libusb, i.e.
libusbx in homebrew!
Stlinky can silently fail if its magic bytes are present anywhere else
in the SRAM. This change makes st-term detect all stlinky structures,
warn about multiple occurences and will use the last one detected.
There were removed in my previous commit 5851dee due
to compilation errors. It actually appears these signals
are supported in MinGW but there was an include error for
MinGW, this commit fixes it.
Remove st-term from the list of the targets for MinGW.
st-term uses termios and would require a rewrite to have
it compile on MinGW. Also remove cleanup signal handlers
in gdb-server for MinGW to compile.