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
Gareth McMullin
6f5b1873d7
Use size_t for sizes in flash functions. Fix all sign compare warnings.
2015-03-14 15:18:22 -07:00
Gareth McMullin
f5c856af3b
Fix pointer sign warnings and remove -Wno-pointer-sign.
2015-03-13 20:35:39 -07:00
Gareth McMullin
f52a51403f
stm32l0: cleanup includes.
2015-03-11 20:47:51 -07:00
Gareth McMullin
1196b03d66
stm32l0: Fix pointer/integer casting warnings.
2015-03-11 20:47:51 -07:00
Gareth McMullin
3d28c1418c
Cleaned up printf/scanf for C99 integer types.
2015-03-11 20:47:42 -07:00
Gareth McMullin
4baa8aba4f
cdcacm: Fix DCD for second ACM interface.
2015-03-11 20:13:38 -07:00
Gareth McMullin
7c1c19881f
Reassert DCD after DTR is written. Fixes #41 .
2015-03-11 05:45:43 -07:00
Marc Singer
bf1cb71eb7
Revisions on Gareth's comments.
...
o Implemented byte writes to EEPROM now that the emulator has a
byte-wide target write.
o Added comment describing the reason that mass erase doesn't work.
o Removed all unused code.
o Changed to Linux kernel indent style.
o Changed to Linux kernel function to parenthesis style.
o Stub generation doesn't use Perl, switched to sed. Also, only
including the instructions instead of the source and the instructions.
o Handling unaligned destination writes.
2015-03-08 16:25:22 -07:00
Marc Singer
e0a8ce5a88
STM32L0x target support.
...
Target support for stm32l0's and stm32l1's including option bytes and
data EEPROM. This module will superceed the previous stm32l1 driver.
o Program flash write and erase.
o Options modification and interpretive status.
o Stubs for program flash writes and erases. Stubs are modestly
faster than non-stub version. The stm32l0 will not execute stubs
when the MCU has crashed. A monitor option may be used to force
non-stub flash writes.
o Stubs generated from C++ code and converted to arrays of half-words.
o Writes to data EEPROM supoprted when loading segments.
o EEPROM data monitor command to write words.
o Stubs supported on stm32l1.
2015-03-08 16:17:34 -07:00
Gareth McMullin
0d99e22a26
Quieten build system.
2015-03-07 11:03:50 -08:00
Gareth McMullin
1eac78b1c8
Move targets to make bin and hex files to toplevel makefile.
2015-03-07 11:03:50 -08:00
David Lawrence
c8f469c868
SAM4S: Erase flash in 8K instead of 16K chunks.
2015-03-05 10:46:22 -05:00
Gareth McMullin
49390fee2a
Fix Windows DFU instructions in the Hydrabus readme.
2015-03-04 20:22:19 -08:00
Benjamin Vernoux
9f0c29d329
Add support for HydraBus (tested with SWD with STM32F405 and SWD+JTAG with LPC4330 M0/M4)
2015-03-04 20:22:00 -08:00
Gareth McMullin
c731c6ece3
Make F4 conditionals check STM32F4, not F4DISCOVERY.
2015-03-03 21:39:29 -08:00
Gareth McMullin
2e37db2270
Error on any failure on 'make all_platforms'
2015-03-02 23:14:43 -08:00
Gareth McMullin
87b8f330f0
Add a makefile target to build all platforms.
2015-03-02 22:20:25 -08:00
Gareth McMullin
3e466f2d23
Factor out timing routines common to all STM32 targets.
2015-03-02 21:59:04 -08:00
Gareth McMullin
b07ffffcee
Factor out common cdcacm.c from stm32 and tm4c.
...
Cleaned up interface to enter bootloader and read serial number.
2015-03-02 10:16:33 -08:00
Gareth McMullin
4d4813de87
Clean up includes everywhere.
...
All source files include general.h first and before anything else.
This inlcludes platform.h and platform_support.h
No header file needs to include to include any of these, but should include
any others needed for it's own declarations.
2015-03-01 22:16:04 -08:00
Gareth McMullin
9d80641261
Move common platform include to a common directory.
2015-03-01 20:15:31 -08:00
Gareth McMullin
476f83b69a
Move common USB stuff out of platform header files.
2015-02-28 22:48:26 -08:00
Gareth McMullin
5eff0ab5d6
Factor out common GPIO code in STM32 platforms.
2015-02-28 22:09:50 -08:00
Gareth McMullin
48fb7ec662
Add missing includes to fix warnings.
2015-02-28 22:06:10 -08:00
Gareth McMullin
75001a4421
Factor Morse code functions out of platform code.
2015-02-28 22:05:10 -08:00
Gareth McMullin
5d136398e1
Use sensible return convention for platform_target_get_power()
2015-02-28 21:23:24 -08:00
Gareth McMullin
1b2cd547bc
Merge pull request #72 from dlaw/master
...
Add support for SAM4 erase command
2015-01-26 10:59:32 +13:00
Gareth McMullin
1552218e8f
Merge pull request #71 from maknoll/master
...
SAM3S support
2015-01-26 10:56:52 +13:00
David Lawrence
b771d0dcd6
Add support for SAM4 erase command
2015-01-23 16:36:12 -05:00
Martin Knoll
a7283196d1
SAM3S support
2015-01-22 16:09:01 +01:00
Richard Meadows
ea78e2d737
Complete refactor of samd20 -> samd
2015-01-18 22:40:02 +00:00
Richard Meadows
565795e168
Added support for SAMD10/11/21, and list of tested SAM D devices
...
This allows blackmagic to be used with the new Arduino Zero board via
the unpopulated SWD header on the east end of the board.
2015-01-18 22:35:59 +00:00
Richard Meadows
3726061773
Support for the NVMCTRL Security Bit (PROT=1)
2015-01-18 20:46:26 +00:00
Richard Meadows
e75ea64a01
Renamed nvmc control a register to match datasheet
2015-01-18 14:11:58 +00:00
Richard Meadows
1c1312b467
Added better feedback for samd erase failures
2015-01-18 13:22:41 +00:00
Gareth McMullin
a3ab9b24d1
Avoid repetition of cortexm code in stmd20 driver.
2015-01-18 12:16:17 +13:00
Gareth McMullin
f1981925b3
Merge branch 'samd20-revb-fix' of https://github.com/richardeoin/blackmagic into richardeoin-samd20-revb-fix
2015-01-18 11:03:10 +13:00
Richard Meadows
cad30cfa39
Fixed run command on SAM D20 old revision B silicon.
...
This appears to be related to Atmel Errata Reference 12015 (see §
35.4.1 DSU in the datasheet) but only applies to revision B silicon -
not revision C. While this is an old silicion revision (latest is
revision E as of 17 Jan 2015) I found one on a development board.
2015-01-17 18:58:00 +00:00
Richard Meadows
9072faf6ca
Fixed spaces / tabs from last commit
2015-01-17 18:35:36 +00:00
Richard Meadows
c12002b636
Check target_attach succeeded in vRun command, and return error if not
2015-01-17 18:30:58 +00:00
Gareth McMullin
abcc04d4f3
Merge pull request #63 from beewoolie/static-stubs
...
Fix to move stubs into rodata.
2015-01-17 13:18:20 +13:00
David Lawrence
985627af7e
SAM4S support
2015-01-12 14:53:58 -05:00
Marc Singer
da28970c3e
Fix to move stubs into rodata.
...
o Stubs were declared as globals which means they will be initialized
data. No need for this. Now, stubs are static const and are only
present in the program image.
2015-01-09 18:18:10 -08:00
Gareth McMullin
9c5ffd61f7
First cut at Freescale Kinetis support.
2015-01-06 22:26:00 +13:00
Uwe Bonnes
d162e75ceb
stm32f4.c: Add STM32F411 ID.
2014-12-23 21:32:21 +13:00
Gareth McMullin
fdd7799304
Merge pull request #60 from themadinventor/lp-icdi-clean
...
Added (preliminary) support for TI TM4C123 Launchpad
2014-12-23 21:31:43 +13:00
Fredrik Ahlberg
346258934b
Added support for TI TM4C123 Launchpad
2014-11-23 22:59:16 +01:00
Vegard Storheil Eriksen
9434299613
Add support for halfword memory accesses.
2014-10-21 00:12:50 +02:00
Gareth McMullin
fd9eef821e
Revert USB double buffered OUT handling on STM32F1.
...
This introduced a bug where the endpoint can get stuck, forever sending NAK.
2014-10-16 13:50:56 -07:00
Gareth McMullin
f85a8c4ebb
Fix build for f4discovery by defining platform_hwversion().
2014-10-16 13:50:56 -07:00
Gareth McMullin
a5549d630c
Whitespace cleanup.
2014-10-16 13:50:56 -07:00
Gareth McMullin
60626e5bbe
Merge pull request #57 from aibara/dev/lpc43xx_wdt
...
LPC43XX: Attempt to handle case of running WDT.
2014-09-17 10:14:21 +12:00
Allen Ibara
c5abc9a0bd
LPC43XX: Attempt to handle case of running WDT.
...
If the WDT is running, it may reset while we are trying to flash.
Since we can't disable it, we set a long period and attempt to pet it
before each IAP call.
2014-09-16 14:54:24 -07:00
Gareth McMullin
9fda010b32
Give up unwinding a fault if reading the stack fails.
2014-09-12 12:24:43 +12:00
Richard Eoin Meadows
091389b982
SAMD20 prints die revision
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
f4e20d0d04
Ooops - Semicolon from last commit :-)
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
f4474557d0
SAM D20 MBIST shouldn't fail silently
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
39a0b064af
Use external access DSU range
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
2a444ab1fb
Fixed SAM D20 support with reset attached.
...
monitor connect_srst enable can be used to connect to targets that re-use the SWCLK pin
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
e75798f201
Optimised flash write, programming speed is now approx. 2x faster
2014-09-03 21:17:48 +12:00
Richard Eoin Meadows
02812b6bf1
Added notes about the datasheet and NVMCTRL Security Bit
2014-09-03 21:17:41 +12:00
Richard Eoin Meadows
945a2802d5
Atmel SAMD20 support
2014-09-03 21:17:41 +12:00
Gareth McMullin
9d9ecb572e
Assert SRST when scanning JTAG if configured. Closes #54 .
2014-08-27 19:03:37 +12:00
Gareth McMullin
8a32b46f65
Fix build for non-native targets.
2014-08-08 20:22:33 +12:00
Gareth McMullin
84fc40085e
Send a null packet on end of USB transfer if last data packet is full.
2014-08-06 12:38:57 +12:00
Hans Baier
d265b76001
Add support for STM32F401RE
2014-08-06 10:49:48 +12:00
Gareth McMullin
d7c30caa3e
Style clean up.
2014-07-30 21:15:43 +12:00
Gareth McMullin
f06bc0fd79
Minor fixes to stm32f1 flash routines.
2014-07-30 20:27:30 +12:00
Gareth McMullin
fad6eb3c14
Fix parity support on USB UART interface.
2014-07-30 19:57:18 +12:00
Gareth McMullin
2b61bed291
Merge branch 'nrf51-uicr' of https://github.com/richardeoin/blackmagic into richardeoin-nrf51-uicr
...
Conflicts:
src/nrf51.c
2014-07-30 16:55:02 +12:00
Gareth McMullin
4447fb428a
Merge pull request #50 from richardeoin/nrf51-ficr
...
Added monitor commands for reading various nRF51 device parameters
2014-07-30 16:51:46 +12:00
Gareth McMullin
936b7460e0
Merge branch 'John-Titor-lpc11xx-flash'
2014-07-30 16:48:56 +12:00
Gareth McMullin
3daf5d7e11
Merge branch 'lpc11xx-flash' of https://github.com/John-Titor/blackmagic into John-Titor-lpc11xx-flash
...
Conflicts:
src/lpc11xx.c
2014-07-30 16:45:55 +12:00
Gareth McMullin
bfe5d1168b
Merge pull request #47 from richardeoin/target-power
...
Added monitor option to toggle target power
2014-07-30 14:19:46 +12:00
Gareth McMullin
7e396b0205
Merge pull request #30 from BuFran/pulls/l152c
...
[SUP] Add support for stm32l152c-discovery board
2014-07-30 14:17:51 +12:00
Gareth McMullin
5d61575ce6
Merge remote-tracking branch 'origin/lpc8xx'
...
Conflicts:
src/lpc11xx.c
2014-07-30 14:11:10 +12:00
Frantisek Burian
88a80e25d5
[SUP] Add support for stm32l152c-discovery board
2014-07-09 16:35:33 +02:00
Richard Eoin Meadows
7dc18768c4
Support erasing + flashing the User Information Configuration Registers (UICRs)
2014-06-11 13:43:59 +01:00
Richard Eoin Meadows
380f128d0a
Added monitor commands for reading various nRF51 device parameters
2014-06-11 13:39:06 +01:00
none
3543e560af
Fix lpc11xx magic number programming when chunks overlap
...
In the case where the vectors are in a separate section smaller than
the chunksize, the lpc11xx magic number calculation could generate an
incorrect value.
2014-06-10 21:23:17 -07:00
Richard Eoin Meadows
c1b1d45155
TRST only exists on hardware version 0
2014-05-28 12:45:21 +01:00
Richard Eoin Meadows
42e41edfa1
Target power option is only for versions > 0
2014-05-28 12:33:43 +01:00
Richard Eoin Meadows
c9089f5851
Added monitor option to toggle target power
2014-05-28 12:25:48 +01:00
Richard Eoin Meadows
63bce97cbd
PLATFORM_FATAL_ERRORs are now caught even when they happen in the
...
initial JTAG scan that occours during platform_init.
Previously any fatal errors that occoured during this scan caused a
hardfault.
2014-05-28 12:10:26 +01:00
Gareth McMullin
72ae78a185
Updated libopencm3. Fixes broken bootloader, issue #43 .
2014-05-08 11:02:35 -07:00
Mike
34d0f64529
Nordic nRF51 series support
2014-05-01 15:09:59 +01:00
Gareth McMullin
3077472620
Unwind hardfaults in dual-stack mode.
2014-03-31 20:58:06 +13:00
Jared Boone
096e1b32c6
Add support for LPC11U14 (tested) and related U-series microcontrollers (untested).
2014-03-08 19:07:50 +13:00
Gareth McMullin
cbb85b6a45
LPC812 support
2014-03-08 18:58:39 +13:00
Frantisek Burian
12aeaad441
[locm3] Use the new clock-enabling mechanisms in locm3.
2014-02-13 18:21:16 +01:00
Frantisek Burian
690e99c6b2
Fix the STK_CTRL to the STK_CSR library change.
2014-02-13 17:52:09 +01:00
Richard Eoin Meadows
e5624a7e6d
Added support for the LPC1115FBD48/303 (ID determined experimentally)
2014-01-29 08:02:04 +08:00
bon@elektron.ikp.physik.tu-darmstadt.de
d27c50c601
Add STM32F03X and STM32F07X handling.
2014-01-24 05:03:38 +08:00
bon@elektron.ikp.physik.tu-darmstadt.de
0c9d5d8166
Add dfu bootloader update application and use absolute delay for stlink
...
Hello,
appended 3 patches
- adds a dfu-bootloader appliaction
- uses absolute delays when waiting for pull-up delays on the STLINK
(hopefully fixes issue #30 )
Updating the dfu-bootloader by additional application is helpfull for the
STLINK, as for flashing the bootloader by SWDb otherwise jumpers need to be
soldered or external SWD is not possible.
Use like:
- dfu-util -s 0x08002000:leave -D dfu_upgrade.bin
- dfu-util -s 0x08000000:leave -D blackmagic_dfu.bin
- Push reset buttom and reconnect to enter new dfu bootloader
- dfu-util -s 0x08002000:leave -D blackmagic.bin
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From fae5022c304a8866f056ea66660ac7ce3809dcf8 Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Sun, 20 Oct 2013 15:00:36 +0200
Subject: F1: Prepare to update dfu bootloader via DFU with additional
application.
2014-01-24 04:59:09 +08:00
Gareth McMullin
ac0fc8216a
Merge pull request #35 from burgrp/upstream
...
Fix in checksum calculation condition
2014-01-23 10:52:09 -08:00
Gareth McMullin
eb2f2afa9a
Merge pull request #32 from aibara/lpc43xx_updates
...
Lpc43xx target support updates
2014-01-23 10:51:46 -08:00
Pavel Burgr
ce17cc2e2b
Fix in checksum calculation condition
2014-01-22 10:35:35 +01:00
Allen Ibara
01244fc84d
LPC43XX: Force target to use internal clock.
...
Without this, flash write timing might be incorrect.
2014-01-10 13:24:25 -08:00
Allen Ibara
2b798fa8fc
LPC43XX: Make the chunk_offset logic more explicit.
2014-01-10 13:24:25 -08:00
Allen Ibara
487252150f
LPC: Cleanup regs_size (in bytes).
...
Also use sizeof() to make it clear why we multiple and divide by 4.
2014-01-10 13:24:25 -08:00
Allen Ibara
df9c19f071
LPC43XX: Remove type cast for erase function
2014-01-10 13:24:25 -08:00
Allen Ibara
911af3b836
LPC43XX: Add reset command to do a system reset (but not the debug).
2014-01-10 13:24:25 -08:00
Allen Ibara
813622b1b6
LPC43XX: Add mkboot target command; dont make banks bootable by default.
...
This used to be done transparently in the write step, however that
breaks the 'verify' command. This is also more flexible for cases
where you want to write a flash bank without ever intending it to
be bootable.
2014-01-10 13:24:25 -08:00
Allen Ibara
29c7846612
LPC43XX: Make sure to align target struct to word alignment
2014-01-10 13:24:25 -08:00
Frantisek Burian
8014d434de
Update to the newest libopencm3
2014-01-04 17:29:54 +01:00
Gareth McMullin
8835df1822
Merge remote-tracking branch 'origin/usbuart_highrate'
2013-12-04 16:16:08 +13:00
Gareth McMullin
42570efaf8
Revert "STM32F4: Add handling of second bank and dual boot devices."
...
This reverts commit 536482f804
.
2013-10-22 07:48:06 +08:00
Uwe Bonnes
09fbe783c5
f4discovery: Limit clock to 48 MHz and stack 24 kiByte so that code can be compiled unchanged for F401Discovery too.
...
TODO: Bump clk up to 84 MHz as soon as libopencm3 supports that speed.
2013-10-22 07:26:35 +08:00
Uwe Bonnes
536482f804
STM32F4: Add handling of second bank and dual boot devices.
2013-10-22 07:21:35 +08:00
Uwe Bonnes
cbd73cfb8f
STM32F4: Recognize F401.
2013-10-22 07:21:35 +08:00
Uwe Bonnes
5aa802969b
stlink: Give the NRST check more time as otherwise some L1 discovery board stayed in the bootloader.
2013-10-22 07:18:09 +08:00
Uwe Bonnes
086f3565f0
stm32f1: Fix handling of option byte write. Write needs to happend on erased option bytes.
2013-10-20 16:14:25 +02:00
Uwe Bonnes
15e529a43a
stm32f1.c: On a read protected device, deny any other option action than erase.
...
Otherwise the first option action triggers an error, inhibiting further option
actions.
2013-10-20 16:14:19 +02:00
Michael Tharp
c395c6f73a
Configure SRST output as open-drain for BMP Mini hardware
2013-10-05 13:14:03 +08:00
Benno Leslie
3cce6f472c
Add support for the SYS_WRITEC semihosting operation.
...
This is implemented in the same manner as QEMU semihosting
support, specifically, a SYS_WRITEC results in a single
character write to STDERR.
2013-10-05 13:14:03 +08:00
Richard Eoin Meadows
b8f9a2ed4b
Bugfix: Always apply the vector table magic number correctly.
...
Previously when the flash write length was less than the Chunk size the 2nd chunk write would re-calculate and apply an incorrect magic number
2013-10-05 13:14:03 +08:00
Marc Singer
40820a2354
Added internal pull-up to PWR_BR.
...
o Prevent probe from inadvertently powering target. If PWR_BR is
allowed to float, the gate on Q1 (blackmagic_mini) will tend to be
close enough to zero to turn the transistor on. We activate the
internal pull-up on this IO pin to force the transistor off.
2013-10-05 13:14:03 +08:00
BuFran
e67192348f
FIX: usbd_init compatibility fix
...
Updated compatibility with libopencm3 commit 113e5c22e6390ba072148315e83a5faa5ff7ce86
2013-10-05 12:23:23 +08:00
BuFran
c857165c12
FIX: FLASH_* collision with libopencm3 definitions
...
Resolve collision to FLASH_* from the libopencm3 by adding STM32F1_ prefix to the L1's
2013-10-05 12:23:23 +08:00
BuFran
c28350f242
FIX: u{8,16,32} -> uint{8,16,32}_t to be compatible with new library
...
The use of u8, u16, u32 has been deprecated in libopencm3.
Update it with standard uint8_t, uint16_t, uint32_t types
2013-10-05 12:23:23 +08:00
BuFran
f1584b266b
[BUILD] Don't throw error on already cleaned output
2013-10-05 12:23:23 +08:00
Gareth McMullin
700833f38f
Use do {...} while(0) for PLATFORM_FATAL_ERROR() macro.
2013-08-19 12:27:36 +12:00
Gareth McMullin
a30ef31018
Handle SW-DP fault on WDATAERR.
2013-06-19 21:06:59 +12:00
Gareth McMullin
d8f737fc53
Disable ADIv5 timeout while target is running.
2013-06-19 21:05:53 +12:00
Paul Fertser
d90e10cdba
adiv5_swdp: avoid dead-loop with a sleeping target
...
A sleeping target continues to communicate over SWD properly but
consistently returns SWDP_ACK_WAIT.
It might be nice to be able to wait for the target to wake up on its
own but if it's not going to wake up, BMP becomes absolutely
unresponsive. Probably the timeout should be made configurable or some
other workaround invented.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-06-19 19:28:16 +12:00
Gareth McMullin
27a86e244f
native: Enable hard SRST signal.
2013-06-19 19:21:49 +12:00
Gareth McMullin
c05b7a1f63
Rename lpc11xx driver.
2013-06-17 16:06:03 +12:00
Gareth McMullin
3caaa28fa1
Fix warning about implicit cast.
2013-06-17 15:57:13 +12:00
Gareth McMullin
8c877d6dfa
Fix trailing whitespace everywhere.
2013-06-17 15:53:32 +12:00
Gareth McMullin
2d63dd4b5b
Fix register array sizes.
2013-06-17 15:52:15 +12:00
Paul Fertser
df32aad757
semihosting: improve handling of console I/O
...
This implements special handling for SYS_OPEN to catch requests for
":tt" which is reserved by ARM for console input/output. They're
mapped to the appropriate GDB file descriptors automatically.
An additional file handle offset is introduced because ARM doesn't
consider zero handle to be valid.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-18 15:33:58 +12:00
Gareth McMullin
5020d1f05d
Move semihosting support to cortexm.c.
...
Try to implement more syscalls.
2013-05-18 15:33:58 +12:00
Paul Fertser
aca421d0bb
Basic semihosting support
...
Implement bare minimum necessary to support console IO.
This works with standard newlib builds and is based on the reference
documentation:
http://infocenter.arm.com/help/topic/com.arm.doc.dui0471c/CHDJHHDI.html
Tested using gcc-arm-none-eabi-4_7-2013q1-20130313 for both
stm32f1-based BMP and stm32f0 target.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-18 15:33:58 +12:00
Gareth McMullin
feaf626673
Add support for Atmel SAM3N devices.
2013-05-18 15:32:06 +12:00
Paul Fertser
cdaed128c1
stlink: add support for SRST handling
...
This enables SRST signals in open drain mode for both stlinkv1 and
stlinkv2 hardware platforms.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-14 12:34:53 +12:00
Paul Fertser
e0fc21a2a7
adiv5_swdp: allow to connect to a sleeping target by pulling SRST
...
This patch introduces a new command, "connect_srst [enable|disable]"
which allows to enable special mode in which SRST would be pulled low
before the SWD scan till attaching to a target.
Since on Cortex-Mx the SRST signal doesn't gate JTAG and SWD, it's
possible to connect to a target while holding reset, ask it to stop at
reset vector and only then deassert reset, thus allowing to attach to
the kind of firmware that goes immediately to sleep or disables
debugging by other means early on start.
Tested on an STM32VLDiscovery board with STM32F100 configured to go to
STOP mode and executing WFI in the very beginning of main().
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-05-14 12:32:44 +12:00
Allen Ibara
510d1c0dc8
Add support for burning flash on lpc4337.
2013-05-14 12:25:13 +12:00
Gareth McMullin
56f44c39d9
nxp: support the lpc1114dip28 by Rickta59
2013-04-27 20:57:20 -07:00
Gareth McMullin
e3f3171a33
usbuart: Fix build error and clean up whitespace.
2013-04-27 13:14:22 -07:00
Allen Ibara
43f7e7a3cf
Changes to the USBUART to make it less likely to drop characters at higher baud rates.
...
USB UART seems to work fine at 115.2Kbps or 230.4Kbps, but starts to drop characters
as the data rate goes higher. This commit changes the usbuart ISR to fill a software
FIFO, and adds a low priority timer interrupt to run deferred processing to drain a
FIFO and send USB CDCACM packets, rather than calling the usb send within the UART
ISR.
Tested on native platform, up to 1.5MBps.
2013-04-27 12:56:58 -07:00
Uwe Bonnes
f1ea5ed8f9
F4Discovery: Slow Down GPIO access a little, as off-board SWD otherwise needs _very_ good ground connection.
2013-04-23 13:43:43 -07:00
Uwe Bonnes
ad151fdca8
F4 Discovery: - Unconditionally use the System Bootloader - Use PC2/4/5/6 Pins for JTAG/SWD to avoid collision with eventual STLink Uart connection - Indicate Bootloader with blue LED
2013-04-23 12:14:18 -07:00
Gareth McMullin
6659d87e9b
Remove DFU bootloader self protection.
...
It can still be enabled by building with -DDFU_SELF_PROTECT
2013-04-16 16:54:52 -07:00
Gareth McMullin
126df7bb35
Allow extra LDFLAGS on command line. Use nano.specs for swlink.
2013-04-16 16:47:38 -07:00
Gareth McMullin
45e02360b7
native: Fix up deprecated warnings.
2013-04-16 12:47:29 -07:00
Gareth McMullin
89b908337d
Add missing #includes
2013-04-16 12:36:19 -07:00
Gareth McMullin
67a96410e3
libftdi: Clean up warnings.
2013-04-16 12:33:28 -07:00
Gareth McMullin
da448ec1a6
libftdi: Add 'flossjtag' cable.
2013-04-16 12:14:37 -07:00
Uwe Bonnes
6b7babf624
stm32f4: Add option erase command
...
--
Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
>From d488dffe4dab4e5188c750489006260745a9e25a Mon Sep 17 00:00:00 2001
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Mon, 15 Apr 2013 15:26:58 +0200
Subject: stm32f4: Add option erase command
2013-04-15 10:22:17 -07:00
Paul Fertser
9c95f039cf
Make code compatible with newlib-nano and use it for stlink
...
With gcc-arm-none-eabi-4_7-2013q1-20130313 and -O2 I get
text data bss dec hex filename
45744 304 2376 48424 bd28 blackmagic
With -Os the results are even more impressive:
text data bss dec hex filename
37900 304 2376 40580 9e84 blackmagic
Since -Os might lower the debugging speed, do not enable it yet in the
absence of real measurements.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-04-14 11:48:59 -07:00
Paul Fertser
91b481731d
stm32f1/stm32f4: fix hardware CRC calculation
...
This was real-life tested on stm32f1 hardware including computation
for odd-sized ranges.
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2013-04-14 11:35:23 -07:00
Gareth McMullin
7db6e3e00c
Revert "Revert "STM32: Use hardware CRC unit""
...
This reverts commit 58abbf7fc7
.
2013-04-14 11:28:46 -07:00
Gareth McMullin
58abbf7fc7
Revert "STM32: Use hardware CRC unit"
...
This reverts commit 32b909067b
.
This CRC routine doesn't work. The bit order used by the
STM32 CRC unit is reveresed from what GDB uses.
2013-04-04 21:37:51 -07:00
Gareth McMullin
61d464bf09
dfu: Fix warnings.
2013-04-04 20:16:13 -07:00
Gareth McMullin
d4411fc51f
Removed verison info from USB strings on native platform.
2013-03-31 12:18:11 -07:00
Gareth McMullin
3a70b81cce
Add erase_mass command for stm32f4 devices.
2013-03-27 14:10:07 -07:00
Gareth McMullin
d7a6f0165e
Accept new chip ID for stm32f4 and include flash layout for 2MiB parts.
...
Thanks to Mike Smith.
2013-03-27 11:24:43 -07:00
Gareth McMullin
87dad080e1
Fix build for f4discovery host.
2013-03-17 10:17:05 +13:00
Gareth McMullin
931cd97f15
Removed stm32_can and usps_f407 platforms.
2013-03-15 20:50:55 +13:00
Uwe Bonnes
486c5de013
swlink: Add missing item to connector layout
2013-03-14 22:56:31 +01:00
Uwe Bonnes
920ced062e
SWLINK: Add variant for the STM8S Discovery board
2013-03-12 12:24:10 +01:00
Gareth McMullin
e880c553fb
Restore trace timer interrupt handler.
2013-03-12 19:14:11 +13:00
Gareth McMullin
7c2e994381
Split out platform specific bootloader parts to separate files.
2013-03-12 19:04:10 +13:00
Gareth McMullin
55f161208d
Further split-up of DFU bootloader.
2013-03-12 15:00:15 +13:00
Gareth McMullin
14e5e8b0b6
Separated clean and dirty bootloader sections.
2013-03-12 09:57:28 +13:00
Vegard Storheil Eriksen
e8f9d52d2f
gdb_if: Fix USB flow control.
...
The introduction of the double buffering broke USB flow control, causing
loss of data when a new packet arrived with the previous still present in
the double buffer.
With this patch the endpoint is kept in NAK until the double buffer is empty.
2013-03-06 20:36:49 +01:00
Gareth McMullin
d5be7b7a50
Merge pull request #11 from aibara/master
...
Another small fix for adiv5, ap_mem_write_bytes double increment analogous to previous fix for ap_mem_read_bytes
2013-02-18 00:51:45 -08:00
Gareth McMullin
99ac73907f
Merge pull request #9 from jeffstaley/master
...
Bug fixes for lpc11xx code
2013-02-18 00:50:50 -08:00
Uwe Bonnes
ff8de39774
usbuart: Don't try to send until configured. Enumeration may hang else
2013-02-15 17:55:36 +01:00
Uwe Bonnes
dee82a0d4f
Document changes between ST-Link V1 and V2 and implement needed changes
2013-02-15 17:39:27 +01:00
Uwe Bonnes
f8ea954275
STLINK: Add pointer to Discoveryboard modification instructions
2013-02-11 19:36:22 +01:00
Uwe Bonnes
327ee49a67
usps_f407: add another platform
2013-02-03 14:22:14 +01:00
Uwe Bonnes
31f39339fd
stm32/usbdfu.c: Rearrange code to clarify the tasks to be done
2013-02-03 14:14:48 +01:00
Allen Ibara
4d6ae0a1b2
Avoid double increment of dst in adiv5 write bytes function.
2013-01-31 13:39:41 -08:00
Uwe Bonnes
b1a942aca3
STM32F0/3: Handle the option bytes
2013-01-30 17:16:44 +01:00
Piotr Esden-Tempski
9819f9d5b3
Corrected the led pin for F3 and F4 discovery boards. Needs proper fixing so that it works on all platforms in the future.
2013-01-28 12:15:50 -08:00
mirage
b50b3ffa86
Error in calculating ending sector number.
2013-01-26 11:38:27 +08:00
Uwe Bonnes
96ae3886ff
stm32:cdcacm/usbdfu: Print version and build information in the product string
2013-01-25 13:01:57 +01:00
Uwe Bonnes
8415fc829b
stm32/cdcacm.c: remove unneeded includes
2013-01-23 17:28:34 +01:00
Uwe Bonnes
32b909067b
STM32: Use hardware CRC unit
2013-01-23 16:11:17 +01:00
Uwe Bonnes
d868088d78
STM32L1: Add to the list of known JTAG IDs
2013-01-23 00:16:01 +01:00
Uwe Bonnes
6157754201
libftdi: List some know cables and allow to specify cable and serial
2013-01-23 00:16:01 +01:00
Uwe Bonnes
ce059cc8ed
LIBFTDI: Propagate the command line arguments to platform_init
2013-01-23 00:15:47 +01:00
Uwe Bonnes
73d120577b
usbdfu: Write protect the bootloader sector on F4
2013-01-22 19:04:51 +01:00
Uwe Bonnes
09e2d00b8e
STM32F4: Add option byte handling
2013-01-22 18:49:11 +01:00
Piotr Esden-Tempski
0a91fc3b30
Updated stlink platform to the new locm3 usb api.
2013-01-21 13:43:37 -08:00
Uwe Bonnes
747cc58c2c
STLINK: Unconditionally enable MCO from 8 MHz HSE to PA8 as on original firmware. F3 Discovery has has no quarz for the F3 and needs it.
2013-01-21 12:48:37 +01:00
Uwe Bonnes
8033fb2529
STLINK: Allow to force bootloader by starting with the RESET button pressed
2013-01-21 11:02:44 +01:00
Uwe Bonnes
749fb318e7
gdb_if: Use a doubled buffer scheme for reading data from USB
...
Needed, as the OTG driver erases the data read after eventually calling the callback
2013-01-21 11:02:44 +01:00
Uwe Bonnes
1fa961841d
Product and DFU String now tell the hardware they run on
2013-01-21 11:02:44 +01:00
Uwe Bonnes
04624af4e5
f4discovery: Adapt from the "native" file and add or change code where needed
...
- stm32_mem.py has problems with erasing the big pages, but dfu-util works
- serial GDB remote server doesn't work. It neither works for the STM32F107,
so maybe there is a problem with the usbd_f107_driver.
2013-01-21 11:02:44 +01:00
Uwe Bonnes
e373619374
stlink: LED is connected to GPIO9. Before LED was associated with the MCO Output.
2013-01-21 11:02:44 +01:00
Uwe Bonnes
8b1ec3151f
usbuart, jtagtap, swdptap: Factor out GPIO setup
2013-01-21 11:02:44 +01:00
Uwe Bonnes
7e91f68efa
f4discovery: Create a platforms directory for the F4 on the F4 Discovery board
2013-01-21 11:02:44 +01:00
Uwe Bonnes
15d7077115
traceswo: Move (now-constant) traceswo.c to platforms/stm32
2013-01-21 11:02:44 +01:00
Uwe Bonnes
09715e1db8
traceswo: factor out platform dependant parts
2013-01-21 11:02:44 +01:00
Uwe Bonnes
72ca77af53
stm32_can: Changes to get blackmagic to work
2013-01-21 11:02:44 +01:00
Uwe Bonnes
313a24b316
usbdfu: Allow for different, but constant flash page sizes
2013-01-21 11:02:43 +01:00
Uwe Bonnes
1eb9bfc650
platforms/stm32: Move more platform dependencies to platform.h
2013-01-21 11:02:43 +01:00
Uwe Bonnes
30d8aa1eb7
Move (now-constant) cdcacm.c to platforms/stm32
2013-01-21 11:02:43 +01:00
Uwe Bonnes
04415582bd
cdcacm: move non-constant parts to platform.[hc]
2013-01-21 11:02:43 +01:00
Uwe Bonnes
533608a2f4
Move usbuart to the stm32 directory
2013-01-21 11:02:43 +01:00
Uwe Bonnes
16ac8e0478
stlink: Add DFU capability
2013-01-21 11:02:43 +01:00
Uwe Bonnes
7188a4a8cb
Move usbdfu to platforms/stm32 directory
2013-01-21 11:02:43 +01:00
Uwe Bonnes
67f8176c5b
stlink: Add the UART
2013-01-21 11:02:43 +01:00
Uwe Bonnes
35d6adc236
native/usbuart: Move platform dependant parts to platform.h
2013-01-21 11:02:43 +01:00
Uwe Bonnes
16b9c1e83f
stlink: Update to current libopencm3 usb api.
2013-01-21 11:02:43 +01:00
Uwe Bonnes
ebb48245aa
stlink: Use a seperate linker file as stlink has only 64 kByte
2013-01-21 11:02:43 +01:00
mirage
99a23a7e1a
As per the lpc11xx manual the stack pointer should be set before IAP
...
calls are made.
In lpc11xx_flash_prepare() and lpc11xx_flash_erase() bug in calculating
the ending sector number.
2013-01-13 09:50:23 +08:00
Gareth McMullin
2a46994b42
Fixed magic numbers for CSW access.
2013-01-11 10:02:34 -08:00
Gareth McMullin
ad9c76e97f
Update to current libopencm3 usb api.
2013-01-10 22:01:21 -08:00
Allen Ibara
83a06052f1
Don't increment src address twice in ap_mem_read_bytes function. Fixes corrupted thumb disassembly dumps in gdb.
2013-01-10 14:04:17 -08:00
Gareth McMullin
1d16d6c34c
Check for 10-bit address over flow when auto-incrementing.
...
Clean up whitespace.
2012-11-21 09:50:50 +13:00
Vegard Storheil Eriksen
8f04241aa8
Added support for STM32F37x.
2012-11-15 18:36:32 +01:00
Gareth McMullin
2637f072a1
Probe function return bool, true if device identified.
...
Correctly identify LM3S3748.
2012-11-03 23:53:25 +13:00
Gareth McMullin
e1c1162a1a
Recognise LPC43xx dual core devices.
2012-11-03 21:33:28 +13:00
Gareth McMullin
f526a82773
Move breakpoint packet handler out of main gdb loop.
...
Use gdb_putpacketz for constant strings.
2012-11-03 20:38:27 +13:00
Gareth McMullin
538f4d41b6
Clean up whitespace.
2012-11-03 19:59:01 +13:00
Gareth McMullin
dac1f60dc2
Clean up ancient bad typing and malloc madness.
2012-11-03 19:52:09 +13:00
Gareth McMullin
50b6c623d6
Check for null pointer before decalaring register array.
2012-11-03 19:04:27 +13:00
Gareth McMullin
0990c2224c
Allow target attachment to timeout and report failure.
...
This is needed for if the target device is held in reset.
2012-11-03 16:42:46 +13:00
Vegard Storheil Eriksen
faa43fdc92
Added support for STM32L1.
2012-10-25 21:44:26 +02:00
Vegard Storheil Eriksen
dddb51ca1c
Added support for STM32F0.
2012-10-24 18:08:01 +02:00
Vegard Storheil Eriksen
cb41855d91
Added support for STM32F3.
2012-10-23 19:40:23 +02:00
Gareth McMullin
09c0fb5773
Build with libopencm3 as a submodule.
...
Fix incompatibilities with latest libopencm3.
2012-10-22 18:45:42 +13:00
Gareth McMullin
206237e8dd
Fix support for multiple devices on the same jtag chain.
...
Mask out architecture version in ADIv5 JTAG IDCODE.
2012-09-04 21:50:12 +12:00
Gareth McMullin
358ef32225
Whitespace fixes.
2012-09-04 21:48:49 +12:00
Gareth McMullin
9137c2d058
Add a copy of DEMCR to Cortex-M private data to preserve over 'run'.
2012-08-10 21:07:06 +12:00
Gareth McMullin
234d54c5a5
Correct stepping over programmed breakpoints.
...
Fixes issue #2 .
2012-07-05 22:08:01 +12:00
Gareth McMullin
0433d3d12a
cortexm: Moved all static data to the heap.
2012-07-05 21:26:26 +12:00
Gareth McMullin
0c379744e9
cortexm: Poll for S_RESET_ST in DHCSR to detect release from reset.
2012-07-05 20:12:18 +12:00
Gareth McMullin
00c4dbfb11
ADIv5 AP and DP are now allocated on the heap and reference counted.
...
They are unref'd and free'd automatically when the target list is
destroyed.
2012-07-05 19:23:28 +12:00
Gareth McMullin
af1ef670ba
libftdi: Fixed delay function.
2012-07-05 19:10:08 +12:00
Gareth McMullin
5dff263078
Add delay after reset request.
...
Hopefully this fixes problems observed with failing vFlashWrite.
2012-07-01 22:40:43 +12:00
Gareth McMullin
d64cec686a
Signal on halt is now returned by target_halt_wait().
...
Fault unwinding is now handled internally in target implementation.
GDB server doesn't need to know about it.
2012-06-30 20:29:08 +12:00
Gareth McMullin
53af978295
Allow user to specify JTAG IR lengths.
...
This allows the use of devices that shift out values other than 0x01
from IR.
2012-06-30 16:47:23 +12:00
Gareth McMullin
01d0390b54
Fixed build for stlink platform.
2012-06-28 20:49:32 +12:00
Gareth McMullin
22993fb5bd
Clear target error on attaching.
...
Fixes possible lock-up on devices booting from blank flash.
2012-06-28 20:11:53 +12:00
Gareth McMullin
466bb66424
Made cur_target, last_target static in gdb_main.c.
...
Added target destroy notify mechanism.
2012-06-27 21:26:08 +12:00
Gareth McMullin
4581da2034
Added option byte programming commands for STM32F1.
2012-06-26 21:02:11 +12:00
Gareth McMullin
29b9e103fb
Fixed crash on monitor commands with no attached target.
2012-06-26 19:48:50 +12:00
Gareth McMullin
94516329a0
Added 'erase_mass' command for STM32F1 and cleaned up some magic numbers.
2012-06-26 19:42:41 +12:00
Gareth McMullin
0e768664ac
Added 'vector_catch' command to control trapped vectors on Cortex-M.
2012-06-25 21:19:09 +12:00
Gareth McMullin
b0d41d155a
Made SAM3X monitor commands static.
2012-06-25 21:16:20 +12:00
Gareth McMullin
8b7c6bbaba
Added monitor commands to set GPNVM bits on SAM3X.
2012-06-24 21:55:22 +12:00
Gareth McMullin
03fdd23e9c
Added mechanism for target driver to add new monitor commands.
2012-06-24 21:41:32 +12:00
Gareth McMullin
a16123997b
Added target.c for common target routines.
2012-06-24 19:08:49 +12:00
Gareth McMullin
8872315e82
Updated lmi, nxp and stm32f4 drivers to use adiv5_target_ap().
2012-06-24 14:44:02 +12:00
Gareth McMullin
cb19164f2f
Added flash erase function for Atmel SAM3X.
2012-06-23 21:13:08 +12:00
Gareth McMullin
c09cbe8719
First cut at an Atmel SAM3X driver.
2012-06-22 23:13:25 +12:00
Gareth McMullin
33905d7203
Check target error after target specific probes.
2012-06-21 20:54:56 +12:00
Gareth McMullin
6089a66dce
Renamed target_flash_write_words to target_flash_write.
...
Buffer from GDB may not be aligned or integer number of words.
Corrected alignment in in STM32F1 driver.
2012-06-18 20:53:06 +12:00
Gareth McMullin
bc7e7d2112
Removed target header files containing a single prototype.
...
Target probe prototypes are all in target.h now.
2012-06-18 20:27:06 +12:00
Gareth McMullin
bc5a6f022b
Renamed Cortex-M driver appropriately since it support M0, M3 and M4F.
2012-06-18 19:56:19 +12:00
Gareth McMullin
0599bdc5c4
Cleaned up STM32F1 driver and renamed appropriately.
2012-06-18 19:46:41 +12:00
Gareth McMullin
3a0cc44bbe
Cleaned up access to ADIv5 AP in Cortex-M driver.
2012-06-18 19:28:06 +12:00
Gareth McMullin
8920864cb3
Cleaned up access to ADIv5 AP for target.
2012-06-18 19:19:13 +12:00
Gareth McMullin
54f4467c0f
Added stlink platform for Discovery boards and ST's ST-Link hardware.
2012-06-10 19:06:37 +12:00
Gareth McMullin
89bcdcc60a
Moved stm32 generic platform files out of native platform dir.
2012-06-10 17:34:26 +12:00
Gareth McMullin
acff8d4497
Made jtagtap.c and swdptap.c STM32 generic.
2012-06-10 17:08:14 +12:00
Gareth McMullin
8d190cdbb9
Renamed platforms to 'native' and 'libftdi' and moved into 'platforms' dir.
2012-06-10 16:40:07 +12:00
Gareth McMullin
c825270561
Indicate UART activity on yellow LED.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c1a34f3f59
Removed incorrect directory references in Makefile.
2012-06-10 15:45:38 +12:00
Gareth McMullin
eabd4654f9
Use the same LED for run/idle. Reserve spare LED for UART.
...
Enable AFIO to fix EXTI for USB VBUS detect.
2012-06-10 15:45:38 +12:00
Gareth McMullin
c35d0b29b3
Removed a stray printf.
2012-06-03 21:28:39 +12:00
Gareth McMullin
bad49dbb90
Added missing stm32/usbuart.h.
2012-05-27 13:02:45 +12:00
Gareth McMullin
6030ff6f26
Separated USB UART interface into separate file.
2012-05-26 22:53:29 +12:00
Gareth McMullin
3dcdc5b26f
Improve USB UART handling. Fix interrupt priorities.
2012-05-26 20:57:47 +12:00
Gareth McMullin
e533812c32
Use our new USB VID/PID. Thanks OpenMoko, Inc.
...
DFU now uses the same short serial number as application.
2012-05-26 15:20:23 +12:00
Gareth McMullin
01bf5e6b44
Fixed and cleaned up build for libftdi platform.
2012-05-26 15:05:37 +12:00
Gareth McMullin
8d2c0ff9e5
Report target voltage on scan.
...
ADC is used on mini hardware, standard hardware reports ok/absent.
2012-05-23 21:44:39 +12:00
Gareth McMullin
40bb74cc81
Detect hardware version. Disable UART on mini h/w under debug.
2012-05-23 20:25:45 +12:00
Gareth McMullin
700f9e6ad1
DFU: Erase option bytes before writing.
2012-05-23 19:31:51 +12:00
Gareth McMullin
241bf765ec
DFU: Protect bootloader sectors if needed.
...
Check address bounds on erase/set address.
2012-05-22 21:47:18 +12:00
Gareth McMullin
de49a9a21f
Remove dependencies on make clean.
2012-05-19 11:54:22 +12:00
Gareth McMullin
32c1af05de
Don't clobber watchpoints used for trace.
2012-05-19 11:53:41 +12:00
Gareth McMullin
38bea69f8a
Fixed some issues with trace port capture.
...
Process last capture even on timeout. Prevents last bit getting lost.
On timeout, don't allow next edge to resync decoder.
Timeout on 6 bit periods instead of 5.
Set systick interrupt to low priority.
2012-04-29 20:35:19 +12:00
Gareth McMullin
86626085d8
Fixed TRACESWO capture.
...
'mon traceswo' reports serial number and interface/endpoint no for libusb.
Interrupt priorities set so TIM3 for trace is highest priority.
Increased trace endpoint packet size to 64.
Buffer many trace packets into a single usb packet. Stall on overflow.
Fixed stop bit detection in TIM3 interrupt handler.
2012-04-22 12:27:18 +12:00
Gareth McMullin
b39572e17c
Correct jtag port init to not interfere with usb vbus detect.
2012-04-22 12:21:24 +12:00
Gareth McMullin
c1e9425725
Cleaned up traceswo capture routine.
2012-04-20 17:56:41 +12:00
Gareth McMullin
21ecbd23ea
Added capture of SWO, passed to host over a vendor specific USB interface.
2012-04-18 19:15:44 +12:00
Gareth McMullin
c0493ee0e8
Monitor USB VBUS to control D+ pull-up resistor.
2012-03-24 19:25:16 +13:00
Gareth McMullin
a43cbf65c9
Report FP registers as feature "org.gnu.gdb.arm.vfp".
...
This allows GDB to synthesise single precision registers S0-S32.
2012-02-12 14:59:42 +13:00
Gareth McMullin
38d8147774
Added FP register support.
2012-02-12 14:24:54 +13:00
Gareth McMullin
a08e0bdd9c
Made command handlers static.
2012-02-12 14:24:18 +13:00
Gareth McMullin
35a9e10f49
Accept partial match of monitor commands.
2012-02-12 12:02:50 +13:00
Gareth McMullin
4282244fb4
stm32f4: Fixed chunk padding for flash programming.
2012-02-08 20:43:12 +13:00
Gareth McMullin
f5d8bda6e6
Support DFU GET_STATUS request when in application mode.
2012-01-19 21:51:42 +13:00
Piotr Esden-Tempski
a7f14e3cc0
Changed the unique id generation to be 8 characters long. This is so Mac OS X uses the the unique id for naming the device file instead of the location.
2012-01-16 22:54:37 -08:00
Gareth McMullin
53ebc6770e
Configure CDC ACM packet size in a #define for easy access.
...
This doesn't work for >64 bytes. Suspect bug in libopencm3.
2012-01-09 23:15:10 +13:00
Gareth McMullin
7e0de5b86b
Inline GPIO functions and optimise for speed.
...
This gives a modest but measurable performance improvement.
2012-01-08 18:49:58 +13:00
Gareth McMullin
9663274572
Advertise that we accept SET_LINE_CODING and ignore it on GDB interface.
...
This fixes SetCommState failure on Windows.
2012-01-07 18:46:17 +13:00
Gareth McMullin
edaae3957a
Use USB Interface Association Descriptors.
...
This allows windows to see it as a composite device and load different
driver for each interface.
2011-12-29 12:49:47 +13:00
Mike Smith
af45139767
Use a single static program buffer rather than allocating several on the stack.
2011-12-26 02:54:44 -08:00
Mike Smith
00651032ad
Merge commit '4e0cd081b09d9bd3d444062ca1081fa59c31fc0b'
...
* commit '4e0cd081b09d9bd3d444062ca1081fa59c31fc0b':
Improved magic number garbage in cortexm3.c
Cleaned up debug output on linux build.
Removed #if LIGHT for unfinished hardware.
Implement gdb 'qCRC' packet to support 'compare-sections' command.
2011-12-26 02:47:38 -08:00
Mike Smith
bc4c87e45b
Add support for Cortex-M0, and specifically for the NXP LPC11xx devices.
2011-12-26 02:34:45 -08:00
Gareth McMullin
4e0cd081b0
Improved magic number garbage in cortexm3.c
2011-12-18 17:46:36 +13:00
Gareth McMullin
a73f06c147
Cleaned up debug output on linux build.
2011-12-18 17:01:10 +13:00
Gareth McMullin
8061205260
Removed #if LIGHT for unfinished hardware.
2011-12-18 16:43:02 +13:00
Gareth McMullin
c7c31d2502
Implement gdb 'qCRC' packet to support 'compare-sections' command.
2011-12-17 21:46:22 +13:00
Mike Smith
2653222d08
Tweak the flash uploader to handle unaligned start and end pointers,
...
padding with all-1s so that overlapping data is preserved.
2011-12-14 23:41:40 -08:00
Mike Smith
bba42ff6c9
Merge branch 'master' of git://github.com/gsmcmullin/blackmagic
2011-12-14 23:10:53 -08:00
Gareth McMullin
45eee497d0
stm32f4: Improve behaviour when a section doesn't end on a word boundary.
...
This may not be an acceptable fix. It may be possible for the linker
to place another section on the remainder of the offending work.
2011-12-14 22:59:42 +13:00
Gareth McMullin
c5b4022ed8
Default to DTR=1 if no request received.
...
This is needed on Mac where opening the port doesn't assert DTR.
Thanks to Mike Smith.
2011-12-07 20:57:10 +13:00
Mike Smith
c9860e7716
Make it possible to build with libopencm3 installed in a nonstandard location
2011-12-05 23:01:24 -08:00
Gareth McMullin
61cfbf16c6
Fixed flash stub for STM32F2 and STM32F4.
...
Added JTAG idcodes for these devices.
2011-12-02 21:55:14 +13:00
Gareth McMullin
540573bc18
Fixed qSupported resonse.
2011-11-26 17:04:48 +13:00
Mike Smith
ffda30f393
Add support for a more comprehensive target description, including the additional v7m registers.
...
This doesn't work with vanilla gdb, as for reasons unknown said vanilla gdb doesn't support XML target descriptions queried from the remote.
Add code to the fault unwinder to deal with the stack alignment fixup and FP registers. Avoid saving/restoring registers that don't get trashed.
2011-11-25 17:07:46 -08:00
Mike Smith
8babb37472
Add a prototype for the F4 probe routine to silence a warning
2011-11-25 17:04:47 -08:00
Mike Smith
fa7ae87e25
Mention the CCM (CPU-only RAM) in the F4.
2011-11-25 17:04:23 -08:00
Gareth McMullin
f06bded8dd
linux: Set SO_REUSEADDR on gdb server socket.
...
Renamed HOST environment variable to PROBE_HOST.
Thanks to Michael Smith for the patch.
2011-11-25 22:55:07 +13:00
Gareth McMullin
d73ac40ef1
Added preliminary support for the STM32F4.
2011-11-12 19:15:52 +13:00
Gareth McMullin
7b13bae8dc
Don't send anything on USB if not configured or DTR is released.
2011-11-12 13:46:16 +13:00
Gareth McMullin
33e1352c34
Merge branch 'master' of github.com:gsmcmullin/blackmagic
2011-10-30 13:43:33 +13:00
Gareth McMullin
d85a399559
Updated to build with new libopenstm32 with f1/f2 split.
2011-10-30 13:42:27 +13:00
Gareth McMullin
adabaa7592
Halt and detach target if host releases DTR.
...
Port reads 0x04 (EOF) when DTR is released. GDB loop detaches from
target if EOF is read.
Fixes bug 3307433.
2011-07-02 20:47:39 +12:00
Gareth McMullin
bd779aa618
Defined and used register definitions for DWT.
2011-04-27 21:57:35 +12:00
Gareth McMullin
40eeb1788b
Defined and used register names for flash beakpoints.
2011-04-27 21:57:35 +12:00
Gareth McMullin
be91386c0a
Minor changes to allow a build for Windows hosts with libftdi.
2011-03-29 20:01:15 +13:00
Gareth McMullin
c9ea16312b
Added more ARM7TDMI functions. Still not usable.
2011-03-12 21:03:42 +13:00
Gareth McMullin
c062e60059
cm3_reset polls for reset to complete. cm3_fault_unwind checks FORCED in HFSR.
2011-03-12 13:57:32 +13:00
Gareth McMullin
4c75ac524b
Started halt/resume for ARM7TDMI.
2011-03-11 00:02:08 +13:00
Gareth McMullin
fcdbf8efc8
Added a skeleton of an ARM7TDMI driver. No support yet.
2011-03-09 19:03:41 +13:00
Gareth McMullin
a6f2117d1d
Further cleanup of adiv5*
2011-03-08 22:15:35 +13:00
Gareth McMullin
b8462dd1f2
Removed useless abstraction of low-level AP access functions.
2011-03-07 07:12:14 +13:00
Gareth McMullin
91815f2d23
Cleaned up some magic numbers in adiv5*
2011-03-05 23:43:03 +13:00
Gareth McMullin
a139aae479
Cleaned up more magic numbers in cortexm3.c
2011-03-02 21:34:36 +13:00
Gareth McMullin
c648d7c9e2
Cleaned out some magic numbers in cortexm3.c
2011-03-02 19:28:47 +13:00
Gareth McMullin
c43e392f8c
cm3_fault_unwind: Adjust stack pointer after reading registers.
2011-02-23 18:14:44 +13:00
Gareth McMullin
c9774944de
Removed debugging output in cm3_fault_unwind().
2011-02-21 21:04:57 +13:00
Gareth McMullin
32cabac0f3
Stack is now unwound on hardfault.
2011-02-21 20:57:56 +13:00
Gareth McMullin
0dfdc25bb2
Added git info to version output.
...
Fixed memory leak in SWD mode.
2011-02-18 13:50:21 +13:00
Gareth McMullin
660e861725
Force SRST high. Hopefully fixes target getting stuck in reset.
2011-02-17 18:00:03 +13:00
Piotr Esden-Tempski
e28edc0899
Removed redundant linker parameters.
2011-02-16 20:47:56 -08:00
Piotr Esden-Tempski
c8d1b8d0cc
Cleaned up CFLAGS and LDFLAGS as well as targets to use the correct flags. Now blackmagic will compile also on a multilib compiler.
2011-02-16 20:24:26 -08:00
Gareth McMullin
b36242d021
CDC-ACM now asserts DCD to allow opening tty devs in BSD/MacOS.
...
Cleaned up compiler warnings.
2011-02-17 15:06:27 +13:00
Gareth McMullin
f08914ec1f
Fixed DFU_DETACH request handling when usb-uart is excluded.
2011-02-16 09:04:06 +13:00
Gareth McMullin
f9a7cd9c6e
Fixed interface number of DFU when UART isn't included.
2011-02-12 22:24:37 +13:00
Gareth McMullin
df5c3d06d5
Added extra ACM interface for serial emulation using USART1.
2011-02-12 22:06:53 +13:00
Gareth McMullin
f293cc4bc1
Improved Linux/libftdi platform support.
...
Tested with Floss-JTAG. SWD working.
2011-02-10 15:24:54 +13:00
Gareth McMullin
d1cf80db33
Updated README, added HACKING.
2011-02-09 16:56:42 +13:00
Gareth McMullin
8628babbb0
Linux jtagtap and swdptap now clean up before re-initialising.
2011-02-07 13:38:13 +13:00
Gareth McMullin
5cc8ff5404
Made Linux jtagtap_init() more verbose on errors.
2011-02-07 13:08:45 +13:00
Piotr Esden-Tempski
bb0981b22f
Changed CFLAGS and LDFLAGS setting to allow exporting of additional parameters in the calling shell.
2011-02-06 15:09:07 -08:00
Gareth McMullin
79182edc44
Replaced some binary constants with hex.
2011-02-07 12:01:29 +13:00
Gareth McMullin
a6f84018f6
Fixed debug output of Linux swdptap_bit_in()
2011-02-07 11:32:30 +13:00
Gareth McMullin
5d747a52ce
Restored old Linux platform and added untested SWDP support.
2011-02-07 11:00:10 +13:00
Gareth McMullin
c8ef57a7b5
Removed rotten and broken LMI flash algorithm.
2011-02-07 08:45:52 +13:00
Gareth McMullin
981a906898
Changed some uint32_t to unsigned long to remove warnings.
2011-02-07 08:32:33 +13:00
Gareth McMullin
5788445ab2
Changed to use sprintf/sscanf by default.
...
Overridden by STM32 platform.h to use newling siprintf/siscanf.
2011-02-06 19:36:01 +13:00
Gareth McMullin
202de4f703
Fixed 'mon version' to show license as GPLv3+.
2011-02-05 15:12:24 +13:00
Gareth McMullin
d0a1c7f4df
Fixed configuration of JTAG signals.
2011-02-05 12:24:13 +13:00
Gareth McMullin
406617a2a4
Import of working source tree.
2011-02-04 20:23:52 +13:00