Uwe Bonnes
df7458e35a
Build-Infrastructure: Allow a different target name.
2019-07-17 17:26:00 +02:00
Stephen Roe
b4c680bb15
Add STM32G4
...
Based on #488 Stephen Roe, done as #491 .
Fixes ID of STM32G03.
2019-07-17 17:24:23 +02:00
Simon Rasmussen
5a7ffe7a40
Fixed SAM3X8C large file flashing.
...
The datasheet specifies the EEFC_BASE(0) is at `0x400E0A00` and EEFC_BASE(1) is at `0x400E0C00` which means they're spaced 0x200 bytes apart rather than 0x400.
2019-07-17 14:37:07 +02:00
David R. Piegdon
02b2fdb2ae
fix overwriting of still-needed value (refs #487 )
...
this fixes a bug that was introduced in blackmagic PR #475 which lead to
firmware crashes when connecting to a BMP more than once without a
power-cycle.
2019-06-24 16:45:18 +02:00
Uwe Bonnes
589d297d20
stm32l0: Fix crash when only "monitor option" was requested.
...
PR #485
2019-06-12 12:54:29 +02:00
Alexander Zhang
880613d641
lpc_common: restore RAM and registers after IAP call
...
Restore the RAM and registers which are clobbered by an LPC IAP call.
This does not restore any additional RAM which might be clobbered
by a *particular* IAP call. (For example, flash programming always
clobbers the last page of RAM.)
2019-05-30 14:01:27 -04:00
David Lawrence
d3979a57b6
Add LPC command to read out unique ID from target.
...
This commit modifies lpc_iap_call() to work with IAP commands that
return additional data. If the "result" argument is non-null, 16
bytes of data (the maximum returned by any IAP command) are copied
to the specified address.
2019-05-30 14:01:12 -04:00
Sid Price
21434d6fbb
Remove redundant include file
2019-05-26 23:27:32 +02:00
Richard Meadows
600bc9f029
Generate DEBUG warnings and return if `malloc`/`calloc` fail.
...
This is will make debugging earier if this does happen, rather than
dereferencing the null pointer (or passing it to memcpy, or worse).
blackmagic PR #475
2019-05-26 18:56:12 +02:00
Richard Meadows
61e9607594
[adiv5] Improvements in ADIv5
...
* Reference latest version of the ARM specification
* ROM tables - more debug information, including printing SYSMEM bit
* MEM-AP - reject when Debug Base Address entry is not
present/invalid. These would only have errored in
adiv5_component_probe.
* Fix maximum number of entries in Class 0x1 ROM Table to 960. See ARM
IHI 0031E Table D3-1 ROM Table register summary.
* Resolve note in STM32H7 driver with explaination
blackmagic PR #474
2019-05-24 22:00:44 +02:00
Uwe Bonnes
703f88a969
gdb_main: Always release CPU when detaching.
...
Fixes Issue #413 and released as PR #477 .
2019-05-23 13:17:54 +02:00
Richard Meadows
24a7b8b2bf
[stm32h7] add revision command which reads the `DBGMCU_IDC` register
...
blackmagic PR #476
2019-05-21 23:20:13 +02:00
Richard Meadows
c336c300a3
[stm32h7,bugfix] Fix bug: target_add_flash called in attach
...
When `target_add_flash` or `target_add_ram` are called in an attach
function they may be added multiple times. This very much confuses
GDB. This issue has already been reported and fixed for `stm32l4` (See
Issue #455 ).
`stm32f4` and `stm32l4` are the only other cortexm drivers that
implement this pattern. These are both fine.
2019-05-21 22:38:16 +02:00
Uwe Bonnes
984813a29d
Add Stm32G03 from reference manual Rev.2
...
Not yet tested on a real part.
2019-04-24 12:29:58 +02:00
Sid Price
2108bb7137
Native Windows builds
...
All except hydrabus and launchpad-icdi building in PowerShell.
2019-04-07 10:26:45 -06:00
UweBonnes
302ff20a6d
Merge pull request #434 from UweBonnes/nrf5
...
Nrf5
2019-03-21 19:43:29 +01:00
Jeremy Elson
3235fa2005
Improve parsing of commands that require enable or disable arguments:
...
* Accept prefixes of the words 'enable' and 'disable'
* Prevent silent failures on parse errors
* Print status after flag changes
* Fix missing includes
2019-03-19 12:56:44 -07:00
Boris Sorochkin
691ada17e9
Implement read device info for NRF5x
2019-03-10 21:45:47 +01:00
Uwe Bonnes
3f89fed32e
nrf51: Use buffered direct write to flash.
2019-03-10 21:45:47 +01:00
Uwe Bonnes
4ecd13a9a3
nrf51: Fix crash with not argument given to "mon read".
2019-03-10 21:45:47 +01:00
Uwe Bonnes
db2f403417
sam4l: Remove noisy debug message.
2019-03-10 21:45:47 +01:00
Uwe Bonnes
a336ac2084
NRF5: New detection scheme.
2019-03-10 21:45:47 +01:00
newbrain
6887628eaa
Correction of #445 attach-detach problem
...
Memory map is now completely freed and rebuilt in the separate attach
function.
It was previoulsy split beween probe and attach and never released,
causing problems when reattaching to the same target.
2019-03-03 15:55:40 +01:00
UweBonnes
da62cbaa3d
Merge pull request #449 from jelson/width-fix
...
Use 32-bit variable for 32-bit read
2019-02-25 13:21:55 +01:00
Jeremy Elson
86ed86c2a2
Use 32-bit variable for 32-bit read. (Also fixes DEBUG compile
...
error due to mismatch of format and argument.)
2019-02-24 17:49:30 -08:00
Uwe Bonnes
56fb0f7766
Handle STM32F730 and STM32H750.
...
Flash sector calculation was wrong with small flash sizes.
2019-02-21 19:19:10 +01:00
anyn99
3f8c40d3f5
Fixing stm32l4 target to allow probing w/o halting
2019-02-21 18:06:38 +01:00
newbrain
8de1b45c85
Kinetis KE04: Flash and debug support
...
Support for Kinetis KE04 8KiB, 64KiB and 128KiB variants in nxpke04.c
Target monitor commands for sector and mass erase.
Changes to kinetis.c MDM-AP target to support KE04.
Only KE04Z8 tested in HW.
2019-02-17 22:48:23 +01:00
Carl
02c1934c03
Added ability to lock and unlock boot rom for samd controllers
2019-02-13 16:33:07 -08:00
Uwe Bonnes
a6b75bb4ef
Makefile: Add -Wnocast-function-type for compilation on gcc8.
...
Older GCC versions do not warn for disabled warnings they do not know yet.
This is needed to compile with gcc8.
2019-01-16 23:17:17 +01:00
Richard Meadows
0b28232f72
[efm32] Assume Device Identification (DI) version 1 if we don't know the OUI ( #402 )
...
* [efm32] Assume Device Identification (DI) version 1 if we don't know the OUI
Silabs are using some additional OUIs we don't know about. Reported in issue #389
These should use a DI version 1 layout, so assume version 1 layout for OUIs we don't
know. However do print a notice about this on DEBUG() as suggested by @UweBonnes
The IDCODE value is sufficient to make a positive identification of an EFM32 device.
See AN0062 Section 2.2. Therefore accepting any OUI is reasonable behaviour.
Additionally the part familiy is checked, and the target rejected if not in the
`efm32_devices` table. This commit makes that rejection explicit, although it does
not change the logical behaviour here.
Note that the important registers (part number, part family, flash size) are at the
same addresses in both layouts anyhow. Currently only `efm32_cmd_serial` and
`efm32_cmd_efm_info` functions use registers that differ between DI versions.
* [efm32] tidy format warning about portability UB
* [efm32] Simplify OUI checking
* Only read the OUI once
* Accept the device even if the OU is unknown, as silabs have been using
a variety of OUIs
* Perform fewer register reads before checking the device family is valid
2019-01-16 09:58:59 +13:00
Uwe Bonnes
7cc02867ae
stm32f4: Fix problems with small flash sizes creating overflow or empty regions.
...
Thanks to "DerMeisteRR" for pointing out.
2019-01-09 12:23:49 +01:00
Uwe Bonnes
47fad2bf7f
Add Stm32L41x.
2019-01-09 12:23:49 +01:00
Uwe Bonnes
f0c6e2bbd2
Add STM32G07x.
2019-01-09 12:23:49 +01:00
Uwe Bonnes
0793dac2cf
libftdi: Allow to compile with mingw and cygwin and use recent libftdi1.
...
Tested with x86_64-w64-mingw32-gcc-8.2.0 and cygwin gcc (GCC) 7.3.0.
Use libftdi1 unconditionally.
Try to convice github travis to use libftdi1.
Remove unportable "uint ". Thanks to jacereda for pointing out in #400 .
2019-01-07 15:31:57 +01:00
Ingmar Jager
3f0c9ccee1
Fix support for LPC1115 and LPC1115XL devices ( #415 )
...
* Add support for LPC11U3X devices.
The DeviceID register has a different address from the LPC11XX devices.
But it is shared with the LPC8XX family.
* Fix support for LPC1115 and LPC1115XL devices
* Fix whitespace
2019-01-07 13:34:00 +13:00
Josh Robson Chase
02b9d5f1ac
Add delay to cortexm_reset
2019-01-07 13:32:17 +13:00
Josh Robson Chase
d7e2923990
Debug on stm32f1_flash_erase errors
2019-01-07 13:32:17 +13:00
Uwe Bonnes
6df793dbf0
Revert "Allow to specificy if SRST is asserted and when it is released."
...
This reverts commit 44fc24e0e7
.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
9ce05ae67b
stm32h7/f7: Store DBGMCU_CR on attach() and restore on detach().
...
On STM32[FH]7, DBG_SLEEP must be set for debugging.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
8d6092b73f
cortexm_forced_halt: Only release SRST after "Halt on reset" command.
...
This should make life easier if program remaps JTAG/SWD pins so that
with program running, JTAG/SWD access is impossible.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
3ebf049424
cortexm: Only force halt before probe if idcode is unknown and ROM TABLE unreadable.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
6633f74d95
stm32h7/f7: Write DBGMCU_CR only on attach.
...
Split probe/attach for STM32H7.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
8575d3e7a6
stm32f7/h7: Use the DPv2 provided idcode for MCU identification.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
525b90d4e5
cortexm: Only force halt before probe() if probe was forced.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
da75acf015
adiv5: Only force cortexm_probe() once.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
489f24584b
adiv5: Read TARGETID on DPv2 devices.
2019-01-07 13:22:01 +13:00
Uwe Bonnes
cde7726b87
cortexm: detach still needs extra cycles.
2019-01-07 13:22:01 +13:00
Ingmar Jager
14bedcc441
Add support for LPC11U3X devices.
...
The DeviceID register has a different address from the LPC11XX devices.
But it is shared with the LPC8XX family.
2018-10-04 08:53:05 -07:00
Benjamin Vernoux
771d81a5f0
Fix link for windows_dfu_util
2018-10-03 15:20:09 -07:00
Uwe Bonnes
d8b01ff61f
swlink: Enable UART2 for SWO.
...
Stlink on STM8S-Disco needs additional wiring for SWO.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
7cafc44bd9
swlink: Allow to enable debug on second VCOM.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
0d246fb31a
swlink: Measure voltage on VDD pin of Stlink/Stm8s.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
184ef991bf
swlink: Handle LED.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
06272e0a59
swlink: Implement dfu_upgrade.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
530d1e5c28
swlink: Handle force boot on bluepill.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
b744d8b0c9
swlink: Implement NRST.
2018-10-03 15:19:33 -07:00
Uwe Bonnes
1263d185a6
swlink: Distinguish between Stlink on STM8-Disco and "blue pill".
2018-10-03 15:19:33 -07:00
Mark Rages
91dd879dac
Another nRF52 ID.
2018-09-13 16:18:29 -06:00
Gareth McMullin
3a598a0cf3
Merge pull request #384 from rikvdh/feature/readable-reset-stlink
...
Change the ST-Link SRST reset function
2018-09-07 08:13:48 +12:00
Uwe Bonnes
f5cf6d4497
adiv5_swdp: Add extra idle cycles with write transactions.
...
These extra cycles are needed by some CPU, e.g. STM32L0x1 to cross the SWCLK
/HCLK domains. Revert insufficient #373 also tackling that problem.
Thanks to Thorsten von Eicken for pointing out.
2018-09-06 17:29:20 +02:00
Rik van der Heijden
95053b3b4e
Change the ST-Link SRST function to use libopencm3 helper functions and fix waiting for the pin-state, change init to use the SRST function for reset de-assertion
2018-09-05 20:28:02 +02:00
Rik van der Heijden
f39701c4c8
Move the LPC17xx probe function down since it performs an IAP call which can hang when performed on other devices than a LPC17xx
2018-09-05 17:40:02 +02:00
Gareth McMullin
c5c0783337
Merge pull request #378 from markrages/nordic_unlock
...
Add extra port for mass erasing / unprotecting nRF52 with APPROTECT set.
2018-07-28 14:56:03 +12:00
Mark Rages
d0a8ce0819
Add extra port for mass erasing / unprotecting nRF52 with APPROTECT set.
...
Mostly copied from the equivalent in kinetis.c and
https://devzone.nordicsemi.com/f/nordic-q-a/12484/approtect-and-dap/47301
2018-07-27 16:07:19 -06:00
Gareth McMullin
6fd3ede5c7
Merge pull request #377 from markrages/add_id_2
...
Another chip ID for Nordic nRF52832.
2018-07-28 09:53:00 +12:00
Mark Rages
cb8596b0b2
Another chip ID for Nordic nRF52832.
2018-07-27 15:09:14 -06:00
Uwe Bonnes
5918608156
STM32F7: Debug does not work with WFI without DBG_SLEEP
2018-07-27 10:59:54 +02:00
Uwe Bonnes
2c1c913213
adiv5.c: Add units found on M7.
2018-07-27 10:59:54 +02:00
Uwe Bonnes
f234074099
stm32h7: Start of support.
...
Implement probe, memory map, erase, write, uid, crc, parallelism.
2018-07-27 10:59:54 +02:00
Gareth McMullin
a988bba035
Merge pull request #372 from richardeoin/efm32-1
...
[efm32] Add support for EFM32 devices with different DI and MSC layouts
2018-07-27 11:41:58 +12:00
Gareth McMullin
d7b173ab39
Merge pull request #310 from UweBonnes/stm32l4r
...
arget/stm32l4.c: Add stm32l4r series and clean up.
2018-07-27 10:32:00 +12:00
Mike Walters
b4dc666aca
Add nRF52 QIAA C0
2018-07-26 23:13:38 +01:00
Uwe Bonnes
4a312c7697
target/stm32l4.c: Add stm32l4r series and clean up.
2018-07-22 15:44:00 +02:00
Uwe Bonnes
7034d0bb94
stm32l4: Option byte loader must be started with flash unlocked!
...
Warn user that device will loose connection.
2018-07-22 15:44:00 +02:00
Uwe Bonnes
83f9655f6e
stm32l4: Fix wrong default for WRP2A option halfword.
2018-07-22 15:44:00 +02:00
Uwe Bonnes
139707c5c0
cortexm/detach: Add a dummy transaction after cleaning DHCSR.
...
This replaces the seemingly superflous swdptap_seq_out() at
the end of adiv5_swdp_low_access() needed to continue after detach.
2018-07-19 10:57:41 +02:00
Richard Meadows
a7106bd346
[efm32] Add support for flashing User Data (UD) and Bootloader (BL) regions
...
* UD region on all devices, some devices also have BL region
* Fix page size for EZR32HG
2018-07-18 08:57:01 +00:00
Richard Meadows
55bb96cfdb
[efm32] tidy compiler warning
2018-07-16 20:47:24 +00:00
Richard Meadows
98faaceb70
[efm32] Add support for EFM32 devices with different DI and MSC layouts
...
* DI layout is identified by attempting to read OUI from both layouts
* MSC address is passed to flashstub in r3
Retested EZR32LG230 (EZR Leopard Gecko M3)
Tested EFR32BG13P532F512GM32 (EFR Blue Gecko)
Achieves aims of PR #264 (I think) Thanks to @dholth and @ryankurte for inspiration
Fixes Issue #226
2018-07-16 20:18:36 +00:00
Antti Louko
59d6eca8f0
Fixes option erase for STM32F070x6 STM32F070xB STM32F030xC
2018-07-10 18:44:05 +03:00
Gareth McMullin
c5713ea8d3
Merge pull request #366 from UweBonnes/f7_fix
...
stm32f4.c: F76x also has large sector by default.
2018-07-07 13:03:14 +12:00
Gareth McMullin
1b51c4961e
Merge pull request #363 from korken89/master
...
Removed debug bits for F4/F7 target, same as all other MCUs now
2018-07-07 13:01:05 +12:00
Uwe Bonnes
50514ccc31
stm32f4.c: F76x also has large sector by default.
2018-07-05 13:29:43 +02:00
Emil Fresk
5e8c8cae10
Removed debug bits for F4/F7 target, same as all other MCUs now
2018-06-28 16:31:34 +02:00
Uwe Bonnes
7a7266a0f7
Speed up JTAG.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
59e03dea27
Keep TMS floating until scanning.
...
NRF5x shares nRST with SWDIO and otherwise does not run until scan is done.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
97561fc5cc
stlink: Decrease delay with SWD turn around for native,stlink and swlink.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
5548d54626
common/swdptap: some clean up.
...
Remove superfluous transaction.
Use native variable size.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
7e3fe352ad
adiv5_swdp.c: Use swdptap_seq_out for initialiation sequence.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
e54a826745
common/swdptap.c: Speed up by "unrolling" swd.._seq_...() for GPIO.
...
Try to have sensible setup/hold times by evenntually duplicated or
logically useless port commands.
Loading code to RAM on a STM32L476 got up from 46 to 83 kB/sec.
2018-06-26 19:50:14 +02:00
Uwe Bonnes
633af5bb85
libftdi/jtagtap.c: Fix error introduced with commit de33473
...
Seen when scanning e.g. Zync with mon jtag 6 4.
2018-06-26 17:43:06 +02:00
Gareth McMullin
b2defad844
Merge pull request #356 from UweBonnes/probe_halted
...
Probe halted
2018-06-21 10:06:56 -07:00
Uwe Bonnes
b59bbac0b2
stm32l4: Use buffered direct write to flash.
2018-06-16 13:30:53 +02:00
Uwe Bonnes
891d6de8eb
stm32f1.c: Use buffered direct write to flash with half word access.
2018-06-16 13:30:53 +02:00
Uwe Bonnes
f1752c7a1a
stm32f4: Allow DWORD parallelism.
...
Needs external VPP!
2018-06-16 13:30:53 +02:00
Uwe Bonnes
15312eb86c
stm32f4: Honor parallelism also for erase.
2018-06-16 13:30:53 +02:00
Uwe Bonnes
bfeb6f0db9
stm32f4: Use buffered direct flash write with choosen size.
2018-06-16 13:30:53 +02:00
Uwe Bonnes
54f73858f9
Provide a target function to write with given size.
2018-06-16 13:30:08 +02:00
Uwe Bonnes
17b817f37b
cortexm: Allow to set timeout to wait for halt.
...
This allows to gain access to devices spending long time in WFI without
the need for a reset, at the expense of possible long waiting times.
Using Reset means loosing the device runtime context.
2018-06-13 14:03:50 +02:00
Uwe Bonnes
9e365a58f7
Cortex-M: Try harder to halt devices in WFI.
...
E.g. STM32F7 and L0 need multiple C_DEBUG and C_HALT commands to halt
the device.
2018-06-13 14:02:43 +02:00
Uwe Bonnes
44fc24e0e7
Allow to specificy if SRST is asserted and when it is released.
...
E.g. for STM32L0 and F7, IDCODE register can not be read while device is
under Reset.
2018-06-13 13:46:07 +02:00
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
2657aa6fbb
libftdi: Allow more flexible Swd Read/Write Switching.
2018-05-30 19:21:03 +02: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
fce25b9fd5
libftdi/swdptap.c: Substantial speed increase for bitbanging SWD.
...
Provide the swd sequences unrolled.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
992ccf91a9
libftdi/swdptap.c: Use MPSSE Mode for bitbanging SWD.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
f3cacba219
libftdi: Flush buffer with detach.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
2ec078cfcf
libftdi/jtagtap.c: Allow NULL as one DI/DO argument jtagtap_tdi_tdo_seq.
...
Implement jtagtap_tdi_seq() by calling jtagtap_tdi_tdo_seq().
2018-05-30 19:21:03 +02:00
Uwe Bonnes
de33473535
libftdi/jtagtap: Copy DI direct into the write buffer.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
aa938c6dae
libftdi/jtagtap: Try harder to initialize Ftdi MPSSE jtag mode.
...
After "mon s" at least the second "mon j" now succeeds again.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
c548e307fe
libftdi/jtagtap: Clean up code.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
7d45bd4869
ibftdi/jtagtap: Remove magic numbers.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
6f0a46d9c1
libftdi: Export active cable description.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
68c7180376
libftdi: Add ftdiswd variant.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
f4bc6f9ddd
libftdi/platform.c: Issue SEND_IMMEDIATE before reading.
2018-05-30 19:21:03 +02:00
Uwe Bonnes
744deb678d
libftdi/platform.c: Only set bit direction with MPSSE SET_BIT_XXXX.
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
Uwe Bonnes
6127a6431e
stlink: Check nRST line level when setting SRST.
...
Problem: On some boards flashing hanged.
Cause: Releasing SRST caused a slow rise of nRST and flashing
started while the target still was in reset.
Attention: platform_delay(ms) only resolved 0.1 s.
Nucleo-P boards have SRST unconnected to target nRST by default.
2018-04-23 10:48:05 +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
Uwe Bonnes
72c1498ae1
stlink: Make SWO Trace Buffer smaller.
...
Changes for delayed memory map setup otherwise overflow SRAM silently.
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
Gareth McMullin
28bd4fc0ce
Merge pull request #305 from UweBonnes/swo_async
...
Use async SWO from the bluepill pull request.
2018-04-09 08:27:49 +12:00
Mike Walters
fa62403ee3
nrf51: Add nRF51802 device id. ( #331 )
2018-04-03 10:45:56 +12:00
Uwe Bonnes
fc25a3339a
traceswoasync: Implement async swo for stm32.
...
Use for stlink.
Uses dma with large buffer.
Pull up swo to provide idle level on unconnected swo pin.
2018-03-27 13:40:49 +02:00
Uwe Bonnes
93bc3a155a
traceswo: Provide command option for async swo.
2018-03-27 13:40:49 +02:00
Uwe Bonnes
3e3e450408
cdcacm.c: Use less buffer for the usb_uart buffers and reallocate.
...
With 128 bytes for both usb_uart buffers, traceswo gives errors!
Keep the size for the receive buffer and diminisch the transmit buffer,
as there is no flow control to the device.
Probably related to https://github.com/libopencm3/libopencm3/issues/477
2018-03-27 13:40:49 +02: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
Adam Heinrich
f5cac4c78d
platforms/stm32: Ignore noise errors on USBUART
2018-01-13 21:11:17 +01: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
Gareth McMullin
9a5b31c37b
Fix fallthrough warnings on gcc 7
2017-10-09 11:07:29 +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
Gareth McMullin
f27f3bad5c
libftdi: Fix tdi_tdo_seq result unpacking
2017-10-05 08:26:33 +13:00
Gareth McMullin
2db42ba8e5
Merge pull request #287 from gsmcmullin/update_libopencm3
...
Update libopencm3
2017-10-04 10:58:44 +13: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
0ed66547d5
Fix libopencm3 breakage
2017-09-25 11:17:03 +13:00
Uwe Bonnes
4966168802
s[t|w]link: Implement ENABLE_DEBUG.
2017-09-23 16:40:28 +02:00
Uwe Bonnes
ce1ef6e41b
stm32: Move rdi handling to common stm32 code.
2017-09-23 16:39:35 +02:00
Uwe Bonnes
203f6702d8
Flashsize_F103: Options for BMP on STM32F103C8 devices
2017-09-21 23:05:20 +02:00
Uwe Bonnes
963df9febc
stlink: Use common initialization and detect V2.1 boards.
...
Factor out hardware revision detection, USB detach and power settings, as
all three program (bootloader, bmp and dfu-upgrade) need it.
2017-09-21 18:43:06 +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
Gareth McMullin
40ac8e1004
Merge pull request #241 from gsmcmullin/no_magic_vtor
...
Use vector_table symbol for assignment of SCB_VTOR.
2017-06-22 16:31:09 -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
2eb2f8edd7
Use vector_table symbol for assignment of SCB_VTOR.
2017-06-09 13:07:06 +12:00
Uwe Bonnes
a7771fa23f
stlink/swlink: Remove missleading comments.
2017-06-08 18:25:43 +02:00
Gareth McMullin
aaa7b0e38e
Merge pull request #217 from UweBonnes/stm32l4
...
Stm32l4
2017-05-23 12:22:04 -07:00
Gareth McMullin
fd467269eb
Merge pull request #233 from gsmcmullin/parallel_make_fix
...
Fix parallel build.
2017-05-23 12:20:21 -07:00
Gareth McMullin
539d9e14ec
Merge pull request #223 from gsmcmullin/nrf51_c_stub
...
nrf51: Replace stub with C version and pass params in registers
2017-05-23 12:00:08 -07:00
Gareth McMullin
ecc0d9807d
Fix parallel build.
...
Add explicit dependency of command.c on version.h
Remove version.h on make clean.
2017-05-23 11:57:35 -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
Uwe Bonnes
8cc2c44dbf
f4discovery: Use Magic constant in RAM for Bootloader entry.
2017-05-11 22:21:38 +02:00
Uwe Bonnes
a0e47c392b
f4_discovery: Clean up platform.h and Readme.
2017-05-11 21:53:01 +02:00
Uwe Bonnes
814eb0e3a2
f4discovery: Make DFU work (again?)
2017-05-11 21:52:24 +02:00
Uwe Bonnes
f5dd3006fb
STM32: Generate same serial number as internal DFU bootloader.
2017-05-11 21:52:24 +02:00
Uwe Bonnes
b7235da97f
dfucore.c: Announce no writable bootloader pages when device is read proteced
...
or bootloader is write protected.
Device read protection or write protection on first 4 bootloader pages
can only be removed by mass erase. Triggering mass erase with a program
running from flash is doomed for failure.
User can force bootloader update, at their own risk to brick the device.
2017-05-07 13:19:37 +02:00
Uwe Bonnes
b09a522f37
STM32F103: Use flash size from device for DFU string.
...
Complements #204 .
STLinkV2-1 has F103CB on board! F103C8 on older Stlinks can use upper flash
with hopefully acceptable error rate.
For F103C8 devices, user has to give the force option to dfu-utils.
2017-05-07 13:19:37 +02:00
Gareth McMullin
94c822cb62
nrf51: Replace stub with C version and pass params in registers
2017-05-03 13:10:01 -07:00
Gareth McMullin
6b592b4118
Merge pull request #218 from stoyan-shopov/breakpoint-removal-bugfix
...
fixed a bug in the breakpoint removal code
2017-05-03 12:11:50 -07:00
Uwe Bonnes
5af76a1b74
dfu_f1/dfu_upgrade: Do not set read protection.
...
As the first 4 pages of the bootloader will always keep write protection
once read protection is applied, with the second update of the bootloader
only the higher pages where updated effectivly.
In most cases this resulted in an inaccessible device!
2017-04-29 14:58:41 +02:00
stoyan shopov
01e3582525
fixed a bug in the breakpoint removal code
2017-04-28 13:22:59 +03:00
Gareth McMullin
b10971b19b
Merge pull request #206 from UweBonnes/dfu-upload
...
Dfu upload
2017-04-27 10:07:37 -07:00
Stefan Agner
3c06396c8e
Constify strings and constant structs
2017-04-22 13:50:04 -07:00
Gareth McMullin
633662dbb3
Hold TMS high during reset.
...
This is a questionable fix for the Kinetis K22F that samples
this pin on release from reset to enable its EzPort which
makes the flash unusable and disables the rest of the micro.
2017-04-21 11:05:07 +12:00
Gareth McMullin
1140ff957e
kinetis: Check/fix security byte on flash done.
2017-04-19 13:55:37 +12:00
Gareth McMullin
06bf37fe20
Merge pull request #208 from gsmcmullin/mem_packet_range_check
...
Add range checking on mem access packets.
2017-04-18 14:17:07 +12:00
Gareth McMullin
08c0cafa09
stm32f4: Translate ITCM addresses to AXIM on flash write.
2017-04-18 12:56:33 +12:00
Gareth McMullin
bd2cfe72f0
Add range checking on mem access packets.
2017-04-18 11:41:11 +12:00
Gareth McMullin
e5395aaba7
Merge pull request #91 from schodet/usb-vbus
...
Fix usage of USB_VBUS
2017-04-18 08:22:57 +12:00
Uwe Bonnes
d796571438
Implement DFU_UPLOAD.
2017-04-15 14:26:03 +02:00
Uwe Bonnes
1d8ebcd75f
Handle SET_ADDRESS according to DFUSE specs.
2017-04-14 15:16:59 +02: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
dacf907540
Merge pull request #204 from gsmcmullin/stlink-flash-size
...
Increase st-link flash allowance to 128K.
2017-04-13 09:08:55 +12:00
Gareth McMullin
394fd4894b
Increase st-link flash allowance to 128K.
...
Although the devices are only documented to have 64K flash,
they have been obeserved to have a full 128K, although the undocumented
half may be untested and have problems.
2017-04-13 09:01:26 +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
7ba2987a83
native: Fix macros for setting pin mode.
...
Fixes #184
2017-01-24 10:49:45 +13:00
Gareth McMullin
8c256d9e59
kinetis: Add KL03 devices.
2017-01-17 15:28:47 +13:00
Gareth McMullin
a77fb9ac1b
Merge pull request #180 from paramaggarwal/patch-1
...
Actual pin mappings and the comment differ!
2017-01-09 14:39:06 +13:00
Gareth McMullin
334f6dac0a
Merge pull request #182 from esden/bmpm21
...
Add BMPM V2.1 support
2017-01-09 14:38:33 +13:00
Gareth McMullin
cd1bef89bb
adiv5_dp_init: make ctrlstat volatile to supress warning.
2017-01-09 09:13:19 +13:00
Piotr Esden-Tempski
606b73601c
Added TMS/SWDIO direction pin & adjusted SRST sense.
...
1) This version uses a direction control level shifters. We need to control
the direction of the TMS/SWDIO pin.
2.1) Because we want to support a large voltage range for SRST we use an
external dual MOSFET for asserting and sensing the SRST line. We have
added the hardware version 3 to be handled the same way as version 0.
Meaning using separate pins for assertion and sensing of the SRST line.
2.2) The new SRST sense circuit is inverting, thus we have dedicated
code for hardware version 3 that inverts the SRST status pin on read.
2017-01-06 18:31:55 -08:00
Param Aggarwal
51ac0fe319
Actual pin mappings and the comment differ!
...
I was stuck trying to debug the issue why my probe would not find any attached targets. This is because I was doing the pin mapping as per the comments, and not the actual code. There is a mismatch!
This PR updates the comment to reflect the values set in code. :)
2017-01-01 14:50:58 +05:30
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
b745799156
Merge pull request #171 from gsmcmullin/v2_usb_uart_check
...
Don't enable usb uart on v2 when debugging
2016-11-22 13:20:24 +13:00
Gareth McMullin
7730d3b198
Don't enable usb uart on v2 when debugging
2016-11-22 12:45:59 +13: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
3b7edc325d
Merge pull request #165 from gsmcmullin/gdb_tcp_buffering
...
libftdi: Disable Nagle algorithm and buffer sends internally.
2016-10-25 10:28:29 -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
Gareth McMullin
f947465fe4
libftdi: Disable Nagle algorithm and buffer sends internally.
...
This significantly improves performance by not waiting for TCP
timeout on transmission.
2016-10-25 10:07:04 -07:00
Gareth McMullin
917c107ded
Use `git-describe --always --dirty` when generating `version.h`
2016-10-22 14:45:32 -07:00
Gareth McMullin
7c83536c14
Don't break build if no tags in history
2016-10-22 13:19:00 -07:00
Gareth McMullin
7b575bd7c6
Fix Travis deployment.
2016-10-22 13:07:42 -07:00
Gareth McMullin
d48465c527
Merge pull request #163 from gsmcmullin/travis_publish
...
First attempt at publishing Travis builds to Amazon S3.
2016-10-22 12:06:46 -07:00
Gareth McMullin
cbc21114c1
First attempt at publishing Travis builds to Amazon S3.
2016-10-22 11:55:15 -07:00
Piotr Esden-Tempski
fdeb6471a8
Added missing #include guard.
2016-10-19 14:56:52 -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
Piotr Esden-Tempski
2d37de773c
Fixed #include guard.
2016-10-19 14:36:27 -07:00
Piotr Esden-Tempski
8a009ca6ae
Corrected jtagtap_next signature.
...
The parameter is TDI (as in input) not TDO. The header signature and
comment are correct.
2016-10-19 13:53:04 -07:00
Roger Clark
3b74d91c69
Add support for nRF51822QFAAH1
2016-10-16 19:52:47 +11:00
Gareth McMullin
3abb4afdf6
Merge pull request #153 from gsmcmullin/restore_leds
...
Restore LED behaviour.
2016-10-05 10:37:36 -07: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
966f360515
debug: Use semihosting if available or output via usbuart.
2016-09-29 21:31:13 -07:00
Gareth McMullin
ba8f77abf8
cortexa: Fix hardware breakpoints.
2016-09-28 22:18:24 -07:00
Gareth McMullin
40f960db4d
Restore LED behaviour.
2016-09-28 22:15:15 -07:00
Gareth McMullin
45e322b9a3
Handle usart errors.
2016-08-22 09:57:52 +12: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
97f3fc6155
Reorder target.h
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
Gareth McMullin
b644724520
Overhaul of semihosting. Remove dependence of target on gdb_packet.
2016-07-13 08:31:09 +12:00
Gareth McMullin
b03cc59bea
target: Add target controller structure for indirect calls back to host.
2016-07-13 08:31:09 +12:00
Gareth McMullin
5832d8a42a
Clean up common SWD stuff.
2016-07-13 08:31:09 +12:00
Gareth McMullin
9b8e2c3ad1
target: Replace all calls to gdb_out with new tc_printf.
2016-07-13 08:31:09 +12:00
Gareth McMullin
5c5f76d60e
target: Remove last accesses to private structure from outside.
...
Only include target_internal.h from inside target files.
2016-07-13 08:31:09 +12:00
Gareth McMullin
1cd03b3fa4
Allow breakpoint and watchpoint methods to be left NULL.
2016-07-13 08:31:09 +12:00
Gareth McMullin
07f27d1b70
Hide target list internals form command.c
...
Remove unused support for extended target structure size.
2016-07-13 08:31:09 +12:00
Gareth McMullin
72790893ae
target: move mmio routines out of public interface.
...
Fix crc routine to use buffered reads on stm32.
2016-07-13 08:31:09 +12:00
Gareth McMullin
e28e158721
Move *scan prototypes to target.h.
2016-07-13 08:31:09 +12:00
Gareth McMullin
4e04c1dded
Split out non-public target stuff into new header.
...
Wrap target methods with functions instead of macros.
2016-07-13 08:31:09 +12:00
Gareth McMullin
67bd1530b7
Remove some unused includes.
2016-07-13 08:31:09 +12:00
Gareth McMullin
3c44cce935
Make generic jtagtap function weak and stop including the c file.
2016-07-13 08:31:09 +12:00
Gareth McMullin
0fc61efe7c
Move STM32L[01] bit definitions to their driver and remove header.
2016-07-13 08:31:09 +12:00
Gareth McMullin
6b49fbe594
Quiet adiv5 probe.
2016-07-13 08:31:09 +12:00
Gareth McMullin
0480578391
stlink: New discovery boards support.
...
Patch from issue #103
2016-07-13 08:00:05 +12:00
Gareth McMullin
fec09464ac
Add STM32F302C8 ID.
...
From issue #100
2016-07-13 08:00:05 +12:00
Alexandre Bustico
c906a8614f
° add support for ITCM flash memory (in addition of DTCM) for STM32F7 family
...
° add support for STM32F76x and STM32F77x
2016-07-11 14:58:40 +02:00
Gareth McMullin
419aae4940
lpc15xx cleanup
2016-07-06 10:34:51 +12:00
David Lawrence
4addec0a21
lpc15xx support
2016-07-05 16:53:47 -04:00
Gareth McMullin
2a5efbc1ac
Merge pull request #140 from gsmcmullin/va_translation
...
cortexa: Virtual address translation and memory access through APB.
2016-06-30 18:23:31 +12:00
Gareth McMullin
4596d88f72
cortexa: Use fast mode for APB mem access and allow byte access.
2016-06-30 17:56:01 +12:00
Gareth McMullin
d16aca9ae0
cortexa: Fall back to APB memory access if no AHB available.
2016-06-29 11:11:27 +12:00
Gareth McMullin
ea9c2a2030
cortexa: Catch and report faults on address translation.
2016-06-29 11:11:27 +12:00
Gareth McMullin
9e2b0a86d7
cortexa: Perform VA translation on memory access.
2016-06-29 11:11:27 +12:00
Gareth McMullin
9c5ff37bf8
Add monitor command to force SRST
2016-06-28 14:35:43 +12:00
Gareth McMullin
60c67ee156
cortexa: Flush I-Cache on detach.
2016-06-28 14:35:43 +12:00
Gareth McMullin
6b3c3d3473
cortexa: Add timeout to reset spin.
2016-06-28 14:35:43 +12:00
Gareth McMullin
8b4342394f
Overhaul of timeouts so they may be nested.
2016-06-28 14:35:43 +12:00
Gareth McMullin
53c7fbd543
Fixes for verbose debug output.
2016-06-23 15:03:00 +12:00
Piotr Esden-Tempski
7b2309943a
Use Product ID and Componend ID tables instead of defines.
...
This patch adds tables that allow us to decode the Product ID and
Component ID registers. Based on those tables we can decide what probe
function to use. Also this makes it possible for us to understand what
ADIv5 components the target is offering to us, even if we do not
need/use them.
The tables include a comment describing how the register bits need to be
interpreted.
2016-06-22 18:34:04 -07:00
Piotr Esden-Tempski
20c994eece
Added black magic verbose/debug mode switch.
2016-06-22 17:28:26 -07:00
Gareth McMullin
90c0c28327
cortexa: Redirect read of PC through r0. MCR is unpredictable for r15.
2016-06-23 12:00:04 +12:00
David Brandt
2639bdbe23
Add NXP LPC82x support
2016-06-21 10:33:34 +02:00
Piotr Esden-Tempski
9be5cdb702
BMPM V2 target power control GPIO needs to be an open drain drive.
...
BMPM V2 uses a biasing resistor for the true switch mosfet circuit.
Because of that the weak pull-up/down of the stm32 is not asserting the
correct gate voltage for the mosfets to fully switch through. Because of
that we need to use open drain configulation of the GPIO instead.
2016-06-06 15:01:37 -07:00
Gareth McMullin
55cea5f90a
Merge pull request #132 from dlaw/kinetis
...
Add Kinetis KL27 support
2016-06-01 07:48:13 +12:00
Gareth McMullin
24d973e39f
adiv5: Probe ARMv6M devices with Cortex-M driver.
2016-05-30 08:48:54 +12:00
David Lawrence
25a46a83f9
Add Kinetis KL27 support
2016-05-18 12:06:54 -04:00
Gareth McMullin
bcf5b1eaa3
Merge pull request #126 from gsmcmullin/cortexa
...
Cortex-A support
2016-04-28 10:56:43 +12:00
Gareth McMullin
13602c5d85
cortexa: Also assert SRST to reset.
2016-04-20 12:55:12 -07:00
Gareth McMullin
08c9ab54d7
adiv5: Try abort sequence if DP is stalling during scan.
2016-04-20 12:55:12 -07:00
Gareth McMullin
bed6627579
adiv5: Implement access to DP ABORT register.
2016-04-20 11:36:42 -07:00
Gareth McMullin
68bf825042
cortexa: Disable interrupts while single stepping.
2016-04-20 11:35:58 -07:00
Gareth McMullin
88bf92ac36
cortexa: Fix write back of PC and CPSR.
2016-04-20 11:35:25 -07:00
Gareth McMullin
d94f7e0c75
Remove old arm7tdmi header.
2016-04-19 22:23:19 -07:00
Gareth McMullin
0ab878dcd2
cortexa: Add short delay after reset, before reattaching.
...
Allows the early bootloader to configure the DDR ram.
2016-04-19 13:29:22 -07:00
Gareth McMullin
a2ec877b73
cortexa: Restore cache clean and invalidate on memory writes.
...
Include a small optimisation of APB access to speed up the process.
2016-04-19 13:24:05 -07:00
Gareth McMullin
49f89cfc95
cortexa: Fix detach.
...
Also pulls out internal register cache functions from halt/resume.
2016-04-19 13:24:05 -07:00
Gareth McMullin
f6b574e0b0
Cortex-A target support.
2016-04-19 13:24:05 -07:00
Gareth McMullin
60f3be501e
Pass breakpoint length to target.
2016-04-19 13:24:05 -07:00
Gareth McMullin
459bae4ea1
ADIv5 structural changes.
...
- Probe ROM table
- Mem-AP no longer pretends to be a target
- AP no longer provides priv pointer
2016-04-19 13:24:05 -07:00
Gareth McMullin
8d9d6f692c
Fix platform_delay
2016-04-19 13:23:04 -07:00
Gareth McMullin
cd1d72257f
Cleanup of SRST handling.
...
- Remove connect_assert_srst global.
- Attach functions always release reset.
- Platforms provide a method to poll the reset pin.
- Reset on scan is all internal to command.c
- Reset is released on a failed scan. Fixes #111
2016-04-19 13:12:16 -07:00
Gareth McMullin
e010cd763d
Merge pull request #125 from bvernoux/master
...
Cleanup and Fix code for HydraBus
2016-04-18 13:01:00 -07:00
Gareth McMullin
294d93cfe3
Fix build warnings.
2016-04-18 12:25:48 -07:00
bvernoux
2e3778e772
Cleanup and Fix code for HydraBus
2016-04-18 00:48:06 +02:00
Gareth McMullin
2685906fc8
Merge pull request #124 from gsmcmullin/windows_fixes
...
Fixes to allow building for Windows.
2016-04-16 14:49:22 -07:00
Gareth McMullin
799ccf99f5
Merge pull request #123 from gsmcmullin/digilent_cable
...
Add Digilent JTAG-HS3 FTDI cable.
2016-04-15 13:06:30 -07:00
Gareth McMullin
966b21c3e1
Merge pull request #121 from esden/bmpm2_support
...
Bmpm2 support
2016-04-15 13:01:34 -07:00
Gareth McMullin
9141418bd4
Merge pull request #80 from gsmcmullin/hydrabus
...
Add HydraBus support
2016-04-15 13:00:52 -07:00
Gareth McMullin
987a926a19
Fixes to allow building for Windows.
2016-04-15 12:58:36 -07:00
Gareth McMullin
4e8b40ad5d
Add Digilent JTAG-HS3 FDTI cable.
2016-04-15 12:05:43 -07:00
Piotr Esden-Tempski
8e8a53ef12
Added support for Black Magic Probe Mini V2.0e.
...
All BMPM2 prototypes after revision a have their LED0 and LED2 inverted.
Because of that we have bumped the hardware revision to swap the LEDs in
software. This is easier than messing up the routing of the LEDs.
2016-04-06 19:23:17 -07:00
Piotr Esden-Tempski
f2650df731
Fixed a hardware version detection glitch.
...
If you try to read out the GPIO immediately after setting the weak pull
on the pin it is possible that you will not read the correct value on a
floating pin. We need to use a busy wait loop instead of the
platform_delay because the platform timing is not initialized yet. We
also can not initialize the platform_delay code yet because it requires
LED gpio to be configured. A busy wait seems to do the job and is easier
than refactoring the codebase to use the platform_delay function.
2016-04-06 19:20:43 -07:00
Karoly Molnar
33414c3a9b
added support for KL02 family
2016-03-15 17:31:24 +01:00
Gareth McMullin
cc244eb2d8
Merge pull request #108 from lbonn/upstream-patches
...
Some various fixes
2016-03-09 10:27:34 +13:00
Gareth McMullin
c0f92ea5a7
Merge pull request #116 from esden/flashier_dfu
...
[native] Make the native bootloader bit more flashy.
2016-03-09 10:26:56 +13:00
Gareth McMullin
4e23c95c53
Merge pull request #115 from esden/bmpm2
...
[native] Check for hardware version by pull-up and -down. Print HW Ve…
2016-03-09 10:26:43 +13:00
Michał Derkacz
fbc344c1cd
nrf51: Another undocumented version.
2016-02-25 17:43:14 +01:00
Piotr Esden-Tempski
c0c8bade6f
[native] Make the native bootloader bit more flashy.
...
This change has also a practical reason. When flashing and testing the
hardware this change makes it easier to make sure all the LEDs work. Now
when the DFU bootloader is idle it is scanning the LEDs making it easy
to see if one of them has an issue.
In addition to that, the bootloader now indicates when there is data
being flashed using the DFU interface. In cases when one has more than
one device connected and accidently starts flashing a wrong device this
is very useful feature to have.
2016-02-14 23:47:57 -08:00
Piotr Esden-Tempski
b7e5005679
[native] Check for hardware version by pull-up and -down. Print HW Version in mon command.
...
Until now the native hardware was pulling PB5-7 down and checking if
they were asserted high. BMPMV2b is pulling the pins down instead of
high. The hardware version routine now determines the hardware version
based on the fact if a pin is asserted at all. This means that if a pin
is left floating, the version number bit will be 0, and if the pin is
asserted either high or low the bit will be set to 1. While we were
already at it the "monitor version" command in GDB will now also print
the hardware version number.
2016-02-14 22:49:29 -08:00
Mark Rages
9c846d5029
Add nRF52 support.
2016-02-10 20:23:43 -07:00
Gareth McMullin
d5e263122f
Increase JTAG_MAX_DEVS to 32.
...
Fixes #112
2016-02-02 10:04:57 +13:00
Mark Rages
7d957cbfdf
Update nRF51 IDs, add nRF51422 and xxAB/xxAC devices.
...
There were a lot of nRF51 device ids missing. I wrote a script to pull nRF51 IDs from the openocd repository, which seems to be more up-to-date. The script's output goes in nrf51.c.
2015-12-17 17:50:41 -07:00
Laurent Bonnans
c9d3cf71dd
gdb_main.c: fix buffer overflow on large reads
...
When gdb issues a `m xx,200` command, the probe should respond with a
packet of size 2*0x200=1024 which is the size of the packet buffer.
However, the `hexify()` procedures writes 1025 bytes in the buffer.
During my tests, it caused the probe to hang when issuing a `dump`
command. Presumably by overwritting the `cur_target` variable.
2015-12-14 11:28:28 +01:00
Laurent Bonnans
2d7b24c566
efm32: inhibit srst
...
EFM32s don't seem to like to be completely resetted while being debugged
(load and break were broken)
2015-12-14 11:28:28 +01:00
Clement Burin des Roziers
1f62fa4909
CRC32: improved computation time
...
Reading one byte at a time was so slow that it caused the gdb client to
timeout.
2015-12-14 11:28:28 +01:00
Gareth McMullin
61c6c767b0
Merge pull request #107 from richardeoin/efm32
...
[efm32] Use SW-DP IDCODE register for identification
2015-12-13 14:59:49 +13:00
Richard Meadows
544e1080a3
[efm32] Use SW-DP IDCODE register for identification
...
Instead of the Device ID register which isn't constant for EFM32 parts
2015-12-01 21:41:08 +00:00
Gareth McMullin
e6d388d057
Merge pull request #106 from richardeoin/efm32
...
Support for Silicon Labs EFM32/EZR32
2015-11-17 07:59:35 -08:00
Richard Meadows
fa7cccff23
[efm32] Formatting fixes
2015-11-14 14:56:03 +00:00
Richard Meadows
b678b83062
[efm32] oops, fixed ezr32lg probe message
2015-11-14 14:42:09 +00:00
Richard Meadows
fe3874bc82
[efm32] add extra details to probe message
2015-11-14 14:41:48 +00:00
Gareth McMullin
091adda0b4
Merge branch 'umetronics-master'
2015-11-11 12:41:57 -08:00
Gareth McMullin
600f0d27d9
Use sniprintf on newlib platforms.
2015-11-11 12:41:13 -08:00
Gareth McMullin
56b10a1255
Merge branch 'f205' of https://github.com/schodet/blackmagic into schodet-f205
...
Conflicts:
src/stm32f4.c
2015-11-11 12:27:27 -08:00
Richard Meadows
07f7571dd1
Add basic support for EFM32/EZR32 chips
...
Tested with EZR32LG230
2015-10-23 19:58:44 +01:00
Antti Nykänen
3f9ea8250a
Defined snprintf to sniprintf on launchpad-icdi
2015-10-22 19:33:45 +03:00
Antti Nykänen
2365bbe010
TI TM4C/LM4F cdc-acm fixes
2015-09-30 15:48:01 +03:00
Gareth McMullin
7e5a664df9
Merge pull request #98 from UweBonnes/stm32l4
...
Add STM32L4 handling. No option write handling yet.
2015-09-01 11:01:36 +12:00
Gareth McMullin
6ec35bc9ff
Merge pull request #97 from UweBonnes/stm32f7
...
Stm32f7
2015-09-01 10:58:57 +12:00
Gareth McMullin
3aa333ee1c
Merge pull request #95 from bvanheu/feature/nrf51_new_idcode
...
Add 0x0072 as a valid & supported idcode for NRF51
2015-09-01 10:30:55 +12:00
Uwe Bonnes
f7492d93be
Cortex-M: Detect and handle flash patch revision.
...
According to ARM v7-M Architecture Reference Manual
ARM DDI 0403E.b (ID120114)
2015-08-22 13:01:24 +02:00
Uwe Bonnes
51e2adc6d9
Add STM32F7.
2015-08-22 13:01:24 +02:00
Uwe Bonnes
2336a313e4
Add STM32L4 handling. No option write handling yet.
2015-08-22 12:59:56 +02:00
Nicolas Schodet
97cb75145d
Add support for STM32F2xx family
...
The F405 rev A uses a wrong CPUID, this patch use the core identifier to make
the distinction.
Tested with:
- F205
- F405 rev Z
- F429
Unfortunately, I do not have any F405 rev A.
2015-08-17 14:35:11 +02:00
Gareth McMullin
ef574b72b1
Add support for STM32F446x family.
...
Tested with a custom hardware.
2015-07-31 09:05:27 -07:00
Benjamin Vanheuverzwijn
420d2c41c7
Add 0x0072 as a valid & supported idcode for NRF51
2015-07-31 00:00:00 -04:00
Richard Meadows
beacf9c85c
Refactor stm32f1_probe
2015-07-30 07:58:55 +01:00
Richard Meadows
101821ae31
[Bugfix] stm32f1_probe would always return true, breaking support for all other targets
...
The intention of `if (t->driver)` conditional was to test if any of the cases in the preceeding switch/case were met. However t->driver was previously set to point to a default value in cortexm.c:200 and therefore this would always evaluate to true. I've replaced the broken if statement with a duplicate of the switch/case run above.
It looks like this was introduced in 09544bc710
(PR #92 ) but 492d6c9cf8
maybe contributes to the confusion in this instance.
2015-07-12 17:32:48 +01:00
Nicolas Schodet
b60f5283ae
Fix usage of USB_VBUS
...
USB_VBUS is not an alternate function, it is an additionnal function which is
always enabled.
If configured as an alternate function, it will draw current from VBUS.
2015-06-23 11:51:56 +02:00
Uwe Bonnes
a7f6753153
STM32f0: F07 and F09 have 2kiByte blocksize.
2015-06-22 16:44:19 +02:00
Uwe Bonnes
09544bc710
src/stm32f1.c: More verbose FO detection message.
2015-06-22 16:44:08 +02:00
Gareth McMullin
4af5c03d75
lmi: Use registers for stub parameters.
2015-04-21 20:05:41 +12:00
Gareth McMullin
ca17de6243
lpc11xx: Correctly detect LPC8xx devices.
2015-04-11 17:23:01 -07:00
Gareth McMullin
9009ed6581
cortexm: Add target option to inhibit assersion of SRST.
2015-04-11 16:08:59 -07:00
Gareth McMullin
24122aa318
lpc43xx: add chipid for LPC43S37.
2015-04-11 16:08:25 -07:00
Gareth McMullin
09b781f1c1
target: Remove old flash interface.
2015-04-11 16:05:41 -07:00
Gareth McMullin
3d8b34f180
lpc: split out common code and rewrite to use new interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
cd5d569d38
lpc: Reduce differences between lpc11xx and lpc43xx code.
2015-04-11 16:05:40 -07:00
Gareth McMullin
54eb3a719f
samd: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
d340053078
nrf51: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
1541f1c7a8
kinetis: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
9e09ae2e1e
lmi: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
622497f7e2
stm32f1: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
7cd3432994
stm32f4: Add second bank for F42x/F43x.
2015-04-11 16:05:40 -07:00
Gareth McMullin
1efad1a03a
stm32f4: use new flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
fc2f266a13
sam3x: Update to use new buffered flash interface.
2015-04-11 16:05:40 -07:00
Gareth McMullin
21c209fd8f
sam3x: simplify probe function.
2015-04-11 16:05:40 -07:00
Gareth McMullin
3ed4207e8a
stm32l0: Update to use new buffered flash writes. Remove old stubs.
2015-04-11 16:05:40 -07:00
Gareth McMullin
45328ea124
Add buffering support for flash drivers.
...
Some devices can get a significant boost in performance by writing to
flash memories one page at a time. Generic function to do this are
provided at the target layer and may be used by flash drivers.
2015-04-11 16:05:40 -07:00
Gareth McMullin
36f749fed9
Fix flash buffer alignment in target layer.
2015-04-03 21:21:30 -07:00
Gareth McMullin
7202db5860
Add new functions to wrap flash driver erase/write/done operations.
2015-04-03 21:20:01 -07:00
Gareth McMullin
691d21989a
Add function to add simple flash driver to target.
...
Clean up ram/flash/memory map on target destruction.
2015-04-03 21:18:16 -07:00
Gareth McMullin
0fc635b3f8
Add functions for dynamically generating the XML memory map.
2015-04-03 21:18:16 -07:00
Gareth McMullin
482070c91b
Merge branch 'v1.6-branch'
...
Conflicts:
src/Makefile
src/platforms/stlink/platform.h
src/platforms/swlink/platform.h
2015-04-03 21:02:01 -07:00
Gareth McMullin
97824b7f02
Use git describe for version in generated header file.
2015-04-03 20:21:33 -07:00
Gareth McMullin
865beaba98
Suppress warning about longjmp clobbering local variable.
2015-04-02 21:06:18 -07:00
Florian Larysch
bc89217e3f
sam3x: add SAM3U support
2015-04-01 00:04:52 +02:00
Gareth McMullin
21d464293c
gdb: don't access target fields directly.
2015-03-29 18:06:13 -07:00
Gareth McMullin
c2cde32716
Improve cortexm_read/write_regs. Use more sensible return types.
2015-03-29 17:37:03 -07:00
Gareth McMullin
274b818517
Make cortexm_pc_write static.
2015-03-29 16:48:51 -07:00
Gareth McMullin
779dcf0f69
stm32l0: use cortexm_run_stub.
2015-03-29 16:47:55 -07:00
Gareth McMullin
012922ed00
nrf51: use cortexm_run_stub.
2015-03-29 16:31:38 -07:00
Gareth McMullin
810269dce1
nrf51: Use generated stub.
2015-03-29 16:28:18 -07:00
Gareth McMullin
cac286d398
lmi: Use generated stub with cortexm_run_stub.
2015-03-29 16:20:57 -07:00
Gareth McMullin
2215e33bcf
lmi: Clean up magic numbers, remove adiv5 links, and doc ref.
2015-03-29 15:58:18 -07:00
Gareth McMullin
31fae032f7
cortexm: Separate stub loading from running.
2015-03-29 15:20:00 -07:00
Gareth McMullin
9f271d5cd7
Consistently use 'target *t' for target var.
2015-03-28 20:47:17 -07:00
Gareth McMullin
1e54139f4a
target: Remove pc_read/pc_write methods.
2015-03-28 20:15:33 -07:00
Gareth McMullin
4313b64bbe
Add a flash_done target method.
2015-03-26 20:47:57 -07:00
Gareth McMullin
f74def3552
Remove old STM32L1 driver.
2015-03-26 20:47:57 -07:00
Gareth McMullin
d9af3cca6c
Remove unfinished ARM7TDMI driver.
2015-03-26 20:47:57 -07:00
Gareth McMullin
64c79e1d03
Consistently name target var 't' in cortexm.
2015-03-26 20:47:57 -07:00
Gareth McMullin
bda4279028
Send error reply and abandon target list on unhandled timeout.
2015-03-26 20:42:47 -07:00
Gareth McMullin
68f54a3545
Remove old platform specific error handling macros.
2015-03-22 14:06:56 -07:00
Gareth McMullin
5ab8564ff6
Clean up handling of lost targets using new exceptions mechanism.
2015-03-22 14:05:12 -07:00
Gareth McMullin
588bad34ba
Build with -Os for swlink.
2015-03-22 12:26:45 -07:00
Gareth McMullin
9a8dbdeff7
Fix errors when building for non-native platforms.
2015-03-22 12:26:45 -07:00
Gareth McMullin
83b83ca48f
Use controlled timeout on SW/JTAG DP transactions.
2015-03-22 12:26:45 -07:00
Gareth McMullin
d0a03f55a6
Handle timeout exceptions during scans and report to the user.
2015-03-22 12:26:45 -07:00
Gareth McMullin
d6225eec76
Raise timeout exception when target is in WFI.
...
Ignore the exception when polling for halt, and report the exception
to the user if halting the target fails.
Remove old allow_timeout flag in DP struct that's no longer needed.
2015-03-22 12:26:45 -07:00
Gareth McMullin
fa046601a5
Add exception handling mechanism and raise exception on low-level comms failure.
2015-03-22 12:26:45 -07:00
Gareth McMullin
a497127a8d
Move MIN macro to general.h
2015-03-22 12:23:03 -07:00
Gareth McMullin
acfd258aa7
Rewrite STM32F4 stub in C and use new interface.
2015-03-19 21:49:09 -07:00
Gareth McMullin
8ddb186b35
Allow stub to return an error code.
2015-03-19 21:49:09 -07:00
Gareth McMullin
437aedda11
Rewrote stm32f1 stub in C and call with parameters in registers.
2015-03-19 07:48:57 -07:00
Gareth McMullin
c2462a6788
Add cortexm generic stub call, and use in stm32f1 driver.
2015-03-19 07:48:47 -07:00
Gareth McMullin
e380ced517
Change STM32F1 driver to use generated stub.
2015-03-19 07:43:36 -07:00
Gareth McMullin
1de685198c
Flatten samd_probe.
2015-03-17 21:58:36 -07:00
Gareth McMullin
5c337c9aa7
Whitespace.
2015-03-17 21:58:36 -07:00
Richard Meadows
1366c32f89
samd: Simplified samd_flash_write further by always using manual writes.
...
Tested on all three devices as listed at the top of samd.c
2015-03-17 21:58:36 -07:00
Gareth McMullin
0bf7778759
samd: Remove low level ADIv5 calls an favour of target_mem_write.
2015-03-17 21:58:36 -07:00
Gareth McMullin
018d9cce80
Check vasprintf return value.
2015-03-17 21:19:02 -07:00
Gareth McMullin
f5f87bf70f
Build for stlink with -Os.
2015-03-15 20:39:19 -07:00
Gareth McMullin
c3f798438a
Remove abstraction of adiv5_dp_write. Both implementations were identical.
2015-03-15 17:12:31 -07:00
Gareth McMullin
2bf54f9a72
Replace adiv5_ap_mem* functions with inline wrappers to target mem*.
2015-03-15 16:02:09 -07:00
Gareth McMullin
ee3af96a73
Consolidate target_mem_read* and target_mem_write* methods.
...
There are now only mem_read and mem_write, that must
handle all alignments. These methods return void, errors must be
checked with target_check_error.
2015-03-15 14:31:57 -07:00
Gareth McMullin
2e785e56fa
adiv5: Encode APnDP into register definition.
...
Clean up magic numbers in adiv5 calls.
Removed old adiv5_dp_write_ap and adiv5_dp_read_ap.
2015-03-14 18:03:04 -07:00