Commit Graph

1702 Commits

Author SHA1 Message Date
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
Piotr Esden-Tempski d259d5c511 build: Only build the locm3 libraries needed.
We don't need to build all the locm3 libraries. We just need those that
are required by the supported platforms.
2022-03-15 13:33:51 -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
Piotr Esden-Tempski 4b92415442 ghactions: Added libhidapi dependency installation. 2022-03-14 23:01:32 -07:00
Piotr Esden-Tempski 501fd09228 ghactions: Added libftdi1 dependency installation. 2022-03-14 21:55:05 -07:00
Piotr Esden-Tempski 0d97871893 The pull request github action now also builds hosted.
This will help catch some more build errors.
2022-03-14 21:46:15 -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
Qyriad 91a63fe0e6 Upload builds on push, and test that PRs build, with GH Actions 2022-02-27 17:11:43 -08:00
Nicolas Schodet 2dd3c7bae2 scripts: gdb.py: fix error messages 2022-02-13 15:31:12 -08:00
Nicolas Schodet de834264ab scripts: hexprog.py: minor fixes
Unused import and useless semicolon.
2022-02-13 15:31:12 -08:00
Nicolas Schodet f8f2ab2016 scripts: stm32_mem.py: change some formatting, remove unused imports 2022-02-13 15:31:12 -08:00
Nicolas Schodet eafc634eba scripts: more conversion to Python 3, change the shebang line 2022-02-13 15:31:12 -08:00
Nicolas Schodet d9cce4d5e8 scripts: convert bootprog.py to Python 3
Tested with a stm32f100 bootloader.
2022-02-13 15:31:12 -08: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
Piotr Esden-Tempski d6440d716c Updated github org references to blackmagic-debug. 2022-01-21 22:09:35 -08:00
Nicolas Schodet 5c07d6170f scripts: remove import from future which imports from the past
There is no point to support Python 2.
2022-01-04 00:57:48 -08:00
Nicolas Schodet 946ccab778 scripts: stm32_mem cosmetic changes
Add a newline to avoid overwriting the last "Programming memory..."
message.

Remove inline tabs.
2022-01-04 00:57:48 -08:00
Nicolas Schodet ad6c1eb11b scripts: fix stm32_mem.py for python 3
Python 3 does not accept a characters string where a bytes string is
needed.
2022-01-04 00:57:48 -08: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
Mark Rages f43101fd9f Port gdb.py and hexprog.py to Python 3.
Unfortunately, the serial data are not 7-bit clean (see write_mem()).
So getpacket() and putpacket() use bytes objects rather than strings.
2021-12-19 14:45:51 -08:00
Piotr Esden-Tempski fcb2a609fc scripts: Updated nrf51 id script for py3 and to parse newer oocd header. 2021-12-19 14:45:51 -08:00
Piotr Esden-Tempski 728e955193 scripts: Updated bootprog to run on python3 2021-12-19 14:45:45 -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