Commit Graph

1567 Commits

Author SHA1 Message Date
dragonmux 14d3846663 gdb_main: Fix a formatting bug that breaks, among other things, breakpoints 2022-06-24 18:35:31 -07: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
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