Uwe Bonnes
c5d0902d4c
cl_utils: Fix memory leak.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
815e09bb1b
cl-utils: Add more arguments
2020-06-05 14:59:30 +02:00
Uwe Bonnes
05adcd9bf5
remote.c: Compile only relevant functions.
...
Do no compile firmware functions when compiling pc-hosted.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
16967b4328
adiv5: Remove only local dp_idcode used from ADIv5_DP_t struct.
2020-06-05 14:59:30 +02:00
Uwe Bonnes
b8b34e7b1d
adiv5: remove cfg for AP structure, cfg is only used local.
2020-06-05 14:59:30 +02:00
Stoyan Shopov
34a13723d8
Decrease the control USB pipe size on f103 blackmagic probes to 8 bytes
...
Rationale:
In USB device mode, the f103 chip provides 512 bytes
of memory for USB traffic. In the 'master' branch
of the blackmagic probe, the control endpoint pipe size
is set to 64 bytes, effectively consuming a quarter
(1 'in' endpoint, 1 'out' endpoint == 2 endpoints,
2 /* endpoints */ x 64 /* bytes per endpoint */ == 128 bytes
out of 512 /* bytes of precious usb packet memory */).
The USB standard, for full speed devices, does allow
a control endpoint size of 8 bytes.
I am not too aware of all the details of the USB standard,
but the USB standard seems to allow fragmented transactions
on the control USB pipe (endpoint 0), which libopencm3
apparently supports:
libopencm3/lib/usb/usb_control.c:usb_control_send_chunk()
I am using this change (from 64, to 8 bytes)
on a windows 10 machine, on an stlink hardware
('PROBE_HOST=stlink'). It works on my machine.
This change can potentially provide other USB endpoints
in the blackmagic firmware with more memory
2020-06-05 13:58:08 +02:00
Dömötör Gulyás
69e330849d
fix flash map for STM32G431, as it is a special case different from the STM32G47x and STM32G48x chips
2020-06-05 13:41:18 +02:00
Thomas Bénéteau
f9f928e9d6
Add support for LPC8N04
2020-06-05 12:33:51 +02:00
Mark Rages
34c0d5a1c9
When timeout is 0, `timeout_is_expired()` should return immediately.
2020-06-05 12:33:24 +02:00
Koen De Vleeschauwer
6eb1b09c1c
pc-hosted semihosting
2020-05-27 12:51:29 +02:00
Koen De Vleeschauwer
541861e978
traceswo decoding
2020-05-16 15:04:35 +02:00
Koen De Vleeschauwer
54ee00b0f6
set semihosting sys_clock time origin
2020-05-13 17:50:39 +02:00
Uwe Bonnes
499309f648
stm32f1: Tell user about STM32F10(3) clone.
2020-05-13 13:07:55 +02:00
Alexey Shvetsov
1a83bc6892
Rename variant_string in efm32 samd samx5x ( #659 )
...
* Rename variant_string
Files efm32 samd samx5x uses same function name that collides during
linking (checked with gcc10)
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
* Also make xxx_variant_string static
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
2020-05-12 17:47:04 +02:00
Alexey 'Alexxy' Shvetsov
805464db23
Fix redefinition of io function
...
Now it should work fine with any gcc version. Old one produces error
like in #657
Signed-off-by: Alexey 'Alexxy' Shvetsov <alexxyum@gmail.com>
2020-05-10 10:58:03 +02:00
Uwe Bonnes
9b939f4a3a
stm32f4: Fix option byte handling ( #654 )
...
Option bytes are not accessible with level 1 protection, so
Use FLASH_OPTCR(x)
Fix crash with "mon opt write xxxx"
Handle option manipulation better when HW Watchdog fuse is set
Allow abbreviated "mon option x<yyy>" commands
2020-05-05 12:52:32 +02:00
Sid Price
923949d5dd
Fixed variable/function name clash building on Windows
2020-05-03 15:45:31 +02:00
Koen De Vleeschauwer
9f8c7be360
semihosting
2020-05-02 12:55:29 +02:00
Vegard Storheil Eriksen
d63e870e82
cdcacm: Fix UART interface OUT endpoint MPS in descriptor.
...
3e3e450
reduced the buffer size for the UART interface OUT endpoint to
32B, but left wMaxPacketSize at 64B. This effectively configures the
hardware to receive packets up to 32B in size while telling the host it
can send larger packets. On reception of a larger packet, the usb core
treats it as an error, drops the packet and replies with a STALL
handshake.
This commit fixes the issue by updating the descriptor to match the
buffer configuration.
Fixes #538
2020-05-01 12:39:40 +02:00
Uwe Bonnes
08bb4d5775
pc-hosted: Make JTAG work.
2020-04-27 20:30:51 +02:00
Koen De Vleeschauwer
8851504a41
new semihosting commands
2020-04-23 09:43:46 +02:00
Uwe Bonnes
ada17ada23
stm32f4/7: Always use largest flashsize for device family ( #633 , #635 , #644 )
...
Do not care for the FLASHSIZE register. Leave it up to the user to abuse
flash area the ST did not announce.
2020-04-21 17:04:07 +02:00
Uwe Bonnes
164eb43f00
NRF5: Do not reset target options.
2020-04-14 19:01:43 +02:00
Uwe Bonnes
bea8436561
NRF5: Always set CORTEXM_TOPT_INHIBIT_SRST( #230 )
...
The problem also happens with NRF52840. Set CORTEXM_TOPT_INHIBIT_SRST
for all NRF5 device.
People should be more persistent!
2020-04-14 18:11:23 +02:00
mean
d1468530bd
add basic support for LPC11U68 (and maybe LPC11U68)
2020-04-06 23:36:49 +02:00
Francesco Valla
846dadcc39
lmi: add support for TM4C1294NCPDT
2020-04-03 19:42:24 +02:00
Uwe Bonnes
58a8571d5b
stlink: Print Target voltage
...
This adds about 600 bytes.
2020-04-03 16:19:20 +02:00
Francesco Valla
8a9980cd06
pc/serial_unix: bump device path buffer size to 4096 bytes
...
Since dp->d_name can be up to 255 bytes long and the 'name' buffer variable is
is a superset of it, bump the size of the latter to 4096 bytes (correspoding
to PATH_MAX on Linux systems).
2020-04-03 11:05:11 +02:00
Uwe Bonnes
b4ab9f328e
pc-hosted: Put serial handling in own files for unix and implement for windows.
...
- If host provided /dev/serial/by-id, device must not be given and
multiple devices may be selected with -s <(partial) serial number>
- On windows, device must by specifies with -d
2020-03-31 17:02:56 +02:00
Uwe Bonnes
18ae2bb50d
cl_utils.c: Include <windows.h> for windows builds that work on files.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
1a0cee4e9d
pc-hosted: Clean up Makefile.inc.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
bd73adf9c7
bmp/pc platforms: Deduplicate code.
2020-03-31 17:02:56 +02:00
Uwe Bonnes
9ca401497c
stm32/timing_stm32.c: Remove fixed constants and direct SCB access
2020-03-31 16:54:04 +02:00
Uwe Bonnes
c4d7232223
Export function to read out PIDR and use for samd and samx5x.
2020-03-26 19:05:57 +01:00
Uwe Bonnes
a0e42e229b
Make more things static.
...
No functional change intendend.
2020-03-26 18:44:19 +01:00
Uwe Bonnes
eca3a8dd8f
pc-stlinkv2: Make stlink_usb_get_rw_status static and allow to suppress errors
...
This helps to not overflow the console.
2020-03-26 17:56:12 +01:00
Uwe Bonnes
91d7656d86
stlink/bootloader: Really allow to detach.
...
- To reenumerate, rcc_periph_reset_pulse(RST_USB) seems enough.
- Document bootloader entry and exit behaviour of ST-LINK V2
- Document bootloader entry on ST-LINK V2-1
2020-03-26 17:15:32 +01:00
Uwe Bonnes
890b494290
pc-stlinkv2: Update README.md
2020-03-26 12:21:22 +01:00
Uwe Bonnes
effd43ce38
Harden cortexm_reset() and remove double reset( #601 )
...
Thanks to Dave Marples <dave@marples.net> for input.
- Issue only one reset. Start with SRST. Only if not seen, use SYSRESETREQ
- Wait for release of DHCSR_S_RESET_ST before issuing more commands
- Add timeout to catch reset line stuck low
- Remove AP errors
2020-03-25 11:22:14 +01:00
Uwe Bonnes
2e185ba578
BMP/PC: Allow to compile with mingw64 ( #615 )
...
__USE_MINGW_ANSI_STDIO 1 must be set befor any windows specific included.
2020-03-24 17:59:13 +01:00
Uwe Bonnes
2b76ec0ea3
dfucore: Reject erase outside the allowed range
...
An illegal erase request may get emitted as the DFU program may erase
first. Checking before flashing is not enough.
2020-03-22 16:38:54 +01:00
Uwe Bonnes
a7efe7cc14
cl-utils: Display targets found.
...
+ other small changes in DEBUG output.
2020-03-10 17:34:30 +01:00
Uwe Bonnes
65cb886bb6
Export connect_under_reset.
2020-03-10 11:44:53 +01:00
Uwe Bonnes
2065c70888
adiv5: Split PRIx64 into two PRIx32 as nanolib does not support PRIx64.
2020-03-10 10:56:42 +01:00
Uwe Bonnes
75186f7d50
ADIv5: More CoreSight device decoding:
...
- MTB-M0+ (Simple Execution Trace)
- M33: Devices need finer decoding (DEVTYPE at offset 0xfcc)
2020-03-08 22:37:59 +01:00
Uwe Bonnes
c7e7bd61b6
stlink: Do not wait for the reaction on the reset line.
...
pc-hosted will abort, if the reset line is held externally to some value.
As assert is either driven or driven open drain, we can assume assert
immediate. For deassert, logic levels differences between the debugger and
the debuggee may apply and other ways to check the result are needed, like
CORTEXM_DHCSR_S_RESET_ST.
2020-03-08 16:27:03 +01:00
Uwe Bonnes
e48d9ebc92
cl_utils: Allow to connect under reset.
2020-03-06 23:15:56 +01:00
Uwe Bonnes
919d9320fd
Remove unrelated files.
2020-03-06 19:33:20 +01:00
Uwe Bonnes
05dc2e239e
pc-hosted: Disable TPWR when blackmagic command line interaction terminates.
2020-03-06 17:16:33 +01:00
Extreme kefir
c94a03af48
STM32F1 High density devices DFU support( #587 )
2020-03-05 19:58:55 +01:00
Uwe Bonnes
288620551f
adiv5: Print out SYSROM PIDR.
...
We need to know more about what devices indicate proper PIDR and what
devices fail to do so.
2020-03-04 19:02:07 +01:00
Uwe Bonnes
8c959defca
efm32: Make local functions static.
2020-03-04 18:44:40 +01:00
Uwe Bonnes
13b9fe1efc
cl_utils: There is no need for a (dummy) target controller.
...
Fix for #593 .
2020-03-04 16:57:05 +01:00
Uwe Bonnes
03d84d0d5c
command line tools: Allow to set power.
2020-02-20 12:12:26 +01:00
zvova7890
7a595ead25
fixup F103x8 flash size before build dfu iface string
...
we handle F103x8 as F103xB with 128k flash
2020-01-22 16:01:39 +01:00
Uwe Bonnes
45fb12f9b6
cl-utils: Care for -j (JTAG) argument in test mode.
2020-01-21 11:49:45 +01:00
Sid Price
1a1cabc90b
Remove explicit include of rcc.h and allow common file to steer the right file
...
Clean up DFU files with MCU explicit includes
2020-01-14 00:09:20 +01:00
Ondrej Mikle
2137e775a4
stlink: update docs on how ti reflash BMP back to STLink original firmware ( #572 )
...
* stlink: update docs on how ti reflash BMP back to STLink original firmware
* stlink: specify v2 in docs on reflashing back
2020-01-11 16:52:22 +01:00
Sid Price
ee553c9a50
Corrected error checking for socket functions ( #577 )
2020-01-11 16:47:02 +01:00
Uwe Bonnes
c3a3f7737f
Hosted: Allow command line interaction.
2019-12-13 14:59:42 +01:00
Uwe Bonnes
ee316431f5
stlink for st-bootloader: Reset with platform_request_boot()
...
Both V2 and V21 switch to (ST) bootloader with powered reset.
2019-12-13 14:59:42 +01:00
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
1bef51e145
adiv5: Abort scanning APs after 8 void APs.
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
Uwe Bonnes
bdd76de517
Erase: Fix endless erase when erase-area did not end on (page|block) boarder.
2019-12-08 16:43:19 +01:00
Uwe Bonnes
25d24e5c34
efm32: Allow to compile with -Og.
2019-12-08 16:43:19 +01:00
Richard Meadows
5943552a6b
[efm32] Probe for the EFM32 Authentication Access Port (AAP)
...
Supported functionality through this AP:
* Issuing a DEVICEERASE command
2019-12-08 16:21:02 +01:00
Richard Meadows
260fc88d8f
[efm32] Add command to set and print bootloader enable status
...
This is a bit in the Lock Bit (LB) flash page, so it can only be
cleared by this routine
2019-12-08 16:17:02 +01:00
Richard Meadows
7f0d5febc3
[efm32] Print MSC Interrupt Flags to DEBUG after each flash write
2019-12-08 16:16:55 +01:00
Richard Meadows
e85df763b7
[efm32] add new devices PG12B, JG12B, GG11B, TG11B, GG12B
...
Rework MSC layout check
2019-12-08 15:55:12 +01:00
UweBonnes
f89542c79f
Merge pull request #203 from dlaw/master
...
Add LPC11xx command to read out unique ID from target. Restore Ram and registers after call.
2019-12-08 15:45:49 +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
Artur Maciuszonek
8a07f44435
Add support for the kinetis KL16Zxx devices. Tested on KL16Z128VFM4 custom hardware
2019-11-21 20:37:13 +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
e7e34600a4
lpc11: Only print Idcode if not zero and not yet handled.
...
Otherwise for all Cortex-M not yet handled this LPC messages appears.
2019-11-17 13:24:39 +01:00
Ken Healy
9198c951bb
Reduce flash space required for SAM D51/E5x driver
...
* Reuse functions that are common with the SAM D1x/D2x driver
* Only include the mbist and write8/16/32 user commands if
SAMX5X_EXTRA_CMDS is defined
2019-11-17 12:45:49 +01:00
Ken Healy
d3c330ea1a
Fix issues with Travis CI build
...
It appears the Travis version of gcc-arm-none-eabi doesn't allow the %x
printf format specifier for size_t arguments, in contrast with the
version I'm running on Ubuntu 18.04 (15:6.3.1+svn253039-1build1).
2019-11-17 12:45:49 +01:00
Ken Healy
26216beaab
Microchip SAM D51 / E5x support
...
Adds a target driver for Microchip SAM D51 / E5x family.
Tested on SAMD51G19A and SAMD51J19A. According to the datasheet, the
D51 / E5x family share the same core feature set, differing only in the
addition of CAN (E51) or ethernet controllers (E53/54). All members of
the family should be equivalent from a debug and programming perspective.
2019-11-17 12:45:49 +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
Kirill Zhumarin
28f0ced97e
Support NXP LPC1343
2019-11-09 18:47:07 +01:00
dpslwk
67f9d26644
samd: Add support for L21 & L22 (PR #345 )
2019-11-09 13:59:37 +01:00
Uwe Bonnes
04d9749f25
Makefile: Publish DFU binaries with the daily build. ( #549 )
...
Fixes #548 .
2019-10-28 16:37:41 +01:00
Uwe Bonnes
76f9a6ad42
stm32: Portability changes.
2019-10-20 22:20:06 +02:00
Uwe Bonnes
b9249fe104
adiv5: Activate DP reset sequence, guarded with timeouts.
...
While not working on most STM32, it succeeds on STM32G474.
Thanks to Dave Marples <dave@marples.net>
2019-10-20 22:15:28 +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
Roland Ruckerbauer
58febdff79
Fixed tokenization of gdb monitor commands.
2019-10-19 13:25: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
Thomas Bénéteau
4a8cba0e9c
Add support for LPC1114/333 (LPC1100XL series)
...
This is not given in the user manual but the register immediately
following DEVICE_ID does apparently contain the correct part ID.
2019-10-13 13:01:19 +02:00
Ken Healy
5c805c7d35
Fix buffer overflow in adiv5_component_probe()
2019-10-12 11:44:08 +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
0ae7cea1ae
Add LPC84 from UM11029, Rev. 1.4, tested on LPC845 Breakout board.
2019-10-08 18:17:43 +02:00
Uwe Bonnes
12a2659671
pc-stlinkv2: StlinkV3 seems only to work with STM devices,
2019-09-29 16:48:42 +02:00