Uwe Bonnes
470c8e8cf1
target_flash_erase: Do not crash when requesting erase of unavailable flash.
...
Allow to erase from command line.
2019-12-13 14:59:42 +01:00
Uwe Bonnes
b9eb467ecf
Command line: Restrict verify to length of binary file.
2019-12-13 14:59:42 +01:00
Uwe Bonnes
269d38ce65
cl_utils: Allow to issue reset.
...
Issue reset only when flashing or when reset was requested.
2019-12-13 14:59:42 +01:00
Uwe Bonnes
da5a0cd3f5
Infrastructure for command line interface to target
...
- Program, read and verify flash
- Test mode: Probe and attach to device and exit
2019-12-08 16:43:19 +01:00
Uwe Bonnes
ab396f9745
Allow %z specifier in windows builds. Supercedes #562 .
2019-12-08 16:43:19 +01:00
Uwe Bonnes
6d01c3c55b
stlinkv2: Propagate AP errors
...
Needed when reading some memory region of unknown size.
2019-12-08 16:43:19 +01:00
Roland Ruckerbauer
5ec12e4103
Support arbitrary bit counts jtagtap_tdi_tdo_seq pc-hosted
2019-12-08 14:34:35 +01:00
Roland Ruckerbauer
d42477ebc5
Fix infinite loop in jtagtap_tdi_tdo_seq
2019-12-08 14:34:35 +01:00
Uwe Bonnes
f10ccfd83e
f4discovery: Fix error with GCC9 being more picky with sizes.
2019-12-05 19:36:05 +01:00
Thiadmer Riemersma
1924aa4999
Make baudrate parameter of traceswo command mandatory for stlink/swlink, and superfluous on other platforms; change help message accordingly.
2019-11-19 20:20:13 +01:00
Uwe Bonnes
5a05cedd7d
pc-hosted/jtagtap.c: Handle DO as bytes (PR #552 )
...
Fixes #540/#542
2019-11-10 17:36:58 +01:00
Uwe Bonnes
76f9a6ad42
stm32: Portability changes.
2019-10-20 22:20:06 +02:00
Uwe Bonnes
c6f43cf23f
Stlinkv2: Always call stlink_leave_state() first.
...
V2 devices after power on are in DFU mode. It is needed to leave DFU before
doing anything else.
2019-10-19 20:57:26 +02:00
Daniel O'Connor
2eef202ee1
Use pkg-config to get CFLAGS & LDFLAGS for libftdi1
...
Pull request #535
2019-10-14 19:22:53 +02:00
Daniel O'Connor
0aedff6623
Set the accepted to socket to be blocking as that is what the code expects.
...
This is necessary on OSX (and probably BSDs) where they default to non blocking which causes recv() to return -1 with errno set to EAGAIN.
2019-10-14 12:45:10 +02:00
Dave Marples
90df8172ca
Addition of pc-hosted variant and extensions to other targets to support it.
2019-10-08 19:16:12 +02:00
Uwe Bonnes
8a1d8bfba3
Stlink: Variant for Stlink V2 that works with the original ST bootloader.
...
Use https://github.com/jeanthom/stlink-tool.git for encrypted upload and
switch to BMP.
2019-10-08 18:18:19 +02:00
Uwe Bonnes
12a2659671
pc-stlinkv2: StlinkV3 seems only to work with STM devices,
2019-09-29 16:48:42 +02:00
Uwe Bonnes
0599d2161c
pc-stlinkv2: Recognize another error and try to handle failing memread.
2019-09-29 16:48:31 +02:00
Uwe Bonnes
1cf0b8ac13
Make all arguments for all commands (struct *t, int argc, const char **argv).
...
-Wall on gcc8 otherwise warns without -Wno-cast-function-type but older
GCCs/CLang choke on that argument:
error: unknown warning option '-Wno-cast-function-type'; did you mean
'-Wno-bad-function-cast'? [-Werror,-Wunknown-warning-option]
This adds 24 byte to the binary, as some functions are now called with
additional dummy arguments:
"Pushing and popping garbage to keep the system happy"
2019-09-29 12:44:55 +02:00
Uwe Bonnes
afbde05cd3
Linker: Recent libopencm3 linker already sets the stack.
...
Thanks to Sid Price for noticing #520 .
2019-09-23 22:48:21 +02:00
UweBonnes
3a6947a68f
stlink: Check for baite variant. ( #519 )
...
If PC13/14 float and PB11 is pulled high, recognize as baite.
Handle as rev.1 board. Deciphered from:
http://www.avrki.ru/picture/articles/samodelniy_st_link_v2/shemf_st_link_v2.jpg
2019-09-05 20:37:16 +02:00
UweBonnes
00937348b3
Fixes to compile "make ENABLE_DEBUG=1 all_platforms" ( #515 )
2019-09-04 13:09:43 +02:00
UweBonnes
7dcb3295c6
Native: Link against nanolib. ( #514 )
...
This frees about 13 kB or 30 kB with ENABLE_DEBUG=1
2019-09-04 12:51:30 +02:00
Uwe Bonnes
1d868bfffb
pc-stlinkv2: Detect stlink detach.
...
As libusb has no real async callback, we need to call libusb_handle_events()
in different places. While waiting for the gdb connection, we set the
socket to non-blocking and check additional for usb events in that loop. That
way, detach is also detected while waiting for connection. With debugger
attached, SET_IDLE_STATE ist missused for checking for usb events.
2019-09-01 12:19:14 +02:00
Uwe Bonnes
6f1cae9203
pc-stlinkv2: Wait for device attach.
2019-09-01 12:19:07 +02:00
Uwe Bonnes
80a9fd51ca
Clarify STM32F103x8 Flashsize handling.
...
Should finally fix #471 .
2019-09-01 12:11:51 +02:00
Uwe Bonnes
d1ee827b4d
pc-stlinkv2: STLINK_SWD_DP_ERROR seem unrecoverable. Throw exception.
2019-08-31 11:20:17 +02:00
Uwe Bonnes
0d61106f90
pc-stlinkv2: Remove redundant read of CoreID.
2019-08-31 11:20:17 +02:00
Uwe Bonnes
a01109543e
pc-stlinkv2: Return failure if STLINK_DEBUG_APIV2_INIT_AP fails.
2019-08-31 11:20:17 +02:00
Uwe Bonnes
d994565f2e
pc-stlinkv2: Fix crash with serial given not matching connected devices.
2019-08-31 11:19:13 +02:00
Uwe Bonnes
2b7d4c5ade
swlink: Remove redundant conditional usbart_init().
...
Noticed in #506 .
2019-08-28 11:39:03 +02:00
Sid Price
35cb4e51e4
Windows Build Fixes GNU make 4.2.1 ( #502 )
...
After update of GNU make the tests for Windows OS are no longer needed. Note that GNU make 4.2.1 is used to build BMP under Windows OS.
Make native working
Again, the newer version of GCC make does not need the OS tests.
2019-08-28 10:45:41 +02:00
Uwe Bonnes
5d59338de5
pc-stlinkv2: Try first to reset device if we read a strange version number.
2019-08-27 15:13:26 +02:00
Uwe Bonnes
44f471db53
pc-stlinkv2: READMEM_8BIT needs to read 2 bytes for 1 byte requested.
...
Fix as seen in openocd.
SYSROM_PIDR2 has only 3 bits for the JEP106 identity code field, bits [6:4].
2019-08-27 15:13:26 +02:00
Uwe Bonnes
82be49f052
Stlink: Add a README.md, mostly deprecating reflashing Stlinkv2/1.
2019-08-27 15:13:26 +02:00
Uwe Bonnes
5fbb3a44fd
PC-STLINKV2/Libftdi: Better version string.
2019-08-27 15:13:26 +02:00
Uwe Bonnes
6bf4fd3598
pc-stlinkv2: CPU register read and write must be done with the AP set.
...
FIXME: Writing CPU registers on M4 of STM32H745 seems not to work.
2019-08-27 15:13:15 +02:00
Brennan Ashton
443ced62d4
Target latest libopencm3
...
Required fixes:
* use usbd_request_return_codes -- commit 54b117c5a5767df8dc114612dfd8e8cb88b72c6b
* drop deprecated timer_reset() -- commit 034dbf20ff8c54dcbee5238390b37a0d35180f44
* drop 48 & 120 MHz configs -- commit a9dde2832eb8039b9e0d21a50b9b991ddbfc4e2d
* ld scripts: drop duplication of standard sections -- commit 9a05dcb6c0aef712052d337457838f6041ffd57a
2019-08-14 00:57:15 -07:00
Sylvain Munaut
ef372d0161
build: Use a separate NO_LIBOPENCM3 flag to disable libopencm3
...
This prepares to allow other architectures than pc
that don't use libopencm3.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-08-05 15:24:16 +02:00
Uwe Bonnes
06078a8a98
stlinkv2.c: Ignore zero length memory transactions.
2019-07-28 16:28:18 +02:00
Uwe Bonnes
d92635b6a3
stlinkv2: Use stlink_usb_get_rw_status() where possible.
2019-07-28 16:27:52 +02:00
Uwe Bonnes
1b3acf3b8a
pc-stlinkv2: Print serial number of V20 devices readable.
2019-07-20 13:34:21 +02:00
Uwe Bonnes
e29f2b4fb9
jtag/swd: Rename defines/make variables to allow removal of weak attribute
...
jtagtap.c is libopencm3 generic. Move to common.
2019-07-18 20:54:10 +02:00
Uwe Bonnes
067956266c
Adiv5: Remove weak attribute to ease windows compile.
2019-07-18 18:16:19 +02:00
Uwe Bonnes
b9249ca8a6
stlinkv2: Recognize V21_MSD, e.g. on STM32MP157C-DK2.
2019-07-17 17:38:21 +02:00
Uwe Bonnes
205fce20e5
stlinkv2: mem_[read|write] needs to honor AP.
2019-07-17 17:38:21 +02:00
Uwe Bonnes
82424b100b
stlinkv2: Require STLINK V3 Rev > 2 as revision 1 can not read TARGETID.
2019-07-17 17:38:21 +02:00
Uwe Bonnes
9b764534e6
stlinkv2: Recognize Stlink V3E
2019-07-17 17:38:21 +02:00
Uwe Bonnes
3388e48d92
stlinkv2: Do not loop endless when Read DP fails.
2019-07-17 17:38:21 +02:00
Uwe Bonnes
9ed26645d3
Add pc_stlinkv2 platform, running on host, talking to original StlinkV2/3.
...
Stlink firmware needs to be recent.
2019-07-17 17:38:01 +02:00
Uwe Bonnes
3b75cb9a5a
gdb-server: Allow multiple instance.
2019-07-17 17:26:00 +02:00
Uwe Bonnes
9075411c93
Move gdb_if.c for stand-alone servers to common.
2019-07-17 17:26:00 +02:00
Sid Price
2108bb7137
Native Windows builds
...
All except hydrabus and launchpad-icdi building in PowerShell.
2019-04-07 10:26:45 -06:00
Uwe Bonnes
0793dac2cf
libftdi: Allow to compile with mingw and cygwin and use recent libftdi1.
...
Tested with x86_64-w64-mingw32-gcc-8.2.0 and cygwin gcc (GCC) 7.3.0.
Use libftdi1 unconditionally.
Try to convice github travis to use libftdi1.
Remove unportable "uint ". Thanks to jacereda for pointing out in #400 .
2019-01-07 15:31:57 +01:00
Benjamin Vernoux
771d81a5f0
Fix link for windows_dfu_util
2018-10-03 15:20:09 -07:00
Uwe Bonnes
d8b01ff61f
swlink: Enable UART2 for SWO.
...
Stlink on STM8S-Disco needs additional wiring for SWO.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
7cafc44bd9
swlink: Allow to enable debug on second VCOM.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
0d246fb31a
swlink: Measure voltage on VDD pin of Stlink/Stm8s.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
184ef991bf
swlink: Handle LED.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
06272e0a59
swlink: Implement dfu_upgrade.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
530d1e5c28
swlink: Handle force boot on bluepill.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
b744d8b0c9
swlink: Implement NRST.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
1263d185a6
swlink: Distinguish between Stlink on STM8-Disco and "blue pill".
2018-10-03 15:19:33 -07:00
Rik van der Heijden
95053b3b4e
Change the ST-Link SRST function to use libopencm3 helper functions and fix waiting for the pin-state, change init to use the SRST function for reset de-assertion
2018-09-05 20:28:02 +02:00
Uwe Bonnes
7a7266a0f7
Speed up JTAG.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
59e03dea27
Keep TMS floating until scanning.
...
NRF5x shares nRST with SWDIO and otherwise does not run until scan is done.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
97561fc5cc
stlink: Decrease delay with SWD turn around for native,stlink and swlink.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
5548d54626
common/swdptap: some clean up.
...
Remove superfluous transaction.
Use native variable size.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
7e3fe352ad
adiv5_swdp.c: Use swdptap_seq_out for initialiation sequence.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
e54a826745
common/swdptap.c: Speed up by "unrolling" swd.._seq_...() for GPIO.
...
Try to have sensible setup/hold times by evenntually duplicated or
logically useless port commands.
Loading code to RAM on a STM32L476 got up from 46 to 83 kB/sec.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
633af5bb85
libftdi/jtagtap.c: Fix error introduced with commit de33473
...
Seen when scanning e.g. Zync with mon jtag 6 4.
2018-06-26 17:43:06 +02:00
Uwe Bonnes
2657aa6fbb
libftdi: Allow more flexible Swd Read/Write Switching.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
df05d7ce7b
libftdi: Allow device specific port/pin to read SWD bitbanged.
...
Gracefully abort swd scan if devices can not do SWD.
Best effort to indicated SWD capability on existing cables and
add descriptions for the cables.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
fce25b9fd5
libftdi/swdptap.c: Substantial speed increase for bitbanging SWD.
...
Provide the swd sequences unrolled.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
992ccf91a9
libftdi/swdptap.c: Use MPSSE Mode for bitbanging SWD.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
2ec078cfcf
libftdi/jtagtap.c: Allow NULL as one DI/DO argument jtagtap_tdi_tdo_seq.
...
Implement jtagtap_tdi_seq() by calling jtagtap_tdi_tdo_seq().
2018-05-30 19:21:03 +02:00
Uwe Bonnes
de33473535
libftdi/jtagtap: Copy DI direct into the write buffer.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
aa938c6dae
libftdi/jtagtap: Try harder to initialize Ftdi MPSSE jtag mode.
...
After "mon s" at least the second "mon j" now succeeds again.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
c548e307fe
libftdi/jtagtap: Clean up code.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
7d45bd4869
ibftdi/jtagtap: Remove magic numbers.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
6f0a46d9c1
libftdi: Export active cable description.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
68c7180376
libftdi: Add ftdiswd variant.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
f4bc6f9ddd
libftdi/platform.c: Issue SEND_IMMEDIATE before reading.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
744deb678d
libftdi/platform.c: Only set bit direction with MPSSE SET_BIT_XXXX.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
6127a6431e
stlink: Check nRST line level when setting SRST.
...
Problem: On some boards flashing hanged.
Cause: Releasing SRST caused a slow rise of nRST and flashing
started while the target still was in reset.
Attention: platform_delay(ms) only resolved 0.1 s.
Nucleo-P boards have SRST unconnected to target nRST by default.
2018-04-23 10:48:05 +12:00
Uwe Bonnes
72c1498ae1
stlink: Make SWO Trace Buffer smaller.
...
Changes for delayed memory map setup otherwise overflow SRAM silently.
2018-04-23 10:48:05 +12:00
Uwe Bonnes
fc25a3339a
traceswoasync: Implement async swo for stm32.
...
Use for stlink.
Uses dma with large buffer.
Pull up swo to provide idle level on unconnected swo pin.
2018-03-27 13:40:49 +02:00
Uwe Bonnes
93bc3a155a
traceswo: Provide command option for async swo.
2018-03-27 13:40:49 +02:00
Uwe Bonnes
3e3e450408
cdcacm.c: Use less buffer for the usb_uart buffers and reallocate.
...
With 128 bytes for both usb_uart buffers, traceswo gives errors!
Keep the size for the receive buffer and diminisch the transmit buffer,
as there is no flow control to the device.
Probably related to https://github.com/libopencm3/libopencm3/issues/477
2018-03-27 13:40:49 +02:00
Adam Heinrich
f5cac4c78d
platforms/stm32: Ignore noise errors on USBUART
2018-01-13 21:11:17 +01:00
Gareth McMullin
9a5b31c37b
Fix fallthrough warnings on gcc 7
2017-10-09 11:07:29 +13:00
Gareth McMullin
f27f3bad5c
libftdi: Fix tdi_tdo_seq result unpacking
2017-10-05 08:26:33 +13:00
Gareth McMullin
0ed66547d5
Fix libopencm3 breakage
2017-09-25 11:17:03 +13:00
Uwe Bonnes
4966168802
s[t|w]link: Implement ENABLE_DEBUG.
2017-09-23 16:40:28 +02:00
Uwe Bonnes
ce1ef6e41b
stm32: Move rdi handling to common stm32 code.
2017-09-23 16:39:35 +02:00
Uwe Bonnes
203f6702d8
Flashsize_F103: Options for BMP on STM32F103C8 devices
2017-09-21 23:05:20 +02:00
Uwe Bonnes
963df9febc
stlink: Use common initialization and detect V2.1 boards.
...
Factor out hardware revision detection, USB detach and power settings, as
all three program (bootloader, bmp and dfu-upgrade) need it.
2017-09-21 18:43:06 +02:00
Gareth McMullin
2eb2f8edd7
Use vector_table symbol for assignment of SCB_VTOR.
2017-06-09 13:07:06 +12:00
Uwe Bonnes
a7771fa23f
stlink/swlink: Remove missleading comments.
2017-06-08 18:25:43 +02:00