Commit Graph

558 Commits

Author SHA1 Message Date
Uwe Bonnes 66e357d517 Cortex-M: Probe Cortex-M even if ROM table read fails.
Rom table in some devices (e.g. STM32L0/F7) can not be read while
device is in WFI. The Cortex-M SWD signature is however available.
If we know by that signature, that we have a Cortex-M, force a
probe for Cortex-M devices.
2018-06-13 13:04:17 +02:00
newbrain ae6f0eadc9 Support for MSP432 TI MCUs (#353)
Introduces flashing and debugging support for Texas Instruments MSP432
series of MCUs
2018-06-07 08:34:21 +12:00
Piotr Esden-Tempski 077e455a94 Setting the driver string on scan.
This way swdp_scan and jtag_scan commands will show the chip that was
detected instead of the generic STM32F4 string. The generic name is
most confusing when attaching to an STM32F7 target.
2018-06-01 12:46:14 -07:00
Uwe Bonnes df05d7ce7b libftdi: Allow device specific port/pin to read SWD bitbanged.
Gracefully abort swd scan if devices can not do SWD.
Best effort to indicated SWD capability on existing cables and
add descriptions for the cables.
2018-05-30 19:21:03 +02:00
Uwe Bonnes f3cacba219 libftdi: Flush buffer with detach. 2018-05-30 19:21:03 +02:00
Gareth McMullin 48d232807e
Merge pull request #337 from adamgreig/stm32f4-ram-size
Update maximum RAM sizes for F4 and F7 devices
2018-04-26 13:38:11 +12:00
Adam Greig e1cefb2031 Update maximum RAM sizes for F4 and F7 devices 2018-04-24 11:06:07 +01:00
Uwe Bonnes 93f3b14b68 stm32f1(f0): Do not read normal device registers during probe.
Device may not be halted and memory map setup may fail.
2018-04-23 11:06:08 +12:00
Uwe Bonnes a0596a0dcc stm32l4: Build Memory Map during attach.
Reading target registers while target not halted may fail and result in
invalid memory map.
2018-04-23 11:06:08 +12:00
Uwe Bonnes 5f404cdbc0 Construct memory map on the stack
The memory map uses 1k of SRAM and is only needed during attach. Release
after use lowers pressure on SRAM.
2018-04-23 10:51:04 +12:00
Gareth McMullin 63967346cd stm32f4: Don't duplicate resources on reattach. 2018-04-23 10:48:05 +12:00
Gareth McMullin 00decb3718 target: Separate function to free memory map. 2018-04-23 10:48:05 +12:00
Gareth McMullin 1fd2a24c2d stm32f4: Only construct memory map at attach. 2018-04-23 10:48:05 +12:00
Gareth McMullin 9d7925792f Merge branch 'master' into always_buffer_flash 2018-04-23 10:40:20 +12:00
Mike Walters fa62403ee3 nrf51: Add nRF51802 device id. (#331) 2018-04-03 10:45:56 +12:00
Gareth McMullin cfaa5ea963 Merge branch 'korken89-master' 2018-03-27 13:01:06 +13:00
Gareth McMullin 76bfb4929d Use lowercase register names. 2018-03-27 13:00:39 +13:00
Gareth McMullin a3f855ce5c Merge branch 'master' of https://github.com/konsgn/blackmagic into konsgn-master 2018-03-27 08:03:03 +13:00
Christopher Woodall 31965a5bbc Added support for k64 (#301) 2018-03-25 14:43:33 -07:00
Akila Ravihansa Perera 471ce2547c Added LPC17xx support (#317) 2018-03-25 12:53:30 -07:00
Mark Rages a41d8cb97a Another nRF52 device id. (#315) 2018-03-25 12:37:51 -07:00
Emil Fresk 1ee6d4503e Update to split 'special' into its sane parts (update from @mubes) 2018-03-24 16:44:59 +01:00
Konsgn 04fbabb299 mkl27 support 2018-01-21 23:43:01 -05:00
konsgn 1fe870b8df added MKL27<128kB support 2018-01-16 13:23:36 -05:00
Uwe Bonnes 922f857de7 stm32f1.c: Add missing fall through statement needed by GCC7. 2017-12-18 13:56:59 +01:00
Uwe Bonnes 1f3c235205 src/target/stm32f1.c: Add CCM Ram of STM32F303 devices. 2017-12-08 13:39:24 +01:00
Gareth McMullin 048e8447a5 target: Only support buffered flash writes 2017-10-13 08:58:37 +13:00
Gareth McMullin c53a12bfd1 cortexm: Better cache support for Cortex-M7
- On probe, read CTR for cache presence and minimum line length
- Make D-Cache clean a function
- Clean before memory reads
- Clean and invalidate before memory writes
- Flush all I-Cache before resume
2017-10-12 09:26:01 +13:00
Nick Downing 0e5b3ab00e Make Cortex M driver write DCCIMVAC (Data cache clean and invalidate by address to the PoC=Point of Coherency) prior to reading or writing each 32 bytes of RAM 2017-10-12 08:41:58 +13:00
Uwe Bonnes 120a2d9378 target: Fix calculation of erase size. 2017-10-05 22:11:01 +02:00
Uwe Bonnes a7815fff3d target.c: No need to split write while still in same flash block. 2017-10-04 21:52:29 +02:00
Uwe Bonnes 25610e5ec5 target: Fix unconsistant use of tmplen. 2017-10-04 21:52:29 +02:00
Uwe Bonnes 0aa47113f3 stm32f4: Fix F4 dual bank OPTCR1 to option byte mapping. 2017-10-02 16:22:14 +02:00
Uwe Bonnes c4d3712b39 stm32f4.c: Rework flash structure recognition.
Dual bank devices do not have sectors (8)12..15 !
Dual banks devices need to MER1 set for mass erase.
F72x has different FLASHSIZE_BASE
2017-10-02 16:22:14 +02:00
Gareth McMullin 259f1b90df cortexa: Check for fault on set/clear soft breakpoint. 2017-09-20 11:16:36 +12:00
Gareth McMullin 1cb4271749 cortexa: Remove problematic code for AHB access.
The old code for 'fast' memory accesses using the AHB directly
has problems with data consitency.  Until this can be resolved, I'm
removing the affected code.
2017-09-19 09:13:22 +12:00
Gareth McMullin 2df0c7d6a7 Merge pull request #261 from cpavlina/tm4c
lm3s/tm4c: add TM4C1230C3PM
2017-09-06 15:34:42 +12:00
David R. Piegdon 46e363393f Add nRF52840 support (PCA10056, nrf52840 PDK) 2017-09-03 23:05:29 +00:00
Carl Sandström 37f9623de2 Added NRF51_FICR_CONFIGID for nRF51822 QFAA H2 2017-08-30 17:14:52 +02:00
Uwe Bonnes 37bb86267a STM32F0: Several STM32F0[3|7]0 have same ID as other STM32F0X0. 2017-08-28 22:58:59 +02:00
Chris Pavlina a0b0b8a716 lm3s/tm4c: add TM4C1230C3PM 2017-07-21 13:29:41 -06:00
Gareth McMullin 7663794fdf Merge pull request #247 from schodet/stm32f4-x8-x32
Allow programming STM32F4 when using a low voltage
2017-07-09 14:33:06 -07:00
Nicolas Schodet 3846ea4708 stm32f4: allow selection of flash programming parallelism 2017-07-09 23:26:49 +02:00
Gareth McMullin 09f49b469d Merge pull request #256 from nar0909/patch-1
New Device Id update - QFAA G1
2017-07-09 13:45:52 -07:00
nar0909 43ac4a04f7 New Device Id update - QFAA G1
New device Id - for NRF51822 QFAA G1 1529AM.
2017-07-04 12:32:39 +10:00
Daniel Egger f036be8cb2 Identify and support LPC1112/102 MCU as well
Signed-off-by: Daniel Egger <daniel@eggers-club.de>
2017-06-23 21:52:13 +02:00
Gareth McMullin 984f8b3d94 Merge pull request #248 from schodet/typo
stm32f4: fix typo in target name
2017-06-22 18:35:29 -07:00
Nicolas Schodet 02ce5e23b6 stm32f4: fix typo in target name 2017-06-19 10:56:20 +02:00
Nicolas Schodet 680aa30d52 stm32f4: add support for STM32F4[67]9 2017-06-19 10:41:38 +02:00
Gordon Smith 1ee1f441d5 stm32f4: write flash using byte access 2017-06-16 14:45:16 +02:00
Uwe Bonnes 408c5a9df2 stm32f4: Try to handle option bytes for more devices.
Correct the table for the OPTCRx values from errors in documentation and
error when entering the values.
2017-06-09 13:03:26 +02:00
Uwe Bonnes 8a7455f63e src/target/stm32f4.c: Add STM32F7[2|3]x. 2017-06-09 13:03:26 +02:00
Uwe Bonnes 84e036a804 target/stm32f4: Document FLASH_OPTCR(1|2) registers. 2017-06-09 13:03:26 +02:00
Uwe Bonnes 2216587b39 src/target/stm32f4.c: Remove missleading DTCM comment.
Use different command string for F74x and F76x.
2017-06-09 13:03:26 +02:00
Uwe Bonnes dc1c7611a9 src/target/stm32f4.c: All STM32F7 devs have option bytes at 0x1fff0000. 2017-06-09 13:03:26 +02:00
Uwe Bonnes e43017d0a6 src/target/stm32f4.c: Add STM32F412 and F413.
F413 needs its own clause, as there is memory > 1 MB but no second bank.
2017-06-09 13:03:26 +02:00
Uwe Bonnes 24ed65d6b6 src/target/stm32f4.c: Declare CCMRAM only for devices with CCMRAM. 2017-06-09 13:03:26 +02:00
Gareth McMullin aaa7b0e38e Merge pull request #217 from UweBonnes/stm32l4
Stm32l4
2017-05-23 12:22:04 -07:00
Uwe Bonnes 91839f3aee stm32l4.c: Handle options. 2017-05-11 23:31:43 +02:00
Uwe Bonnes 289be4d9db stm32l4.c: Add STM32L43/L44/L45/L46/L49/L4A. 2017-05-11 23:31:43 +02:00
Gareth McMullin 94c822cb62 nrf51: Replace stub with C version and pass params in registers 2017-05-03 13:10:01 -07:00
stoyan shopov 01e3582525 fixed a bug in the breakpoint removal code 2017-04-28 13:22:59 +03:00
Stefan Agner 3c06396c8e Constify strings and constant structs 2017-04-22 13:50:04 -07:00
Gareth McMullin 1140ff957e kinetis: Check/fix security byte on flash done. 2017-04-19 13:55:37 +12:00
Gareth McMullin 08c0cafa09 stm32f4: Translate ITCM addresses to AXIM on flash write. 2017-04-18 12:56:33 +12:00
Gareth McMullin 1f31099d46 Merge pull request #202 from gsmcmullin/tiva_srst_inhibit
lmi: Inhibit SRST on Tiva and add some fault checks.
2017-04-13 09:13:55 +12:00
Gareth McMullin 644add19a6 lmi: Add comment explaining SRST inhibit 2017-04-13 08:42:16 +12:00
Gareth McMullin 00183f1a9b lmi: Inhibit SRST on Tiva and add some fault checks. 2017-04-12 15:52:09 +12:00
Gareth McMullin e4de689a09 cortexm: Check halt reason on stub exit. 2017-04-12 11:37:42 +12:00
Gareth McMullin 8e2c2757b4 Merge pull request #195 from gsmcmullin/kinetis_work
Kinetis stuff
2017-03-28 13:58:00 +13:00
Gareth McMullin 3d2fa6d233 target: Add new targets to end of list.
This shows targets enumerated in their natural order,
rather than in reverse.
2017-03-27 14:59:54 +13:00
Gareth McMullin 0ed793fe24 kinetis: Clobber security byte with unsecure value.
May be overridden with `mon unsafe enable`.
2017-03-27 14:01:35 +13:00
Gareth McMullin 7de304d72a kinetis: Add recovery mode target. 2017-03-27 10:51:36 +13:00
Gareth McMullin bb93af50c3 adiv5: Debug log on failure to read ROM table. 2017-03-27 09:05:37 +13:00
Uwe Bonnes 21f71fd18a More STM32L4 devices
Hello,

appended patch adds more STM32L4xx devices and was tested with L432 Nucleo.

Cheers

--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
>From e9323a35b667659111226686221a037375a6c208 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Thu, 2 Feb 2017 20:12:59 +0100
Subject: src/target/stm32l4.c: Add more devices.
2017-02-07 09:42:30 +13:00
Uwe Bonnes 41fb2a3104 More STM32L0 devices
Hello,

appended patch adds more STM32L0xx devices and was tested with L031 Nucleo.

Cheers
--
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
>From fb014dd8a90691056f10fbeffd7f21aaad196662 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Fri, 27 Jan 2017 23:09:10 +0100
Subject: src/target/stm32l0.c: Add new categories.
2017-02-07 09:42:30 +13:00
Gareth McMullin 62dedb9824 Add K22F 2017-02-07 09:36:47 +13:00
Gareth McMullin 8c256d9e59 kinetis: Add KL03 devices. 2017-01-17 15:28:47 +13:00
Gareth McMullin cd1bef89bb adiv5_dp_init: make ctrlstat volatile to supress warning. 2017-01-09 09:13:19 +13:00
Chuck McManis 085c980215 Remove EXTENDED_RESET define 2016-12-04 13:51:27 -08:00
Chuck McManis a3c2592e44 Review feedback 2016-12-04 13:15:45 -08:00
Chuck McManis 469ecbf0f9 SAM4L: Add target driver for SAM4L
This commit adds a target driver for SAM4L and it depends on the
extended reset change.
2016-12-02 00:10:06 -08:00
Chuck McManis 0aef6c6774 SAM4L: Add extended reset to target interface
This adds a new function to the internal target interface
to allow the target to get control before reset is complete
so that it can do any additional work. On this target there
is a proprietary internal bit that has to be reset in some
cases to allow the core to continue operating.
2016-12-02 00:08:21 -08:00
Gareth McMullin 15268ac663 EFM32HP (happy gecko) support 2016-11-16 08:23:40 +13:00
Angus Peart 4212d7a394 add STM32F303 targets 2016-11-03 13:44:13 -07:00
Gareth McMullin e279844532 Merge pull request #167 from gsmcmullin/stm32l4_buffered
STM32L4: Use buffered flash model.
2016-10-31 12:06:00 -07:00
Gareth McMullin bcf3caf20e cortexa: Disable AHB memory access to avoid issues with L2 cache. 2016-10-26 18:27:35 -07:00
Gareth McMullin f40883f2b2 cortexa: Wait for instruction complete on resume, and timeout if no response. 2016-10-25 10:22:21 -07:00
Piotr Esden-Tempski 4348f0d135 Fixed double const.
The way the const pointer was written caused at least the clang compiler
to complain about double cosnst. I am not sure if the way it was written
before it resulted in the intended "make everything const" goal. But the
way it is written now it adheres to the right to left reading rule.
2016-10-19 14:37:03 -07:00
Roger Clark 3b74d91c69 Add support for nRF51822QFAAH1 2016-10-16 19:52:47 +11:00
Gareth McMullin 2e9660910c STM32L4: Use buffered flash model. 2016-09-30 12:09:37 -07:00
Gareth McMullin 517881f551 Merge pull request #154 from gsmcmullin/cortexa_breakpoints
cortexa: Fix hardware breakpoints.
2016-09-29 21:39:04 -07:00
Gareth McMullin 9a8cef04e0 Clean up debug format strings. 2016-09-29 21:31:18 -07:00
Gareth McMullin ba8f77abf8 cortexa: Fix hardware breakpoints. 2016-09-28 22:18:24 -07:00
Gareth McMullin ca364a889e Fix #145
Don't tc_printf in the probe.
tc_printf fixed to not crash of no controller connected.
2016-08-22 09:56:24 +12:00
Gareth McMullin df7ad91692 Merge pull request #146 from joshgrob/nRF51/52_update
Adding new ConfigID value for nRF52832 QFAA B00
2016-08-10 07:33:28 +12:00
Gareth McMullin 779e0b5d15 Print sizes in memory map using 32-bit formatting for newlib-nano. 2016-08-08 13:42:03 +12:00
jgrob-an fd4b8a02c0 Adding new ConfigID value for nRF52832 QFAA B00 2016-08-03 23:27:34 -04:00
Gareth McMullin f131460168 Don't use zx format with printf. Doesn't work with newlib.
Fixes #144.
2016-07-19 10:45:46 +12:00
Gareth McMullin 9a45d89b4a target: Remove target_check_error from external interface. 2016-07-13 08:31:09 +12:00
Gareth McMullin 9aacc18f60 target: Restructure internal break/watch handling.
cortexa: Implement soft breakpoints.
2016-07-13 08:31:09 +12:00
Gareth McMullin 9136cf4c98 target: target_halt_wait and target_check_hw_wp replaced with target_halt_poll.
The new function returns a stop reason which must be translated in gdb server.
In the case of a watchpoint hit, the address is returned by a pointer parameter.
Simplify the extenal interface for set/clear breaki-/watchpoints.
2016-07-13 08:31:09 +12:00
Gareth McMullin ab06243e93 target: Use size_t instead of unsigned in syscall interface. 2016-07-13 08:31:09 +12:00
Gareth McMullin 26fab877da target: Provide errno definitions and fallback for unimplemented syscalls. 2016-07-13 08:31:09 +12:00
Gareth McMullin 82cb6c8e83 target: Use target_addr for flash routines. 2016-07-13 08:31:09 +12:00
Gareth McMullin aeaca988c3 target: Use new target_addr type consistently in external interface.
Flash routines still use uint32_t internally.
2016-07-13 08:31:09 +12:00
Gareth McMullin f9bdaf06a4 Move flash stubs to target directory and update readme. 2016-07-13 08:31:09 +12:00
Gareth McMullin b494279fe5 Move target files into separate directory. 2016-07-13 08:31:09 +12:00