Commit Graph

1844 Commits

Author SHA1 Message Date
Uwe Bonnes 1009329882 stlinkv2: Treat STLINK_SWD_AP_FAULT after STLINK_ERROR_WAIT as STLINK_ERROR_WAIT
cortexm_initial_halt() repeats the DHCSR write with high values for TRNCNT in
CSW. This is needed to catch a STM32F7 mostly in WFI. While the repeated write
is running, STLINKV3 on a Nucleo-WL55 (V3J7M2B0S0) answers first with
STLINK_SWD_AP_WAIT and on more read if write command is still running with
STLINK_SWD_AP_FAULT. At some point when the last command is finished, normal
STLINK_ERROR_OK indicates finally successful read. Treat STLINK_SWD_AP_FAULT
after STLINK_ERROR_WAIT as STLINK_ERROR_WAIT in that case. STLINK_SWD_AP_FAULT
may still be issued on other invalid accesses and should still be treated as
error in the other possible cases. Fixes #1071.
2022-06-26 12:08:23 -04:00
SId Price b1a02d4f48 Correct filenames in the rest of the files using cl_utils.h 2022-06-26 12:04:21 -04:00
SId Price 664a91b254 Fix filename in cmsis_dap.c 2022-06-26 12:04:21 -04:00
SId Price 8a86faf49d Rename cl_utils.* to cli.*, and fix references
File "serial_unix.c" edited but Linux build not done (Windows only dev environment)
2022-06-26 12:04:21 -04:00
SId Price 0ebcba458d Move all files from "pc" folder to "hosted", update Makefile.inc 2022-06-26 12:04:21 -04:00
SId Price fcae730bf8 Correct scanf format specifier
Rather than casting here, use PRIu32 - as in "%" PRIu32 ".%" PRIu32 - it's undefined behaviour and quite illegal to do the cast as, depending on platform, you'll end up with only some of the bytes in units and tenths written and which ones and what that means will depend on endianess.
2022-06-26 12:02:41 -04:00
SId Price 02d2ba98d5 Enable power control in BMPA and add required functions 2022-06-26 12:02:41 -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
dragonmux 14d3846663 gdb_main: Fix a formatting bug that breaks, among other things, breakpoints 2022-06-24 18:35:31 -07:00
Rafael Silva d99ab22f95 readme: sample usage update
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2022-06-24 21:24:51 -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
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
Sean Cross b29e3758e1 clang-format: add initial format file
Add a format file for `clang-format`. This is based on the
`.clang-format` file from Linux, adjusted to work with this project.

Notably, it opts for 120 characters, given that some functions are
rather wide.

Care was chosen to adopt settings that resulted in a minimum of
disruption when run through the formatter, however since no formatter
has been used before this necessarily results in code that does not
conform to the formatter.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-06-12 16:48:15 -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 e388fbbb2c script: Implemented a helper script to help build include/version.h 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 b4131ef637 driver: Written a README.md to explain the purpose of each of the files and under what situation each should be used 2022-06-12 16:07:07 -07:00
dragonmux 8baf1e73c5 driver/udev: Fixed a couple of other small issues with the rules 2022-06-12 16:07:07 -07:00
dragonmux 32c62fdd3b driver/udev: Fixed a small typo in the uucp rules 2022-06-12 16:07:07 -07:00
dragonmux 6ae884741f driver/udev: Created a set of rules for group uucp systems 2022-06-12 16:07:07 -07:00
dragonmux d938f2b839 driver/udev: Renamed the current rules so we can have a set for uucp systems co-exisitng 2022-06-12 16:07:07 -07:00
dragonmux 3bc38f1a9b driver/udev: Fixed up the rules to correctly target the device and set the group for plugdev systems 2022-06-12 16:07:07 -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