Commit Graph

1423 Commits

Author SHA1 Message Date
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