dragonmux
d78f7696cc
stm32/serialno: Run clang-format on the serial number code
2022-06-27 23:11:42 -07:00
dragonmux
fef40b701f
stm32/serialno: Fixed a typo in the 24 character serial number loop
...
before: 0670FF530000000000000000
after: 0670FF535567494867085055
2022-06-27 23:11:42 -07:00
Manoel Brunnen
d140b4b667
stlink: Fix the LED pinout on the Nucleo boards
2022-06-27 23:09:56 -07: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
dragonmux
3a02fdea9d
misc: Added a clang-tidy Makefile target so enforcing the formatting is easier
2022-06-26 18:55:04 -07: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
c33d02bc19
hosted/stlink: Improved the information output and its consistency
2022-06-26 16:51:58 -07:00
dragonmux
aa9c80b37d
misc: Formatting consistency
2022-06-26 16:51:58 -07:00
dragonmux
2765811bbb
hosted/stlink: Naming consistency for 'stlink' global object
2022-06-26 16:51:58 -07:00
dragonmux
66b2d0659a
hosted: type naming consistency
2022-06-26 16:51:58 -07:00
dragonmux
baf84c9eb4
launchpad-icdi: Cleaned up and fixed some C89-isms
2022-06-26 16:51:58 -07:00
dragonmux
0139a349ab
hosted/FTDI: Cleaned up the error handling so the compiler can usefully tell us of errors in conditions
...
This also fixes an accidental assignment bug in libfti_max_frequency_set()
2022-06-26 16:51:58 -07:00
dragonmux
826840bf90
hosted/remote: Cleaned up the error handling so the compiler can usefully tell us of errors in conditions
2022-06-26 16:51:58 -07:00
dragonmux
fbe804f905
hosted/ftdi: Updated the 'cables' definitions
2022-06-26 16:51:58 -07:00
dragonmux
5ec848e948
hosted/jlink: Fixed use of 'int' where 'size_t' is more appropriate
2022-06-26 16:51:58 -07:00
dragonmux
9b53fbf6ea
launchpad-icdi: Fixed up and rewritten the serial number code to match what was done in #1041
2022-06-26 16:51:58 -07:00
dragonmux
c271c5c979
remote: Updated the naming in the remote protocol macros
2022-06-26 16:51:58 -07:00
dragonmux
adc03e47d6
hosted: Cleaned up and fixed the definitions of the fill functions for HOSTED_BMP_ONLY
2022-06-26 16:51:58 -07:00
dragonmux
94afb264e4
command: Cleaned up and improved the naming of cmd_reset and cmd_connect_reset
2022-06-26 16:51:58 -07:00
dragonmux
12fefa73c9
platforms: Cleaned up and fixed many markdown lint errors, improving the formatting of many of the platform README's
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
2eaa579965
platforms: NRST and TRST naming consistency
...
This aligns the nRST and nTRST pin naming with the bulk of the README's for the platforms along with the hardware
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
0612f2dc79
hosted: Documented the new command line option and added it to the ZSH completions
2022-06-26 14:28:35 -07:00
dragonmux
52dcf46e61
command: Done a little cleanup of the formatting and layout
2022-06-26 14:28:35 -07:00
dragonmux
10a4c3f77e
hosted: Implemented the extra logic to implement auto-scan in the CLI
2022-06-26 14:28:35 -07:00
dragonmux
2aea7238af
command: Implemented the new 'auto_scan' command for the firmware
2022-06-26 14:28:35 -07:00
dragonmux
ce3544b206
hosted: Removed unwanted automatic switch over to JTAG when SWD scan fails
2022-06-26 14:28:35 -07:00
dragonmux
b713376ce7
hosted/cmsis_dap: Fixed the naming of the cmsis_type_e enum
2022-06-26 14:24:08 -07: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
SId Price
9aba7ecce2
Define the long options structure as const.
2022-06-26 17:08:32 -04:00
SId Price
84408fef57
Remove unwanted whitespace
2022-06-26 17:08:32 -04:00
SId Price
3495207980
Further help text updates
2022-06-26 17:08:32 -04:00
SId Price
7edd4b3379
Textual corrections to help
2022-06-26 17:08:32 -04:00
SId Price
39bf17b768
Add back code lost during recent rebase
2022-06-26 17:08:32 -04:00
SId Price
7dd82418e0
Implement long options initial commit
2022-06-26 17:08:32 -04:00
dragonmux
6f38b844af
stm32/serialno: Fixed a regression in 24 character serial number suport which was causing them to display all 0's
2022-06-26 14:06:18 -07:00
dragonmux
4a0e373b49
stm32/serialno: Fixed a small regression that made it in with #1041 resulting in a transposition of alpha characters in serial numbers
2022-06-26 14:06:18 -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
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
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