James Turton
e702afad69
rp: Clean up code a little bit
2022-06-24 20:44:00 -04:00
James Turton
e67cb9f43c
rp: Update rp_get_flash_length algorithm
...
Try to look for repeating sectors before reverting to reading the
JEDEC ID of the flash chip. This way we don't interrupt the flash
execution if a valid program is running, but can detect the flash
size if the flash memory has been erased.
2022-06-24 20:44:00 -04:00
James Turton
f2cb13cf36
rp: Add rp_attach and rp_detach callbacks
...
Query JEDEC ID of flash chip on attach to be able to decode flash
chip size.
2022-06-24 20:44:00 -04:00
James Turton
354e37fbad
rp: Tidy up some other things
2022-06-24 20:44:00 -04:00
James Turton
ce273889fc
rp: Refector rp_flash_write
...
Fix typo in debug message
2022-06-24 20:44:00 -04:00
James Turton
f4261c465e
rp: Refactor rp_flash_erase
...
Always align erase length to 4k sector size.
Check that start address and length are actually inside the flash.
2022-06-24 20:44:00 -04:00
Rafael Silva
dd571467b5
target/sam: slight gpnvm command usage correctness
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-24 20:19:47 -04:00
dragonmux
d85e9fb7a2
hosted: Un-marked hid.c as exectuable as it can't be
2022-06-15 12:56:33 -04:00
dragonmux
14d7286db1
stlink: Added a little extra whitespace to help the readability of the platform header
2022-06-15 12:56:24 -04:00
SId Price
7160bb987b
Fixup preprocessor definition
...
Suggested by @DragonMux
2022-06-14 13:45:51 -04:00
Jonathan Giles
9f4d50a018
Change from tty.usb* to cu.usb* for more consistent behavior on OSX
2022-06-13 15:25:23 -07:00
dragonmux
b4c81f6302
platforms/f072: moved the linker script and fixed the build system
2022-06-12 17:10:32 -07:00
dragonmux
3e6bd6cdf2
platforms/f072: updated the platform definition
2022-06-12 17:10:32 -07:00
Uwe Bonnes
20e09abed2
platforms/f072: Introduced a new platform for the SMT32F072
...
F0 needs separation of DMA Interrupts, show problems with 128 Byte USART/DMA
buffers, perhaps caused by the st_usbfs_v2_usb_driver and has no
scb_reset_core.
2022-06-12 17:10:32 -07:00
dragonmux
fafe38ba19
hosted/cmsis-dap: Various CMSIS-DAP implementation correctness improvements
2022-06-12 16:35:15 -07:00
Mikaela Szekely
db4b568e52
Fix compatibility with dash as /bin/sh.
...
Ubuntu's default /bin/sh is dash, which does not support the `&>`
redirection syntax. This commit moves version.h generation back into the
Makefile, as 8afaedd
had it, but restores compatibility with
GNU Make < 4.0, which 8afaedd
, broke. This also fixes building on macOS,
as macOS bundles GNU Make 3.81.
2022-06-12 16:31:00 -07:00
dragonmux
7180a5b9a2
hosted: Fixed issues finding and linking HIDAPI on MacOS
2022-06-12 16:31:00 -07:00
dragonmux
7846112a7b
misc: Updated the build system to use the new version header generator script, fixing #1043
2022-06-12 16:31:00 -07:00
dragonmux
9a0e4b4f23
stm32/serialno: Cleaned up the inconsistencies in how DESIG_UNIQUE_ID_BASE is used in the serialno code
2022-06-12 16:18:39 -07:00
dragonmux
5a9131dcb2
stm32/serialno: Fixed a couple of mistakes made in the cleanup and attempted a different way to quiet the errant GCC warning
2022-06-12 16:18:39 -07:00
dragonmux
24ffef7175
stm32/serialno: Cleaned up the serial number handling code which is tripping GCC 11 up due to a compiler regression
2022-06-12 16:18:39 -07:00
dragonmux
1a316c5a2f
platforms/f3: moved the linker script and fixed the build system
...
We need build the right libopencm3 library which is not done by default, so this adds an extra build step for it
2022-06-12 15:58:11 -07:00
dragonmux
ef5cfd829f
platforms/f3: updated the platform definition
2022-06-12 15:58:11 -07:00
Uwe Bonnes
55a3132d1c
platforms/f3: Introduced a new platform for the STM32F3 series
2022-06-12 15:58:11 -07:00
James Turton
af48a343a8
rp: Add description for SPI flash commands
2022-06-11 11:54:34 -04:00
James Turton
b43b9a6545
rp: Add erase_sector to command list
...
The command can be used either by specifying the length only, or
the start address and the length like so:
monitor erase_sector <length>
monitor erase_sector <start_addr> <length>
If no start address is specified, it will begin erasing from the
start of the flash sector.
2022-06-11 11:54:34 -04:00
James Turton
53672f1fc3
rp: Remove CHIP_ERASE command from rp_flash_erase
...
There seems to be a bug in the bootrom for the rp2040 which means
that the chip erase command is not accepted. This is because the
CS pin must be released (set high) directly after sending the chip
erase command (0x60 or 0xC7) (see Winbond W25Q128JV datasheet for
details). Instead the bootrom sends the address after the command,
thus the SPI flash silently ignores the command. Instead, we must
erase each 64KB block one at a time, but thankfull the bootrom
handles this correctly for us.
2022-06-11 11:54:34 -04:00
James Turton
b1694dfab9
rp: Always use maximum flash size (16MB) when defining flash region
...
There are some cases when the this old method for finding the flash
size will fail, such as if the flash chip has been erased with 0xFF
bytes (rather than blank 0x00 bytes). As this is unreliable,
setting the wrong flash size could cause problems when trying to
inspect memory regions which appear to be out of range.
2022-06-11 11:54:34 -04:00
James Turton
203c5149e7
rp: Add CORTEXM_TOPT_INHIBIT_SRST to target_options
2022-06-11 11:54:34 -04:00
James Turton
4ec68023af
cortex-a: Fix compiling for native probe
2022-06-09 04:13:12 -04:00
dragonmux
483e51dce1
hosted/bmp_libusb: Further cleanup to the main bmp_ident string
2022-06-04 18:49:02 -07:00
dragonmux
19c2e56f13
hosted/cli: Cleaned up the information print out code so we only make one call for the whole thing
2022-06-04 18:49:02 -07:00
dragonmux
af0d597fb0
hosted/bmp_libusb: Cleaned up the bmp_ident code further
2022-06-04 18:49:02 -07:00
dragonmux
958a6d1a20
hosted: Switched the `bmp_ident` output and printing method from stderr to stdout
2022-06-04 18:49:02 -07:00
dragonmux
74d6c676bb
hosted: Rewrote the main usage help text
...
Rewritten with better descriptions of what options do,
cleaner option groupings and infomraation on option mutual exclusivity
2022-06-04 18:49:02 -07:00
Piotr Esden-Tempski
3ccb0af21c
blackpillv2: Renamed blackpill to blackpillv2 to prevent ambiguity.
...
There is also such a thing as blackpill, that uses stm32f1 instead of
stm32f4. At some point we might get support for the original blackpill
and it will force us to change the name then.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski
e8fc418f47
blackpill: Added missing newline at the end of the platform.c file.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski
d55bfd8948
Added BlackPillV2 platform.
...
This was extracted from f4 platform to allow for easier build testing of
supported platforms.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski
fcdd93e008
Removed BlackPillV2 platform variant from the f4 discovery.
...
Combined platforms make it hard to do build testing, it is better to
have duplicate code and be able test all variants.
2022-06-04 01:31:27 -04:00
Piotr Esden-Tempski
2624960422
96b_carbon: Updated the IRQ priority comment.
2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski
1861ccd155
96b_carbon: Corrected the linker script.
2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski
d91112e0d6
96b_carbon: Updated so that it compiles in the current codebase.
2022-06-03 20:35:51 -07:00
Piotr Esden-Tempski
9730ae1429
build: Corrected the all_platform build target.
...
The target was building but not including the BMDA binary, as the
build system does not expect a binary that does not end with `.bin`.
Additionally this corrects the BMDA Makefile.inc that was missing the
`all` and `host_clean` targets.
2022-06-03 22:42:05 -04:00
Piotr Esden-Tempski
f97047b5f5
build: Added all_platforms target to toplevel Makefile
...
The src level all_platforms target now also checks for locm3 existence
as well as triggers build of the needed locm3 libraries.
2022-06-03 20:40:35 -04:00
cyber-murmel
6656284728
added RTS and DTR to UART interface
2022-06-03 18:22:08 -04:00
Mikaela Szekely
7dc01e96e8
Complete the version string migration from 5e3cade
, fixing HOSTED_BMP_ONLY
2022-06-03 14:42:18 -07:00
Dag Ågren
f6edb54395
Fix RP2040 memory sizes.
2022-06-01 11:41:58 -04:00
dragonmux
039bf14761
rtt: Cleanup and fixes for the RTT over serial support as per #954
2022-05-31 22:24:59 -04:00
dragonmux
2914be1a67
cortexa: Fix the new Watchpoint support causing a no-build
2022-05-31 22:03:21 -04:00
Gareth McMullin
0b7dd00c77
cortexa: Indicate watchpoint as stop reason if there is only one.
2022-05-31 21:58:51 -04:00
Gareth McMullin
b5ef9e5bcf
Implement watchpoints on Cortex-A
2022-05-31 21:58:51 -04:00
Rafael Silva
1aadcf2678
target/samx7x: handle tcm reconfiguration
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva
dcc450a494
target/sam3x: rework gpnvm command
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva
cf6ce32371
target: split mem_map_free into ram_map_free and flash_map_free
...
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-05-31 21:48:54 -04:00
Rafael Silva
8462f5e0d4
target/samx7x: handle tcm config on probe
...
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-05-31 21:48:54 -04:00
Rafael Silva
508b8d90cc
target/sam3x: name changes to reflect multiple supported families
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Rafael Silva
430d306511
target: add samx7x probe method
...
adds support for SAME70, SAMS70, SAMV71 and SAMV70
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-05-31 21:48:54 -04:00
Uwe Bonnes
233a83a702
hosted/ftdi: Add more adaptors - ESP-Prog, Tigard, Hifive1 and ARM-USB-TINY-H
2022-05-31 21:37:38 -04:00
Uwe Bonnes
d2ed681921
hosted/ftdi: Fix detect devices w/o genuine description but with given cable
2022-05-31 21:37:20 -04:00
Uwe Bonnes
c80f311cb4
pc/serial_unix: (hosted) Abort on unexpected problems.
2022-05-31 21:37:20 -04:00
dragonmux
2d4d6aa65a
ch32f1: Fixed the assumption that uint32_t is an `unsigned int`
2022-05-31 21:37:02 -04:00
dragonmux
94a0f1587d
ch32f1: Cleaned up some of the formatting
2022-05-31 21:37:02 -04:00
Jonas Jelten
8afaedda37
update include/version.h only when content changes
2022-05-31 21:36:25 -04:00
Koen De Vleeschauwer
0a0f5a9dd7
rtt
2022-05-31 21:15:41 -04:00
Daniel Thompson
738ac96e57
Add 96Boards Carbon as a probe host
...
The carbon contains two SoCs, an STM32 (host) and an nRF51 (BLE). The
STM32 implements the probe and allows the board to reprogram its own
radio firmware!
2022-05-31 20:59:17 -04:00
Piotr Esden-Tempski
5e3cadec20
Updated Copyright and Vendor strings to Black Magic Debug.
...
The project is not part of Black Sphere Technologies any more. It was
renamed to Black Magic Debug instead.
2022-05-30 15:09:55 -07:00
Piotr Esden-Tempski
84311b3888
docs: Corrected org in links to blackmagic-debug
2022-05-30 14:32:36 -07:00
dragonmux
29dc94c3d6
hosted: with mubes help, fixes some issues with how we talk CMSIS-DAP
2022-05-17 15:46:33 -07:00
dragonmux
c4869a5473
hosted/stlinkv2: Cleaned up the new error messages as they weren't outputting nicely
2022-04-16 18:22:14 -04:00
dragonmux
a27661cd0b
hosted/platform: Formatting consistency improvements
2022-04-16 18:22:14 -04:00
dragonmux
ba8ed132a8
hosted/stlinkv2: Fix !found causing hosted to continue on anyway, and improved the error reporting from the device finder loop
2022-04-16 18:22:14 -04:00
dragonmux
4287f1ba0e
hosted/stlinkv2: Rewrote the serial number readering logic to not violate the USB spec and properly handle libusb errors
2022-04-16 18:22:14 -04:00
dragonmux
94e9281404
hosted/bmp_libusb: Rewrote the string reader logic to not violate the USB spec and properly handle libusb errors
2022-04-16 18:22:14 -04:00
dragonmux
c7eba0a439
hosted/bmp_libusb: Fixed some signed/unsigned issues and UB in send_recv
2022-04-16 18:22:14 -04:00
dragonmux
c5dbf851f6
hosted/bmp_libusb: Formatting cleanup
2022-04-16 18:22:14 -04:00
Michal Moskal
6b465d6a77
Temporarily enable DBG clock in stm32g0_detach(); fixes #1003
2022-04-12 05:39:14 -04:00
mean
e535f53981
remove static vars
2022-04-10 23:40:44 -04:00
mean
844ca65a8f
cosmetic
2022-04-10 23:40:44 -04:00
mean
17dca6f791
tabify
2022-04-10 23:40:44 -04:00
mean
733cf12663
cleanup
2022-04-10 23:40:44 -04:00
mean
17d7dca9ae
build ch32 in its own file
2022-04-10 23:40:44 -04:00
mean
7c120ecb58
put ch32f1 in its own file
2022-04-10 23:40:44 -04:00
mean
04eb33e039
rename to comply to naming scheme
2022-04-10 23:40:44 -04:00
mean
e12939582c
revert function clones_probe
2022-04-10 23:40:44 -04:00
mean
83e3d9c135
disable verification
2022-04-10 23:40:44 -04:00
mean
a3feae60aa
cleanup tabs
2022-04-10 23:40:44 -04:00
mean
fb216a2a98
tabify
2022-04-10 23:40:44 -04:00
mean
9b23265dde
add support for ch32 flash write, it is a bit hackish
2022-04-10 23:40:44 -04:00
mean
90d15e6633
add probe for ch32 + make room for other clones
2022-04-10 23:40:44 -04:00
dragonmux
be83c2861e
gdb_packet: Formatting cleanup
2022-03-31 14:11:38 -04:00
dragonmux
e424859ecb
gdb_main: Formatting cleanup
2022-03-31 14:03:29 -04:00
dragonmux
804a1a4f43
stm32f4: Attach logic cleanup by making sure we only set the extra bits needed when writing DBGMCU_CR
2022-03-31 13:46:29 -04:00
Uwe Bonnes
eed1cc81ff
STM32F4: Move DBGMCU_handling to target specific code. Apply for F4 too.
2022-03-31 13:43:52 -04:00
Piotr Esden-Tempski
b59ca5142a
pc hosted: Don't try to report memory usage.
...
When building on a pc gcc does not have that parameter and clang fails
with an error. This caused a build regression on Mac.
2022-03-29 16:45:08 -07:00
dragonmux
a0c77e216d
adiv5_swdp: Changed the low-level access code to retry till timeout (partial revert of 61efe26
)
...
Proper initialisation of the ack value also fixes a potential use-before-init UB
2022-03-29 15:33:23 -07:00
dragonmux
d9ef3ff147
adiv5_swdp: Formatting consistency cleanup
2022-03-29 15:33:23 -07:00
dragonmux
bba2bfdcf4
advi5: Raise the access timeouts as 20ms is too low in some cases
2022-03-29 15:33:23 -07:00
mean
cedd9f9ac4
follow function naming scheme
2022-03-22 10:10:33 -04:00
mean
9007c40954
revert temp patch on platform.h
2022-03-22 10:10:33 -04:00
mean
8b52bbd9a9
fix unused var / naming
2022-03-22 10:10:33 -04:00
mean
b82ee6bc90
prototype for gdb_putpacket2
2022-03-22 10:10:33 -04:00
mean
8fb3b7b1a8
reuse exception to avoid using the stack
2022-03-22 10:10:33 -04:00
mean
82c41cb739
add putpacket2 to send two sub messages merged as one
2022-03-22 10:10:33 -04:00
Mike Ditto
48c6db1963
Remove duplicate definition of USBUSART_DMA_TX_ISR
2022-03-22 10:02:52 -04:00
Piotr Esden-Tempski
e82d4f2eda
native: Fixes an hw version issue with some older BMP.
...
The BMP with hardware version 4 and newer, use option bytes instead of
physical GPIO to encode the hardware version. In some older BMP there is
a chance that the user option byte is set to 255 (0x00FF pattern). This
can throw off the hardware version detection routine.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
bcba3ee4a9
native: Fixed hw6 USBUSART support.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
06f24d3269
native: Added blocks to the ISR templates.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
bb761e4b38
native: Initial addition of hw 6 support.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
2d63021344
native: Improved pinout legend comment block.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
e7982d594e
native: Added HW5 AUX interface definitions.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
655014ac9c
native: hw rev 5 has the usb vbus sense pin on PA15.
...
We had to move the pin to free up the SPI SCLK pin.
2022-03-15 23:45:32 -07:00
Piotr Esden-Tempski
9ffa923bc1
native: Update hwversion detection for hw rev 4 and newer.
...
The hw rev 4 and 5 both have the version stored in the Data1 user option
byte. This frees up the hw rev strapping pins for other uses, ie swtrace
decoding using USART1 RX, and additional peripherals on the SPI bus,
like bulk flash storage and displays.
2022-03-15 23:45:32 -07:00
Fabrice Prost-Boucle
488df7e6f7
sscanf cleanup in GDB Z packet handling function.
...
Tested working with arm-none-eabi-gcc 10.2.1
2022-03-15 13:18:00 -07:00
Piotr Esden-Tempski
e0619ca7d5
Added a linker flag to output memory usage.
2022-03-15 11:41:31 -07:00
dragonmux
4fe8fd8944
samd: Fixed the hosted build as the code from #987 assumed unsigned long was 32-bit
2022-03-14 21:38:45 -07:00
dragonmux
e271c16f6c
Removal of MFR descriptions as requested in #978
2022-03-14 21:37:44 -07:00
dragonmux
c30e165c1c
crc32: Fix the launchpad-icdi build as that was broken
2022-03-14 21:37:44 -07:00
dragonmux
3bb8c2bf19
jtag_scan: Cleaned up the ones array to use a more correct syntax
2022-03-14 21:37:44 -07:00
dragonmux
75e786da11
jtag_devs: Added a few more parts based on 0170aff and cleaned up the description wording for the existing ones
2022-03-14 21:37:44 -07:00
dragonmux
23534ab174
target: Cleanup in target_new() for the check_error callback
2022-03-14 21:37:44 -07:00
dragonmux
361dc9c234
Revert "adiv5_swdp_scan: If SWD scan fails, try a JTAG scan."
...
This reverts commit 3df692ecb2
.
2022-03-14 21:37:44 -07:00
dragonmux
54f577a970
hosted/dap: Partial revert of 5c8e277
, taking into account that division may not be available on platforms 'hosted' might see itself built
2022-03-14 21:37:44 -07:00
dragonmux
d1c9d94174
jtag_scan: Remove the now redundant IDCode parameter from the handlers
2022-03-14 21:37:44 -07:00
dragonmux
27c143a3a3
jtag_scan: Properly fixed the wrong IDCode getting to the handlers
2022-03-14 21:37:44 -07:00
dragonmux
7d2afcff06
Revert "jtag: Make jtag_devs argument to jtag_handler."
...
This reverts commit 6308506276
.
2022-03-14 21:37:44 -07:00
dragonmux
024152b03e
Revert "jtag_scan: Deliver full idcode to the handler."
...
This reverts commit 1845d71f00
.
2022-03-14 21:37:44 -07:00
dragonmux
02d9a1d3cf
Revert "jtag_scan: Rework chain detection"
...
This reverts commit 2d4a503135
.
2022-03-14 21:37:44 -07:00
arpadbuermen
4045406ed8
Added support for fine-grained bootloader and flash locking in samd.c
...
lock_flash and lock_bootprot currently support only locking the whole flash and locking the maximal leading flash chunk (32k).
An optional numerical parameter is added. It can be specified in decimal or 0x prefixed hexadecimal.
For samd21 'lock_bootprot 0' locks the first 32k of flash while 'lock_bootprot 6' locks the first 512 bytes. 'lock_bootprot 0' is equivalent to 'unlock_bootprot'.
Similarly, 'lock_flash <number>' locks the flash segments corresponding to zeros in the binary representation of the given number.
'lock_flash 0xffff' is equivalent to 'unlock_flash'.
If the optional parameter is not given both commands work as previously.
2022-03-14 00:26:31 -07:00
Uwe Bonnes
c1a12edbe9
kinetis: Clarify arguments to kl_gen_command
...
gcc11 chokes on the old setup
2022-03-13 19:48:38 -07:00
Nicolas Schodet
ca9d8cd0ae
scripts: fix dfu-convert.py for Python 3 and drop Python 2 support
2022-02-13 15:31:12 -08:00
Paul Mulders
ed156076a2
swlink README: correct SWO/RX2 header location for blue pill
2022-01-30 11:48:12 +01:00
Uwe Bonnes
6a9b2b8224
hosted/ftdi: Fix bad length calculation in MPSSE case of swdptap_seq_in()
2022-01-25 11:40:55 -05:00
Uwe Bonnes
266fe17461
bmp_libusb: Restrict scope of variable
2022-01-25 11:40:55 -05:00
Uwe Bonnes
e3804183f7
bmp_libusb: Fix crash with FTDI devices as outdated variable was used.
...
Triggered by 7b1eb6e6e3
.
2022-01-25 11:40:55 -05:00
Uwe Bonnes
b1ed55a18f
hosted/firmware/jtag: Fix unhandled exception introduced with da15cc3cb7
.
...
Write in endianess independant way.
2022-01-22 23:46:52 -08:00
Uwe Bonnes
d594b42976
Cortexm: With connect under reset, keep the device halted until attach.
2022-01-22 14:07:42 +01:00
Frank Kunz
8def28dee9
Add option bit support for STM32WLxx
...
Support for read/write/erase option bits.
Signed-off-by: Frank Kunz <mailinglists@kunz-im-inter.net>
2022-01-02 12:29:03 +01:00
Sean Cross
c832cb04e7
samd: add support for SAMD09
...
The SAMD09 CPU is used in boards such as the Adafruit Seesaw. It has a
smaller amount of memory and flash than other SAMD ports.
This was tested with an Adafruit Seesaw. These boards come with preloaded
firmware. As a test, the firmware was dumped and flash was erased. Then,
flash was verified to be all zeroes. Finally, the firmware was loaded
back in:
(gdb) p/x *(unsigned int *)0@32
$8 = {0x20000f88, 0x1db, 0x1d1, 0x1d9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d9, 0x0, 0x0, 0xf5, 0x1081, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x0, 0x1d9, 0x1d9, 0x25e9, 0x0,
0x0, 0x1d9, 0x1d9, 0x1d9}
(gdb) dump ihex memory flash.ihex 0 8192
(gdb) mon erase_mass
Erase successful!
(gdb) p/x *(unsigned int *)0@32
$9 = {0xffffffff <repeats 32 times>}
(gdb) load flash.ihex
Loading section .sec1, size 0x2000 lma 0x0
Start address 0x00000000, load size 8192
Transfer rate: 5 KB/sec, 910 bytes/write.
(gdb) p/x *(unsigned int *)0@32
$10 = {0x20000f88, 0x1db, 0x1d1, 0x1d9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1d9, 0x0, 0x0, 0xf5, 0x1081, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x1d9, 0x0, 0x1d9, 0x1d9, 0x25e9, 0x0,
0x0, 0x1d9, 0x1d9, 0x1d9}
(gdb)
Signed-off-by: Sean Cross <sean@xobs.io>
2021-12-29 15:25:51 +01:00
Sean Cross
d00607f71a
samd: parameterize memory and flash sizes
...
Various SAMD devices have different amounts of memory. Up until now, all
SAMD devices have had the same amount, and therefore this value was
hardcoded to 32k of RAM and 256k of flash.
Add a parameter to the description field and set it to default to the
previous values. Use this description field when adding memories to the
target definition.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-12-29 15:25:51 +01:00
Sean Cross
8039e2b26a
crc32: define `start_time` when debug is enabled
...
The variable `start_time` indicates when a CRC32 operation began. This
variable is used to benchmark the speed of the CRC32 function.
Currently, this is tied to `PC_HOSTED`. However, the actual usage is
tied to `DEBUG_WARN`. This means that the variable is undefined when
`DEBUG_WARN` is defined and we're not configured for `PC_HOSTED` mode.
Add macro guards around this variable so that it is defined when
debugging is enabled, rather than only when building on `PC_HOSTED`.
Signed-off-by: Sean Cross <sean@xobs.io>
2021-12-28 00:25:31 -08:00
Uwe Bonnes
3f28e728e9
cdcacm: Lower usage of magic numbers.
2021-12-18 21:44:18 -08:00
Uwe Bonnes
98e3858f7c
bmp_libusb: Exclude Wireless class too.
2021-11-23 20:54:59 +01:00
Koen De Vleeschauwer
bb4151377f
type of ‘assert’ defaults to ‘int’
2021-11-22 19:51:10 +01:00
Koen De Vleeschauwer
d4cd81fa36
start_time undeclared if ENABLE_DEBUG=1
2021-11-21 12:57:30 +01:00
Uwe Bonnes
73b4612ec7
adiv5_swdp: Initialize a volatile variable
...
GCC did not warn about possibly missing initialization and so for gdb target
was not recognized.
2021-11-20 22:38:35 +01:00
Uwe Bonnes
5cb501049a
adiv5_swdp/scan: Handle parity errors, seen with NRF52 with SYSTEMOFF #381/#949
2021-11-18 22:59:17 +01:00
fabalthazar
b4ac52d1f5
Hosted monitor command allowed as preliminary command
2021-11-15 21:20:38 +01:00
fabalthazar
71b67beb98
Fix: assert flashing succeeded or failed (hosted) once the last buffer has been written
2021-11-15 21:19:08 +01:00
fabalthazar
92d6056711
STM32G0 OTP area programming
2021-11-15 21:19:08 +01:00
Koen De Vleeschauwer
73624826b6
semihosting exit code
2021-11-14 12:03:33 +01:00
Uwe Bonnes
1d0e45bdbb
cmsis_dap: Transfersize of block commands needs to cope with word.
...
Checkme: Dragonprobe bulk hangs on transfers with 15 words.
2021-11-02 18:17:12 +01:00
Uwe Bonnes
8970160f1d
cmsis_dap: Timeout and start of error handling for bulk transfers.
2021-11-02 18:17:12 +01:00
Uwe Bonnes
2bc2db1140
cmsis_da: Add timeout to bulk commands.
2021-11-02 18:17:12 +01:00
Uwe Bonnes
a4caec29b9
dap_swdptap_seq_out: Write only needed data
...
Dragonprobe (origin/cmsisdap-fixes, 211031) hanged on additional byes in the
SWJ_Sequence request.
2021-11-02 18:17:03 +01:00
Uwe Bonnes
181466549b
adiv5: Progressive incrementing TRNCNT for the DHCSR write when trying to halt
...
Workaround for CMSIS-DAP/Bulk debugger orbtrace that returns NO_ACK
with high values of TRNCNT. Perhaps only STM32F767 needs write to DHCSR
with high occupancy to catch the device in a moment not sleeping.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
07b4e5726e
CMSIS-DAP: Run time detect DAP_SWD_SEQUENCE
...
Some dongles in the making like orbtrace may not yet support.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
88e44d1c12
cmsis: use exception in wait_word().
2021-10-31 12:55:41 +01:00
Uwe Bonnes
a1d4649795
SWD: Use dp_low_write to allow multidrop scan.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
4f36c1ddf8
Remove dp_low_read() and use exception protected dp_read()
2021-10-31 12:55:41 +01:00
Uwe Bonnes
f9d343af3e
cmsis: AP reads are posted. Read from RDBUFF.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
d4ae308f9f
cmsis: implement srst_set_val()
2021-10-31 12:55:41 +01:00
Uwe Bonnes
166eb3ee3e
cmsis_dap: Always transfer 65 bytes with hid_read|write()
...
CMSIS-DAP Dragonprobe works on some devices. E.g. it does not work
on NUCLEO-F103
2021-10-31 12:55:41 +01:00
Uwe Bonnes
b343ebe06f
cmsis-dap/linux: Link against libhidapi-hidraw
...
libhidapi-libusb detaches a kernel module but does not reattach again.
This may wrack interaction with other programs using hidapi.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
d144f9d54b
adiv5: CMSIS DAP transactions are slow but work in principle
...
Slowness results in strange STM32F767 DHCSR implementation to nearly never
halt in the given 2 second period when F767 is sleeping most of the time.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
761e0230d4
cmsis-dap: Print messages when transfers fail.
...
Expect signal integrity errors when using jumper cables. Often probes switch
the SWJ GPIO with highest speed, resulting in possible reflections. Additional
ground wires may help. If there is isolation between probe and targets,
additional ground wires are a must or ground shift will wrack the transfer!
2021-10-31 12:55:41 +01:00
Uwe Bonnes
39fbffd3d2
stlinkv2: Fix low access to AP registers.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
c13778139f
adiv5/hosted: Export the BMP_TYPE in DP.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
b7e7aa3f9a
adiv5: Either use only LL functions in cortexm_initial_halt or no LL at all.
...
Platform implementation may disturb ADIV5_AP_DRW and so low_read DHCSR may
give values other from registers
2021-10-31 12:55:41 +01:00
Uwe Bonnes
485105221e
dap: Always work on a copy of the buffer when calling dbg_dap_cmd() in a loop
...
A better solution would use seperate buffers for dbg_dap_cmd. But as WAIT is
already handled in DAP, cahnces are low that loop re-entry is needed.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
397fbd5749
cmsis: Only cmsis internal use must differentiate between HID and Bulk access
...
Missing DAP_SWD_SEQUENCE may eventually need a distinction visible from
outside later.
2021-10-31 12:55:41 +01:00
Uwe Bonnes
7b1eb6e6e3
bmp_libusb: reset type on every device.
2021-10-31 12:53:47 +01:00
Uwe Bonnes
80064c18a9
bmp_libusb: Fix CMSIS-DAP related memory leak.
2021-10-31 11:13:34 +01:00
Uwe Bonnes
8845a22226
stm32l4: Use targetid when available.
...
Fixes STM32U5 from crashing.
2021-10-31 11:13:34 +01:00
Uwe Bonnes
c4b6b42dcf
stlinkv2: Read targetid on DPv2 devices.
2021-10-31 11:13:34 +01:00
Uwe Bonnes
5dafc0828c
SWD: Remove excessive line resets.
2021-10-31 11:12:46 +01:00
Uwe Bonnes
e7e1bfdb53
mpsse: Fix using 60 MHz clock on fast devices.
2021-10-30 13:55:57 +02:00
Uwe Bonnes
99a5fdb6f8
bmp_remote: Better error propagation.
...
Negative values from platform_buffer_read are errors too!
2021-10-30 13:55:57 +02:00
Uwe Bonnes
f4117aa1b4
cdcacm: Use the USB strings.
2021-10-30 13:55:57 +02:00
Uwe Bonnes
f28f05952f
stlink: Add another STLINK-V3 ID.
2021-10-30 13:55:57 +02:00
SG
7307f086c6
Support for STM32WB55 ( #942 )
...
* add STM32WB55 support
2021-10-30 13:01:06 +02:00
Uwe Bonnes
e1a928beb1
Fixes to compile with gcc11 #925
...
Target code changes are pure for formal correctness and not tested!
2021-10-10 15:59:57 +02:00
fabalthazar
e2d3161442
Removed -S message as debugger selection option since it is used for reading bytes
2021-10-09 21:38:48 +02:00
fabalthazar
59282b6f66
Fixed typography
2021-10-09 21:18:52 +02:00
fabalthazar
7274f55ff4
Fixed return value of hosted blackmagic in erase mode
2021-10-09 21:17:58 +02:00
fabalthazar
3f54fba986
HOSTED_BMP_ONLY=0 by default on Linux.
...
The user is warned about missing dependencies.
2021-10-09 21:14:52 +02:00
Vegard Storheil Eriksen
7ccbdd98c0
hosted/dap: Copy command buffer in wait/retry loop.
...
The same buffer is used for both command and response, causing part of
the command to be overwritten before it’s retried. Solve this by saving
and restoring a copy of the command before retrying.
2021-10-05 23:21:07 +02:00
Jeff Lutgen
f69f29a660
f4discovery/blackpill: fix usbusart
2021-10-01 00:10:03 +02:00
Uwe Bonnes
b076d5cea1
stm32f1: Check if unlock failed and propagate error.
2021-09-22 21:41:43 +02:00
Uwe Bonnes
554e34517e
Better reporting when monitor command fails.
2021-09-22 21:41:43 +02:00
Uwe Bonnes
9e98cfa220
adiv5: Remove leftover debug output.
2021-09-22 21:41:43 +02:00
Thiadmer Riemersma
64f756d627
Test voltage on VREF before enabling target power (mon tpwr), to avoid potential power conflict.
2021-09-22 20:45:18 +02:00
Uwe Bonnes
356325f563
ftdi_bmp: Fix bit select.
2021-09-22 15:16:20 +02:00
Uwe Bonnes
79066c950f
bmp_libusb: Remove duplicated libusb_init.
...
Thanks to Red Liu for noticing
2021-09-22 15:16:20 +02:00
Uwe Bonnes
9ebc44bcea
Make more functions static.
2021-09-22 15:16:20 +02:00
Uwe Bonnes
db1f13db25
remote: Packets may be larger than 256 bytes.
2021-09-22 15:16:20 +02:00
Uwe Bonnes
88cce08ce4
hosted: Fix "monitor version"
2021-09-22 15:16:20 +02:00
Uwe Bonnes
da15cc3cb7
remote_jtagtap: Fix memory corruption in jtagtap_tdi_tdo_seq
2021-09-22 15:16:20 +02:00
Uwe Bonnes
a93e57e112
ftdi: Fixed wrong direction report in DEBUG.
2021-09-22 15:16:20 +02:00
Uwe Bonnes
9de69bb3ab
Adiv5/Initial halt: More fixes for dd28fa5743
. #925
...
Stlink does not like low level access and aborts with STLINK_SWD_DP_ERROR.
Either our implementation still has faults or stlink can not handle
MINDP devices with BMP/Firmware also seemm not to like low level access,
either du to some hidden error in BMP or by design
2021-09-22 15:16:20 +02:00
Uwe Bonnes
a9854e9b37
adiv5: Fix the MINDP case introduced with dd28fa5743
#925
2021-09-16 12:39:26 +02:00
Andy Makovec
01583560cd
hosted: Update Readme.md to use HOSTED_BMP_ONLY
2021-09-16 11:02:31 +02:00
dpc
f66caa0d29
add some more nxp s32k14x variants
...
the sdid bits correspond to s32k14x as well as s32k11x but i only have
access to the k14x variants so didn't bother w/ the k11x variants.
the memory/flash sizes also can come from the sdid bits, but the
splits still need to come from a lookup.
2021-09-13 23:01:05 +02:00
dpc
95288bcf75
fix a size format warning
2021-09-13 23:01:05 +02:00
Uwe Bonnes
e58b7d623b
crc32: Abort generic_crc32 with error from target_mem_read
...
Use larger chunks for hosted to speed up. Send pure NULL as line keep-alive.
2021-09-07 10:57:17 +02:00
Uwe Bonnes
ff79108f66
cl_utils: Increase worksize for increased speed.
...
H743 reads 2 MB in ~23 vs 27 seconds
2021-09-07 10:57:17 +02:00
Uwe Bonnes
a76a559656
pc/platform_delay: Wait ms and not us!
2021-09-07 10:57:17 +02:00
Uwe Bonnes
dd28fa5743
adiv5: Tighten up loop to initial halt cortexm
...
Use TRNCNT when available.
Now the F767 with the NutOS 300 ms sleep example with the one ms tick is
halted even in hosted after few ms.
2021-09-04 21:15:07 +02:00
Uwe Bonnes
a297c8c8ad
hosted/Makefile.inc: Use gcc to build hosted, if not advised otherwise
2021-09-04 21:15:07 +02:00
Uwe Bonnes
698cfeb1f4
bmp_serial: Nag MACOS programmer to implement find_debuggers!
2021-09-04 21:15:07 +02:00
Thiadmer Riemersma
35687018eb
Escape '*' in responses of the Remote Serial Protocol, to avoid that it is interpreted as the start of an RLE sequence
2021-08-31 15:44:17 +02:00
Uwe Bonnes
863a41daac
adiv5_swdp: Initialize initial_dp with the definition
2021-08-15 16:43:29 +02:00
Uwe Bonnes
49122b50b6
hosted: Make HOSTED_BMP_ONLY the default.
...
Hopefully more people will use it when reporting errors!
2021-08-15 16:43:29 +02:00
Uwe Bonnes
2fcd4a878a
ftdi_bmp.h: Fix error when compiling with HOSTED_BMP_ONLY=1
2021-08-15 16:43:29 +02:00
Uwe Bonnes
6308506276
jtag: Make jtag_devs argument to jtag_handler.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
6dff2a9f31
target: target_error_check now defaults to not indicate error.
...
Remove unneeded nop_function from efm32
2021-08-15 16:43:29 +02:00
Uwe Bonnes
f7670fcd44
ftdi_bmp: Add verbosity for libftdi_jtagtap_tdi_tdo_seq()
2021-08-15 16:43:29 +02:00
Uwe Bonnes
3df692ecb2
adiv5_swdp_scan: If SWD scan fails, try a JTAG scan.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
5c8e277663
hosted/dap: Fix tdi_tdo_seq.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
2d4a503135
jtag_scan: Rework chain detection
...
Fixme: stlinkv2/hosted probably does only handle STM devices. Check if
jtag_devs.c really needed.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
e1a1865de9
remote/jtagtap_tdi_tdo_seq: Split up large transactions.
...
FIXME: One remote transaction still can only do up to 64 ticks, leaving
room for speed enhancement with larger transactions.
Firmware assumes (1LL << 65) == 0LL !
2021-08-15 16:43:29 +02:00
Uwe Bonnes
8084a75634
cl_utils: Allow Hardware reset from the command line
2021-08-15 16:43:29 +02:00
Uwe Bonnes
36836d0746
ftdi_bmp: Fix setting bits and FTDIJTAG srst.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
cfdf55855e
ftdi_bmp: Export and use reset functions.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
1845d71f00
jtag_scan: Deliver full idcode to the handler.
2021-08-15 16:43:29 +02:00
Uwe Bonnes
0d78331149
remote/jtag_tdi_tdo_seq: Fix wrong bitmask calculation.
2021-08-15 16:43:29 +02:00
Thiadmer Riemersma
c7bc4b6a5d
Bug fix in Flash erase function for LPC MCUs.
2021-08-13 16:18:53 +02:00
aam335
5eb43a1ddb
platforms: stm32f4x1 blackpillv2 as variant of f4discovery
...
Compile as make PROBE_HOST=f4discovery BLACKPILL=1
2021-08-13 16:18:05 +02:00
Thiadmer Riemersma
be534a9c5e
Turn error LED off after successful attach to target (error LED blinks on 'target lost').
2021-08-13 16:10:37 +02:00
Thiadmer Riemersma
72bd825a60
Add support for NXP LPC11xx XL series, add 'readuid' command for some MCUs of the LPC11xx series where it was missing; add comments mapping Device IDs to part descriptions.
2021-07-31 16:08:34 +02:00
Uwe Bonnes
6d6a67b44b
timeout: Make sure we wait at least the period requested ( #900 , #902 )
...
Fixes bug introduced with last commit( Recover from bad AP access)
Let STM32 timers run at 100 Hz against 10 Hz before.
Programming STM32F103 failed random (#900 ) with 20 ms timeout requested
against the 100 ms timeout granularity provided up to now.
STM32 Firmware only ticked at 10 hertz, so the sequence "low_access",
"set timeout", "send out 8 bit command", "read 3 bit result" when
reading "wait" and timer increment tick happening during that sequence
will already hits the timeout even so only mininal time has elapsed
and not the requested timeout.
2021-07-27 10:59:03 +02:00
Uwe Bonnes
0c63903071
adiv5: Recover from bad AP access.
...
E.g. AP1 on a STM32WLE5 points to a ROM table, but access to the ROM table
via AP1 hangs forever.
- Substantial reduce timeout when wait for a response. Valid access should
succeed fast.
- Abort AP access to free DP for other accesses
- Don't throw exception, only set dp->fault
- React on higher level
2021-07-15 15:06:54 +02:00
Uwe Bonnes
b887a8d355
stm32: Portability changes
...
Allow to compile on STM32F0 platform too.
2021-07-15 15:06:54 +02:00
Uwe Bonnes
3cfd8226ba
bmp_libusb: Check only for cmsis_dap if no cable has been found yet.
2021-06-18 11:44:50 +02:00
UweBonnes
a0dbb2a787
Merge pull request #896 from RadinnAB/for-upstream
...
Add nRF51 erase UICR command and fix some warnings
2021-06-07 17:43:56 +02:00
fabalthazar
ea4b232996
Fix de83dbb: duplicate BMP_MODE_FLASH_VERIFY -> BMP_MODE_FLASH_WRITE_VERIFY
2021-06-07 17:29:41 +02:00
Björn Mellström
5ea01030e2
Add nRF51 command for (only) erasing the UICR registers
...
Original implementation by: Benjamin Vedder <benjamin@vedder.se>
2021-06-07 13:50:36 +02:00
Björn Mellström
d987a8dd8c
Add define to allow platform override of debug printf function
2021-06-04 06:58:29 +02:00
Björn Mellström
4b8c4990dc
Fix warning about unused variable in adiv5.c
...
This happens if the platform has debugging support but debugging
is not enabled.
2021-06-03 12:56:41 +02:00
Björn Mellström
711a87f7ba
Fix some warnings when compiling with -Wshadow
...
There are still a few more places that would need to be corrected
before -Wshadow could be added by default.
2021-06-03 12:55:28 +02:00
Björn Mellström
53f022d29b
Require semicolon after debug log statements
...
This also fixes a warning about an empty body in cortexm.c
if PLATFORM_HAS_DEBUG is defined but debugging is not enabled:
if (platform_timeout_is_expired(&to))
DEBUG_WARN("Reset seem to be stuck low!\n");
2021-06-03 12:52:07 +02:00
Björn Mellström
04eab8e1f8
Add guard around _GNU_SOURCE define
...
This avoids warnings if the define has already been set by the
build system.
2021-06-03 12:51:27 +02:00
Uwe Bonnes
2a0d608b07
hosted: Fix last commit
...
-Wno-format-truncation may not be understood by all systems
2021-06-01 18:42:37 +02:00
Uwe Bonnes
1b49823f64
Fix hosted compile on MacOS. hidapi-libusb has a different name
2021-06-01 16:58:25 +02:00
Uwe Bonnes
de83dbb7e2
cl-utils: Fix bug introduced with 5288eef617
...
Always use the file size for write and verify.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
c0437e7b25
bmp_serial: Autodetect more BMP string variants.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
891633322a
lpc: Care for protected pages on LPC80x devices.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
f7b4697280
lpc11xx/lpc8c04: Do not expose two top system flash sectors.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
42ebcac329
efm32_devices: Rearrange struct efm32_device_t to save flash space.
2021-06-01 16:23:19 +02:00
Uwe Bonnes
21a702dc1e
lpc: More verbosity and more definitions
2021-06-01 16:23:19 +02:00
Uwe Bonnes
6454d0bc96
bmp_libusb: Invalidate manufacturer and product in case libusb_get_string_descriptor_ascii fails.
...
Prevent more false detections
2021-05-20 12:06:56 +02:00