dragonmux
c530bd077b
misc: Switched to using C11
2022-07-18 20:59:15 -07:00
dragonmux
10d30821e5
swdptap: Cleaned up the naming and and signatures of the SWDP implementation functions
2022-07-18 18:57:10 -07:00
dragonmux
85d24e8289
target: Implemented a command to allow erasing Flash ranges on any target
2022-07-18 17:12:13 -07:00
Giovanni Santana
1b8e522e87
nrf51: Add command to enable flash protection
...
Add braces for the while loop
2022-07-15 16:57:52 +01:00
Giovanni Santana
6ae846ae24
target/nrf51: Add command to enable flash protection
...
Add command `mon protect_flash` to enable flash read/write protection
2022-07-15 16:57:52 +01:00
dragonmux
94b62ff924
target: Fixed several clang-tidy warnings which improve readability of the code
2022-07-14 16:19:43 -07:00
dragonmux
bdf4dc8731
nrf51: Fixed mass erase after run then user interrupt (Ctrl + C) not working
2022-07-14 14:19:14 -07:00
dragonmux
5607eac812
cortexm: Cleaned up formatting, types and const-correctness in cortexm_attach
2022-07-14 14:19:14 -07:00
Rafael Silva
069f05ea4b
target/efm32: stop hiding data in driver string
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
096927b0b8
target/efm32: bootloader lock word handling fix
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
c2589bc39f
target/efm32: mass erase correctness
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
00dd7f145f
target/efm32: code cleanup
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Rafael Silva
42d36d9d10
target/efm32: general formatting/style cleanup
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-14 13:11:19 +01:00
Piotr Esden-Tempski
018fc517a1
stm32f4: Fixes erase_mass command return error.
...
The final erase_mass command check is looking for the EOP (End of
OPeration) bit to be set. This bit is only set when the EOP interrupts
(EOPIE = 1) are enabled. We are not enabling those on the target so this
bit will never get set. As we are monitoring the BSY flag to make sure
the erase_mass operation is still ongoing and finished it is enough if
we just check the error flags.
2022-07-13 20:57:09 -07:00
dragonmux
6d7c6c5daf
lmi: Added progress dots for mass erase to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
d64992ade8
rp: Cleanup in how we define some of the Flash constants
2022-07-13 19:34:57 -07:00
dragonmux
ce94169099
stm32l0: Added some links to the reference manuals
2022-07-13 19:34:57 -07:00
dragonmux
a22d6e5056
stm32l0: Run clang-format across the code
2022-07-13 19:34:57 -07:00
dragonmux
b84f883aeb
lmi: Implemented mass erase
2022-07-13 19:34:57 -07:00
dragonmux
90b7362162
stm32l4: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
787d66fe95
stm32h7: Switched to the unified mass erase command, breaking up the implementation cleanly and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
980a1f140c
stm32g0: Switched to the unified mass erase command, breaking out the bank erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
d82ad89715
stm32f4: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
2f0d35de19
samx5x: Bracket and GDB message cleanup
2022-07-13 19:34:57 -07:00
dragonmux
591f05d7e5
samd: Cleanup and fixed a notification TODO
2022-07-13 19:34:57 -07:00
dragonmux
94d5c0576b
samd/samx5x: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
e9b75ba4bc
rp: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
ffd358824f
nrf51: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
57d8e8f5d9
nrf51: braces cleanup in nrf51_flash_erase
2022-07-13 19:34:57 -07:00
dragonmux
ee694fcb75
nrf51: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
8130b62bcf
lpc546xx: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
9af2d2a413
lpc: Clean up part of the lpc_iap_call command wait loop
2022-07-13 19:34:57 -07:00
dragonmux
56ecbb3b89
lpc43xx: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
6f57cdf6ba
lpc17xx: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
ae1cb56ce0
kinetis: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
9d46d0c5c6
target: Refactored out the progress printer to reduce Flash usage
2022-07-13 19:34:57 -07:00
dragonmux
b8ca831cfb
efm32: Switched to the unified mass erase command for the recovery target and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c1758088cd
efm32: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
17c04d585e
stm32f1: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c2d72b4825
kinetis: Switched to the unified mass erase command and added progress dots to stop GDB timing out
2022-07-13 19:34:57 -07:00
dragonmux
c35f65c6c0
target: Implemented a global target mass erase command
2022-07-13 19:34:57 -07:00
dragonmux
30e2106e40
target: Make the buffers used to program a target's Flash better bounded in lifetime and memory usage
2022-07-13 19:08:31 -07:00
Anti Sullin
3e9913e88b
Implement semihosting debug output redirection to usb-uart port.
2022-07-13 18:49:20 -07:00
dragonmux
4bc68409f8
kinetis: Clean up how kl_gen_flash_done builds the command buffers to send to ensure the security byte is OK
2022-07-11 17:12:23 -07:00
dragonmux
f0566979b0
kinetis: Fixed the flash write command generation for K64 devices
2022-07-11 17:12:23 -07:00
dragonmux
6f273cadd8
kinetis: Try to be safer about our FCCOB writes so the Flash controller's less likely to get mad
2022-07-11 17:12:23 -07:00
Rafael Silva
0c18fcefe3
kinetis: macro organization and clearer function naming
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-07-09 15:55:37 -07:00
dragonmux
18a49ac853
kinetis: Run clang-format on the code
2022-07-09 15:45:06 -07:00
dragonmux
72e4f4d2b2
kinetis: Refactored out some common code from kinetis_probe for the S32K14 lineup
2022-07-09 15:45:06 -07:00
dragonmux
fee6f28915
kinetis: General formatting and readability cleanup
2022-07-09 15:45:06 -07:00
Jonathan Giles
780ee7a2a8
Fix build error and logic ...
2022-06-28 06:31:16 -04:00
Rafael Silva
1a963b81f6
target/stm32f1: GD32E230 option write special case handling
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva
e7a7d82b33
target/stm32f1: remove unused code snippet and superfluous preprocessor check, less pedantic wording on warning
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva
a5ebff14bb
target/stm32f1: remove redundant grouping ad for loop cleanup
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva
90ed4fe31a
target/stm32f1: clang-format and code styling for better readability
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 18:13:52 -04:00
Rafael Silva
5666fa2a2f
target/sam3x: add aditional check for valid EEFC addr
...
Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
2022-06-27 07:48:54 -04:00
Rafael Silva
1bca0323d9
target/sam3x: saner uninitialized variable prevention
...
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-27 07:48:54 -04:00
Jonathan Giles
730a795f09
Add idcode for GD32F303CG detection
2022-06-26 21:00:26 -04:00
dragonmux
09f64b0627
misc: Added a HACKING.md to provide an explanation of nomenclature and how we handle reset terminology
2022-06-26 16:51:58 -07:00
dragonmux
aa9c80b37d
misc: Formatting consistency
2022-06-26 16:51:58 -07:00
dragonmux
0dae6a4019
misc: Renamed connect_assert_nrst to clarify usage and align naming
2022-06-26 16:51:58 -07:00
dragonmux
b226c53d13
misc: Renamed CORTEXM_TOPT_INHIBIT_NRST to clarify usage and align naming
2022-06-26 16:51:58 -07:00
dragonmux
5edf549b48
misc: Updated comments and READMEs to properly reflect pinouts and function
2022-06-26 16:51:58 -07:00
dragonmux
a8e12d716d
misc: Renamed platform_nrst_{get,set}_val to clarify naming and provide consistency
2022-06-26 16:51:58 -07:00
SId Price
bc9032da06
Fix uninitialized variables in target sam3x
...
Exposed while building hosted with -Og option
2022-06-26 18:52:12 -04:00
dragonmux
07321a4114
ch32f1: Fixed another broken debug print that made assumptions about %x and %d that are wrong
2022-06-26 14:19:46 -07:00
dragonmux
680a009690
cortexm: Added additional debug information for part probing
2022-06-26 14:19:46 -07:00
dragonmux
b5b2d4dc95
ch32f1: Re-ordered a couple of the operation in ch32f1_probe so it plays nicer with the STM32 parts
2022-06-26 14:19:46 -07:00
dragonmux
0368b76078
ch32f1: Further formatting and layout cleanup
2022-06-26 14:19:46 -07:00
dragonmux
fbc87cc518
ch32f1: Fixed the probe routine distrubing state for other parts wrt `t->idcode`
...
The CH32F1 routine now reads the IDCode into a local.
If the part number matches and appears to be the chip (based on Flash locking), it only then writes the IDCode into `t->idcode`, which is at the point we can only `return true` from the probe routine anyway.
2022-06-26 14:19:46 -07:00
dragonmux
08a8988462
ch32f1: formatting cleanup to bring things closer to inline with the rest of the codebase
2022-06-26 14:19:46 -07:00
Maciej Musiał
2673e34ddd
cortexm: fixed an issue with watchpoint handling and a register sanity check
2022-06-26 13:44:45 -04:00
Uwe Bonnes
80c98df2f9
stm32wxxx: CPU2 needs wake-up call and has unexpected PIDR4 in AP1
...
"Single" core STM32WLE still sees AP1 but on first scan aborts gracefully
after some errors and on later runs sees AP1 as unusable. Fixes #832 .
Decode the Cross trigger interface found on CPU2 on STM32WBxx.
2022-06-25 16:52:36 -04:00
Uwe Bonnes
471ba19a77
adiv5.c: Read all CIDR data in one call.
...
E.g on STM32WXXX AP1 with C2BOOT not set, the AP base registers have valid
values but reading them fails and turns the AP unusable. BMDA reading CIDR
with multiple calls will will loop and finally hang up BMD. Other target
devices may show similar behaviour.
Reading CIDR with a single call allows recovery from in that case and
additional spares target transactions.
2022-06-25 16:52:36 -04:00
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
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
Dag Ågren
f6edb54395
Fix RP2040 memory sizes.
2022-06-01 11:41:58 -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
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
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
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
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
8fb3b7b1a8
reuse exception to avoid using the stack
2022-03-22 10:10:33 -04: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
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
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
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
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
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
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
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
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
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
8845a22226
stm32l4: Use targetid when available.
...
Fixes STM32U5 from crashing.
2021-10-31 11:13:34 +01:00