Commit Graph

1242 Commits

Author SHA1 Message Date
Uwe Bonnes 4ba6afed28 Add jlink pc-hosted platform. 2020-06-05 14:59:30 +02:00
Uwe Bonnes efce2ae892 Do not compile jtagtap and swdptap when not needed. 2020-06-05 14:59:30 +02:00
Uwe Bonnes da45281696 GetTargetVoltage: Print info about voltage only when info is relevant. 2020-06-05 14:59:30 +02:00
Uwe Bonnes ef816e3183 hosted: add libftdi implementation, remove old implementation. 2020-06-05 14:59:30 +02:00
Uwe Bonnes ab7991c3a6 hosted: Add bmp_remote, remove old pc-hosted platform. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 13c3c934d2 Hosted: Add Stlink, remove old pc-stlinkv2 platform 2020-06-05 14:59:30 +02:00
Uwe Bonnes 09602a9e74 serial_unix: Simplify timeout setting. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 8fea3f6baa pc/serial_xx: Change arguments for the open call. 2020-06-05 14:59:30 +02:00
Uwe Bonnes a09104c281 Build firmware executables as *.elf file 2020-06-05 14:59:30 +02:00
Uwe Bonnes dd022fcb44 platforms/pc: Add common usb utilities. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 52739def01 Copy relevant stlink files. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 386a4bfce7 hosted: Device detection and selection. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 3290def5f8 Add empty compilable project. 2020-06-05 14:59:30 +02:00
Uwe Bonnes c3d509e6c0 Clean up PLATFORM_HAS_DEBUG
Use only for firmware platforms.
2020-06-05 14:59:30 +02:00
Uwe Bonnes 9a46c6fd25 Allow BOARD_IDENT as function 2020-06-05 14:59:30 +02:00
Uwe Bonnes 563df2d354 Detour ADIv5 high-level functions. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 9969c984f3 detour jtag primitives. 2020-06-05 14:59:30 +02:00
Uwe Bonnes e34a27f72c Detour swd primitives. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 1e10b96b03 Allow multiple scan routines. 2020-06-05 14:59:30 +02:00
Uwe Bonnes b0cf7d24bd adiv5.c: Fix another leak. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 783ec377d9 adiv5: Export extract. 2020-06-05 14:59:30 +02:00
Uwe Bonnes eee16cf08a platforms/tm4c/jtagtap.c: Remove unreferenced and incomplete file. 2020-06-05 14:59:30 +02:00
Uwe Bonnes f3790b90e5 command.c: Simplify usage of serial_no serial number string. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 966ac4036d target.c: Check for valid flash structure. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 60f39f55b4 MSP432: Warn when hardware version not supported. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 7956fbc361 cl-utils: Print memory map when test is specified. 2020-06-05 14:59:30 +02:00
Uwe Bonnes b5182e09d0 cl_utils: When reading from flash to file, truncate the file. 2020-06-05 14:59:30 +02:00
Uwe Bonnes 8db979798c cl_utils.c: Report read/write speed. 2020-06-05 14:59:30 +02:00
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