aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-31Remove unnecessary castsAndreas Fritiofson
Change-Id: Ia97283707282ccccdc707c969f59337313b4e291 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1767 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31nand/mx*: Remove unused host endianness flagAndreas Fritiofson
Probably shouldn't depend on that anyway. Change-Id: Ic27ead4cb82cff1ab187696439da4b93941e09d8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1766 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31Remove unnecessary (void *)Andreas Fritiofson
When pointer casts are needed, cast directly to the correct type, instead of going via void*. Don't explicitly cast to void* if it would have been done implicitly. Change-Id: I4093209200051c5eb62847d00a4b9c8567480068 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1669 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31Clean up const usage to avoid excessive castingAndreas Fritiofson
Don't use const on pointers that hold heap allocated data, because that means functions that free them must cast away the const. Do use const on pointer parameters or fields that needn't be modified. Remove pointer casts that are no longer needed after fixing the constness. Change-Id: I5d206f5019982fd1950bc6d6d07b6062dc24e886 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1668 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31ftdi/tumpa.cfg: enable proper output buffer control, add another USB IDPaul Fertser
The schematics used for writing the config file were incorrect, real hardware needs ACBUS3 _low_ as it's connected directly to the output buffer's !OE pin. Also apparently sometimes TUMPA comes with default FTDI IDs. Real-life tested (including TRST and SRST) with a custom stm32f103 board, thanks to Mike Wang for the adapter sample. Change-Id: Iab566e6d14f8392030f6ff2c8d976e1b57cf5ce6 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1789 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-31Clean up many C99 integer types format specifiersPaul Fertser
This eliminates most of the warnings reported when building for arm-none-eabi (newlib). Hsiangkai, there're many similar warnings left in your nds32 files, I didn't have the nerve to clean them all, probably you could pick it up. Change-Id: Id3bbe2ed2e3f1396290e55bea4c45068165a4810 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1674 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29checkpatch: correct false positives reporting instructionsPaul Fertser
Change-Id: Ib45d3db4436a5df5215f2c2d8b8f9a6d48d5f348 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1786 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29checkpatch: treat jenkins as valid emailPaul Fertser
This is needed to avoid checkpatch barking on already committed patches. Change-Id: Ic2b4cfa04c8230d45c68bbf6b370841f682b32d6 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1785 Tested-by: jenkins Reviewed-by: Jens Bauer <jens@gpio.dk> Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29cortex_m: set fpb_enabled on enabling fpbSpencer Oliver
If the fpb_enabled is not set then as part of cortex_m3_set_breakpoint we enable the fpb, however we do not signal the fpb as being enabled. This issue only effects the hla target as the current cortex_m code enables the fpb during cortex_m3_endreset_event. Change-Id: I44d3fc65916c131b7a226869dd16aed5afb441b4 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1634 Tested-by: jenkins
2013-10-29hla/stlink: Re-order trace parameters to allow trace output file to be optionalJames G. Smith
Re-order the "trace" parameters to allow the raw capture (log) file to be an optional feature. The clock frequency for calculating the "Async Clock Prescalar" is always required when enabling trace processing and is now the first "required" parameter. The ST-Link driver is updated to use the (required parameter) "trace_source_hz" non-zero value as the indicator of trace being required, rather than the now optional output file descriptor being non-NULL. Background: This patch is groundwork for extending the OpenOCD SWO capture to implement other (OpenOCD built-in) ITM/DWT processing where the core trace support is required, but there is no requirement to store raw trace data to a configured host file. By itself this patch is almost a functional NOP, since without the other processing in place there is no reason NOT to specify a capture file. Change-Id: Ibc385dd0a7adaf9bd652bceded27262fef35fd59 Signed-off-by: James G. Smith <jsmith@ecoscentric.com> Reviewed-on: http://openocd.zylin.com/1660 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29sam4s flash: fix PLLA frequency calculation if diva > 1Thomas Schmid
The code didn't address the case where diva is bigger than 1. Change-Id: I15d8c47aa7b5cf80df1f29e067f30575f5d60a90 Signed-off-by: Thomas Schmid <thomas.schmid@gmail.com> Reviewed-on: http://openocd.zylin.com/1765 Tested-by: jenkins Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-29tcl: add memory testing functions for board diagnosticsPaul Fertser
This is a tcl implementation of public domain tests by Michael Barr, http://www.barrgroup.com/Embedded-Systems/How-To/Memory-Test-Suite-C The initial porting is done by Shane Volpe and posted to the mailing list: http://www.mail-archive.com/openocd-development@lists.berlios.de/msg16676.html This patch includes some cosmetic amendments plus hardcodes 32bit word size (as the code depends on memread32/memwrite32 anyway) which fixes original code's issue of testing only the first quarter of the specified nBytes. Change-Id: I5f3a66f1f16fc4082c7a5a6aba338430646ed21c Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1455 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Mathias Küster <kesmtp@freenet.de>
2013-10-29Remove jtag_rclk from target configsPaul Fertser
Some boards might have RCLK omitted from the JTAG connector and if the interface claims support for it, OpenOCD will end up trying to use RCLK while it's actually impossible. This is a "cd tcl/target; sed -i s/jtag_rclk/adapter_khz/g *" patch. Change-Id: Iee7337107bc1457966b104389ba9db75a9c860b4 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1695 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Mathias Küster <kesmtp@freenet.de>
2013-10-29hla_interface: init trst, srst variables.Sergey A. Borshch
There is an remark in jtag_srst and jtag_trst variables declaration: /* * JTAG adapters must initialize with TRST and SRST de-asserted * (they're negative logic, so that means *high*). But some * hardware doesn't necessarily work that way ... so set things * up so that jtag_init() always forces that state. */ but in hla_target such forsing is missed and both variables remains uninitialized until "reset" command issued, It prevents target polling when connecting to running target. Change-Id: Ia620d8794cca8ba1403f5c5f24767e730033748a Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Reviewed-on: http://openocd.zylin.com/1698 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Mathias Küster <kesmtp@freenet.de>
2013-10-29lpc2000: Fix flash programming fail on LPC4300 internal flashNemui Trinomius
LPC43xx with internal flash parts model needs "IAP Init(49)"Command before erase & write internal flash.Tested on a LPC4337 and LPC4357. Change-Id: I48620ce12e578c61a3ca1adcd48815c1f71c35bb Signed-off-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp> Reviewed-on: http://openocd.zylin.com/1784 Tested-by: jenkins Reviewed-by: Jens Bauer <jens@gpio.dk> Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-21armada370: initial support for Marvell Armada 370 familyGreg Ungerer
Initial support for using the jtag interface to the Marvell Armada 370 family of SoCs. Change-Id: Id823a567e8805ac622c3c330bc111297c1dae37e Signed-off-by: Greg Ungerer <gerg@uclinux.org> Reviewed-on: http://openocd.zylin.com/1690 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-21Fix ULINK driver dependencies in configure.acMartin Schmölzer
Commit dd6274deed65c47ba2ef46e14259167d393399d8 (see http://openocd.zylin.com/#/c/1475/ for futher information) adds the wrong libusb dependency for the ULINK driver (libusb-0.1), when in fact the ULINK driver uses the libusb-1.0 API since commit f684252b2530d86f3a8330940105b86c770231f1. Change-Id: I6946f1fdc0e26bfc7bdcff27a721e05a05b464a5 Signed-off-by: Martin Schmölzer <martin.schmoelzer@student.tuwien.ac.at> Reviewed-on: http://openocd.zylin.com/1699 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-16flash: mxc nfc(v1) : fix incorrect address in spare area for biswap commandGaëtan Carlier
For NFC v1 (i.MX27), swapping must be done between offset 464 of Main buffer and offset 4 of Spare buffer. Change-Id: I09c2036e88770032da87d5846cd2094847f47b46 Signed-off-by: Gaetan Carlier <gcembed@gmail.com> Reviewed-on: http://openocd.zylin.com/1692 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15cfg: add STM32F429 discovery board configSpencer Oliver
Change-Id: I4ee7a8185a02fac9d1f6079ab34d6a9f7047193a Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1691 Tested-by: jenkins
2013-10-15lpc288x: Can now use target_write_buffer()Andreas Fritiofson
Use the preferred code path according to the comment. Target_write_buffer() now simply uses suitably aligned target_write_memory calls, so from this pov, they should be equivalent. Change-Id: I77f51ec3ac9faa822cf428708a1aecb67c77830c Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1687 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15nds32: Remove unused declarationAndreas Fritiofson
Change-Id: Ie0df720b2adacc8f10474f88f15142fa94c388b8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1686 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15 hla_target: Update target state when pollingSergey A. Borshch
Polling target does not change stste information except if new state is TARGET_HALTED. Connecting to the runing target result in target->state not updated with retrieved value and remains "UNKNOWN" until 'halt' command issued. Change-Id: I803d6c0207f7f8699e648779d1df342c9ee7315a Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Reviewed-on: http://openocd.zylin.com/1680 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15arm7_9: Avoid infinite loops in bulk write dispatchingAndreas Fritiofson
Add a mandatory field in struct arm7_9_common for regular, non-optimized memory writes. Together with the existing bulk_memory_write field, this allows variants to select any combination of implementations for regular and bulk writes, without risking infinite loops from accidentally using bulk writes for implementing bulk writes. ARM 7/9 targets may now select arm7_9_memory_write_opt as their target.write_memory implementation, which will dispatch to arm7_9_common.bulk_write_memory if possible, or fallback to arm7_9_common.write_memory otherwise. To avoid loops, bulk write implementations mustn't call any other functions than arm7_9_write_memory_no_opt() to write memory; it will unconditionally call arm7_9_common.write_memory. If they fail, they should simply return error to allow the caller to fallback to regular writes. Tested on a regular ARM7TDMI only. Change-Id: Iae42a6e093e2df68c4823c927d757ae8f42ef388 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1685 Tested-by: jenkins Reviewed-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15openrisc/tap_vjtag: fix IR settingFranck Jullien
Change-Id: I2b1f057dc9777ff263d6cefa4ff5958e85607a22 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1694 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15openrisc/du_adv: check or1k_adv_jtag_init return valueFranck Jullien
Change-Id: I784c16b8137b4269254c86007e6766b1a2297aa2 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1693 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15checkpatch: add logging functionsPaul Fertser
It's commonly considered that user-visible strings should not be split to different lines in the sources to ease grepping for them. Hence, checkpatch traditionally makes an exception for logging functions, lines having them can be of arbitrary length. OpenOCD uses different (from Linux, the kernel) names, so they need to be added to avoid false positives. Change-Id: I1198c1ffc62b5403d97efa41e665c81a5b6bb3a3 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1696 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-15jtag_vpi: use DIV_ROUND_UPFranck Jullien
Change-Id: I31d315a79a1587d7873c5b8713daf8276fa146d0 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1683 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-10-15jtag_vpi: fix path move functionFranck Jullien
Change-Id: I82bf6f733e0d9cb5c86553d0827c558fa98aa247 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1672 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-10-15sam4s flash: remove unused bootstrap routineAndrey Yurovsky
Remove the static const array containing ARM instructions for a bootstrap program. Despite what the comment says, the DAP can write to the Flash and in fact this program is not referenced anywhere in openocd so it's a bit confusing having it in there. There should be no functionality change from this. Change-Id: I4ca4206f090a896628ee9b675d1f04450ada1563 Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/1641 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2013-10-15bcm2835gpio: use maximum drive strengthPaul Fertser
According to the docs, the default drive strength for the GPIO pads is 8mA but they're capable of 16mA. Configure GPIO 0-27 to use the maximum (as they might be used on high enough frequency with JTAG). Change-Id: I621737a1b0a855bb97b56ce2cc46c0e385b74f5d Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1633 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-10cortex_m: target implementation renames cortex_m3 to cortex_mSpencer Oliver
We changed the actual target name quite a while ago. This changes the actual target function names/defines to also match this change. Change-Id: I4f22fb107636db2279865b45350c9c776e608a75 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1626 Tested-by: jenkins
2013-10-08str7x: Improve info textAndreas Fritiofson
There's no way to print two lines, so let it wrap. Change-Id: I1f6211358a58877c0b729d9fdefd5d3dea8cba00 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1643 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-08stm32f2x: Fix sector numbering for dual bank flash eraseAndreas Fritiofson
Reference: RM0090 rev 5. Change-Id: I9f7ae09c0ba91d166aebcdc25300d0ca58a5a56d Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reported-by: Nader Shehayed <nshehayed@gmail.com> Reviewed-on: http://openocd.zylin.com/1689 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-07stm32l: set default padded valueSpencer Oliver
The stm32l family has an erased value of 0x00, so overide the defaults used by OpenOCD. Change-Id: I314bdef1f8482fbcbd43e0f413247d3a35af869d Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1636 Tested-by: jenkins
2013-10-07flash: add padded_value cmdSpencer Oliver
This adds support for setting the default value used when padding image sections. Previously 0xff was used but some targets have an erased value of 0x00. Change-Id: If3df6fea3abf95b09daa3ff7be362acf991070ce Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1635 Tested-by: jenkins
2013-10-07flash: fix mini51 cygwin build issuesJohn David Anglin
Under certain versions of cygwin it appears PAGE_SIZE is already defined. So change name to stop any possible build issues. Change-Id: I6f0e0c352c06bb6118ac3a5b884ae8e93194b570 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/1675 Tested-by: jenkins
2013-10-07fix lpc2000 flash programming fail.Sergey A. Borshch
some members of lpc2000_info structure sometimes used uninitialized (cmd51_can_64b for all LPC except LPC800 as example). Init allocated lpc2000_info structure with zeros to avoid this and similar bugs in the future. Note: maybe discarding all cmd51_can_XXXb fields and using cmd51_dst_boundary instead will be a better solution. Signed-off-by: Sergey A. Borshch <sb-sf@users.sourceforge.net> Change-Id: Idf116a5b0bf4ea1c39ea0ce308ec2c13bfbd4d8c Reviewed-on: http://openocd.zylin.com/1676 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp>
2013-10-07stm32f2x: Detect STM32F42x rev YAndreas Fritiofson
Change-Id: Iaf94f6dda0686cce56be77431bbb961bfd5e8d14 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1688 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-07jtag/tcl: Avoid casting away constAndreas Fritiofson
Here, in_value == out_value, so free the non-const one. Change-Id: I017ad9e7519711ac0c9da79265be7daaa846f356 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1667 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-07jtag/tcl: Remove no-op freeAndreas Fritiofson
And use calloc instead of malloc+memset. Change-Id: Icc1ed6e34904972bb5d3728307dcae5c55b32fc3 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1666 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-07jtag/tcl: Fix double free in jtag newtap argument parsingAndreas Fritiofson
Found when grepping for void* casts. I'm pretty sure there are about *picking a number out of the blue* 0.31 bugs per pointer cast in OpenOCD. Verified by valgrind, i.e.: valgrind openocd -f interface/jtagkey.cfg -c "jtag newtap dummy cpu -irlen foo" Change-Id: Idc12e8f18036cc908fdb572828fa46563be14242 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1665 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-03gdb_server: Further cleanup of target desc functionsAndreas Fritiofson
Fix use of uninitialized pointer passed to xml_printf, caught by valgrind. Make sure a failed gdb_generate_target_description frees all allocated memory and avoids touching its out argument. Plug memory leak and check allocation in handle_gdb_save_tdesc_command. Change-Id: I30e20f6760a6215b1b4496304acdf47347eed829 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1645 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Franck Jullien <franck.jullien@gmail.com>
2013-10-03hla: if the idcode callback returns 0, treat as a wildcardPaul Fertser
Also document the callback accordingly. Change-Id: I7e8ef481e8b5391b763b7f7187fac023e9fe04df Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1673 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-03board: add TM4C123G LaunchPad configPaul Fertser
Almost the same as the LM4F120 LaunchPad but the chip is using the new naming scheme (Tiva C series), supports USB OTG and has some new PWM hardware blocks. Change-Id: I6a7b2df76768766471f366cddaf64df3cc63f5f2 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1647 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-03flash/nor: Make info function optionalAndreas Fritiofson
Remove lots of no-op or dummy info function implementations and check if it's implemented before invoking it. Change-Id: I2144dad6a84a80359bb13a8a29a4614387e4c135 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1642 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-02cortex_m: Call mem_ap_read/write directlyAndreas Fritiofson
Change-Id: I52e1d8babf7bf9fcde4094046d29b817c15c0562 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1659 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-02arm_adi_v5: Rewrite MEM-AP transfer implementationAndreas Fritiofson
Create a single pair of relatively simple functions to handle all variants of MEM-AP transfers. This replaces the many separate functions that handled different access sizes and packed or non-packed transfers, which were all implemented rather differently. With this single implementation, performance should be more consistent, regardless of transfer type. Change-Id: I89960e437fc6ba68a389c074fab8eac91abcf844 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1658 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-02cortex_m: mem_ap access functions take number of bytes, not wordsAndreas Fritiofson
Accessing one byte of memory using a 16-bit access is not well defined. The current implementation is forgiving and rounds up, but it should not be relied upon. Also, I suspect this code might fail if the byte order differs between target and host, but I have no way of verifying it so I left it as it is. Change-Id: I8d6a511151a194ed419f141703201f0632d84fc8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1657 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-02arm_adi_v5: Fix packed transfers crossing TAR auto-increment blockAndreas Fritiofson
The word count returned from max_tar_block_size() was compared with the count of half-word/bytes in the u16 and u8 packed access functions, causing an infinite loop if the access actually crossed the boundary. Change max_tar_block_size() to return a byte count, and scale at the call site. Change-Id: I2fe9b5941eb485f3d8219cfdd29fb71e02006de4 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1649 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2013-10-02arm_adi_v5: Fix packed and unaligned memory writesAndreas Fritiofson
For packed and/or unaligned accesses, the write functions reordered the source buffer in place. Causing in the best case a segfault, in the worst case silent data corruption. Rewrite the data fetching to directly match the byte lane mapping according to IHI0031C, without destroying the buffer. Also slightly clean up variable usage and harmonize all the write functions. Change-Id: I9a01cfc5578653f9ec02043ff6b61a7a20f90d67 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1646 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>