Commit Graph

612 Commits

Author SHA1 Message Date
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 8770b4aa39 Merge pull request #133 from gsmcmullin/armv6m-fix
adiv5: Probe ARMv6M devices with Cortex-M driver.
2016-06-01 07:48:03 +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 da10f8a6bc Merge pull request #129 from gsmcmullin/srst_cleanup
Cleanup of SRST handling.
2016-04-19 13:20:36 -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 0e8cbd4419 Merge pull request #127 from gsmcmullin/warning_fixes
Fix build warnings.
2016-04-18 12:32:46 -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
Gareth McMullin 4d6f691f48 Merge pull request #120 from lyorak/upstream_patches
added support for KL02 family
2016-03-16 08:05:30 +13: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
Gareth McMullin 53d2c74b99 Merge pull request #118 from ziutek/master
nrf51: Another undocumented version.
2016-02-26 14:10:31 +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
Gareth McMullin ac9d87635c Merge pull request #114 from markrages/master
Add nRF52 support.
2016-02-11 15:49:13 +13: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
Gareth McMullin 3527880452 Merge pull request #110 from markrages/master
Update nRF51 IDs, add nRF51422 and xxAB/xxAC devices.
2016-01-04 10:39:00 +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
Laurent Bonnans 1e5c053f4f flashstub: build efm32.stub with makefile 2015-12-14 11:28:28 +01:00