aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-03-29at91samd: Bail early if trying to erase protected sectorAndrey Smirnov
Bail early if trying to erase protected sector and also do not double-erase already erased sectors. Change-Id: Ic2d39af48c3b8e10e78d52dd978b9bc01f671c6a Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/2026 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29at91samd: Bail early if trying to write to protected sectorAndrey Smirnov
Bail early if trying to write to protected sector also mark the sector we are writing to as dirty. Change-Id: I892f83461792e1cc2dcccade7aa65717831a6805 Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/2025 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29at91samd: Remove 'first' and 'last' checks in 'samd_erase'Andrey Smirnov
Remove 'first' and 'last' checks in 'samd_protect' since those parameters are checked in 'handle_flash_erase_command'. Change-Id: I30e5598a9ab656d81055f26cc63e291377605300 Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/2024 Tested-by: jenkins Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29tcl: introduce init_target_events and use it for gdb flashing eventsPaul Fertser
This introduces a new global Tcl procedure that is run just after init_targets and before init_boards. Its default behaviour is to assign gdb-flash-erase-start and gdb-flash-write-end to reasonable defaults. The rationale for doing "reset init" before gdb erases and flashes memory is that all flash drivers are written in assumption that they can safely be used only after chip reset (plus chip-specific configuration in the init handler if any). The need to use "reset halt" after flashing is because a user expects running firmware after loading to be the same as running it from power-on-reset. Change-Id: I9ddc4047611904ca4ca779b73376d2739611948a Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2062 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29target: remove memory leaksSpencer Oliver
Found by clang. Change-Id: Ifb25dca52f8d9e8e46a35f0947a7239f26eb3757 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2067 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Jörg Wunsch <openocd@uriah.heep.sax.de>
2014-03-29target: fix handle_profile_command variable typoSpencer Oliver
Change-Id: I5d476aecb4622731890e168b1be3173718151e95 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2066 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-29target: remove handle_profile_command memory leakSpencer Oliver
COMMAND_PARSE_NUMBER may return, thus any memory allocated may not be freed, simple reorder fixes the issue. Change-Id: I0ce444a5b032f5c49b6d33a03a8c0b71cad49c8c Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2065 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-29Add xscale debug helper sources and everything related to distPaul Fertser
GPL requires providing sources for any derived work. I do not see any reason to not include the xscale stuff into release tarballs. Wildcard matching is used because plain directory name matches implicit rule for executables and xscale.c built is errorneously attempted, and directory name with a slash duplicates a directory (xscale/xscale) in dist. Change-Id: Ie0266470dcb97be87a09ba2dda9b3957f7cbc2fa Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1911 Tested-by: jenkins Reviewed-by: Robert Jarzmik <robert.jarzmik@free.fr> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29Add usb_blaster cheap clone notes to distPaul Fertser
Change-Id: Ie9569634415ef76e88d5ca58bae6184838cf7114 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1908 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29Add rlink speed table sources and everything related to distPaul Fertser
GPL requires providing sources for any derived work. I do not see any reason to not include the rlink stuff into release tarballs. Change-Id: I686ab88994030312aca5bdfe731a72f10803b5c3 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1907 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29Move ocl (at91sam7x flash loader) sources to contribPaul Fertser
Change-Id: Ib5c3c505a067d0e285a7b074cb6fddebfa6dda1e Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1904 Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Tested-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29armv7m: remove magic numbers for number of core registersSpencer Oliver
Change-Id: I4296b812f0211011ccf3da8d203545dfba493903 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2053 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29rtos: fix xml register support regressionSpencer Oliver
Seems that when xml register support was added the rtos code was not updated to match. This then caused gdb to return the following error when rtos support was enabled - "Remote 'g' packet reply is too long". Change-Id: I7429c4b1efed120e2e690678d55f3d6e87ee1ff1 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2054 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29nrf51: Fix incorrect flash writing sequenceAndrey Smirnov
nRF51 doesn't have any sort of flash page cache so we need to write all of the data on the word-by-word basis and poll for "Flash Ready" bit each time. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Change-Id: I8caffbf69ebf9a69915724704ddbe270d1bb8d92 Reviewed-on: http://openocd.zylin.com/2050 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29nrf51: Remove unnecessary explicit type castingAndrey Smirnov
Change-Id: I523e81645434760649ea2c00e6f80c2b08d08d94 Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Reviewed-on: http://openocd.zylin.com/2055 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29nrf51: Add UICR writing supportAndrey Smirnov
SoftDevice stack ihex binary, provided by Nordic expects being able to write data necessary for its correct operation at the adresses inside UICR. This patch exposes UICR region of flash as a second bank on the MCU to facilitate that. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Change-Id: Idbc140b8de027f60655f78043877b7c054eb06f9 Reviewed-on: http://openocd.zylin.com/2013 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29nrf51: Add a known devices table and simple chip type detection codeAndrey Smirnov
Unfortunately due to my oversight, the original version of the nrf51_probe function contained useless code that read the contents of DEVICEID[0] an DEVICEID[1] registers and did nothing about it(those registers had nothing to do with the device type information anyway). This commit fixes that code by changing its behavior to read the HWID field of CONFIGID register and looking up the corresponding device information in the know devices table. This information is useful when choosing the versions of SDK and SoftDevice for the chip using "nRF51822 compatibility matrix". Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Change-Id: Ibd80b35460df4278e86e0c2500b7dcc876eec10c Reviewed-on: http://openocd.zylin.com/2012 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-29armv7m: Do not ignore 'value' parameter in armv7m_write_core_regAndrey Smirnov
Ignoring the value parameter in that function makes its code rather misleading. Also the only caller of it, armv7m_restore_context already does the whole "buf_get_u32" conversion business, so using 'value' also removes the waste of doing the conversion twice. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Change-Id: I515979c314d9b59ee1065c55b5bb5747c7e93f01 Reviewed-on: http://openocd.zylin.com/2057 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29AT91SAM4L: Fix bug when writing to flash at a non-zero offset, add debugAngus Gratton
output for flash page writes The offset wasn't being considered in the "full page" write codepath, so any writes at an offset were actually written out starting from page 0. Change-Id: I5e70a1f35f144b3edd1ce6d9df9af9b5da6cf194 Signed-off-by: Angus Gratton <gus@projectgus.com> Reviewed-on: http://openocd.zylin.com/1965 Tested-by: jenkins Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29jlink: add support for Jlink-OB (0x0105) devicesAndrey Yurovsky
The JLink-OB (onboard) devices work the same way as the normal JLink except that their PID is 0x0105 (and that's the only one we know of so far) and their endpoint addresses are different due to there being a CDC-ACM interface as well. These JLink-OB devices show up on a lot of vendors' development kits as an integrated debugger. This change simply checks whether the adapter we opened has a JLink-OB PID and, if it does, uses the JLink-OB endpoints rather than the default. To do this, we add a new routine, jtag_libusb_get_pid() to the libusb adapter layer, it in turn just calls libusb_get_device_descriptor(), which previously had no wrapper. Also, checkpatch.pl doesn't like the VID/PID macros as defined so I moved them to the array itself. This should have no effect on the code. This change adds the 0102 through 0104 PIDs to openocd.rules as well as this new 0105 PID. Tested on an Atmel SAM4S Xplained board which has a JLink-OB, also regression tested by using a 0x0101 PID normal JLink adapter. Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Change-Id: I121d30e57729cda3adb66e2a5dc72e1fcb7ef8b1 Reviewed-on: http://openocd.zylin.com/2031 Tested-by: jenkins Reviewed-by: Xiaofan <xiaofanc@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29Support for sam3n0a sam3n0b sam3n00a sam3n00bAndreas Fritiofson
Change-Id: I70a04f5f9b0b20d42a677ea8781130e44be758d3 Signed-off-by: Stefan Arnold <sarnold@sh-sw.de> Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2042 Tested-by: jenkins Reviewed-by: Stian Skjelstad <stian@nixia.no> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-29flash/nor/tcl: fix segfault on write_image misusePaul Fertser
"flash write_image (unlock|erase)" (without filename) was causing segmentation fault in strcmp(). This patch fixes it. Change-Id: Ia3b8c796f4107621d78605c02d2b8e123b1b207b Reported-by: ajkroll][ <ajkroll][@irc.freenode.net> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1970 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-29mips_ejtag.c: disable DMA for all platformsOleksij Rempel
DMA seems to be broken in many ways. Don't trust it! Change-Id: I7e28608f299abdf78d02a967c62849b6b2ce5985 Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Reviewed-on: http://openocd.zylin.com/1936 Tested-by: jenkins Reviewed-by: Antony Pavlov <antonynpavlov@gmail.com> Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2014-03-28ft2232: Mark interface driver as deprecatedAndreas Fritiofson
Change-Id: I5ebc924ab66c86f1902942bebc203a34d97abc64 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1899 Reviewed-by: Paul Fertser <fercerpav@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Tested-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17CMSIS-DAP: print a debug message when the USB product string cannot be readJörg Wunsch
As suggested by Stian Skjelstad in a comment in: http://openocd.zylin.com/#/c/2044/ if the USB product string cannot be read, provide a debug message so users might get aware of a potential permission problem when looking at the debug output. Fix style bug found by Jenkins. Change-Id: I6acb1c6261fec6f2bee80e4be513a5c5e29eff79 Signed-off-by: Jörg Wunsch <openocd@uriah.heep.sax.de> Reviewed-on: http://openocd.zylin.com/2048 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17All Atmel-provided CMSIS-DAP devices use 512 byte packet sizeJörg Wunsch
The existing CMSIS-DAP driver matches the USB VID/PID against 0x3eb (Atmel VID) and 0x2111 (Atmel EDBG embedded CMSIS-DAP debugger), and then bumps the packet size from its default of 64 to 512. However, it turned out that *all* Atmel-provided CMSIS-DAP devices (EDBG with PID 0x2111; JTAGICE3 with firmware version 3.x, PID 0x2140; new Atmel-ICE [successor of JTAGICE3], PID 0x2141) require a 512-byte packet size. Obviously, all run the same USB implementation inside their custom microcontroller. Thus, it seems best to simply assume that *all* Atmel CMSIS-DAP devices use this packet size, and don't check the PID at all. This has also been filed as Trac bug #68: https://sourceforge.net/apps/trac/openocd/ticket/68 Change-Id: I942af93060fdf265fca3961841638caa6182f877 Signed-off-by: Jörg Wunsch <openocd@uriah.heep.sax.de> Reviewed-on: http://openocd.zylin.com/2045 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com>
2014-03-17Prevent segfault when the USB product string cannot be retrievedJörg Wunsch
In the CMSIS-DAP driver, if nothing has been specified by the user, an attempt is made to find the first device with the (mandatory) substring "CMSIS-DAP" in any USB device's product string. However, while (usually) all devices can be traversed, devices the user does not have permission for cannot be read the product string from, resulting in a NULL pointer. Trying to find the substring "CMSIS-DAP" causes a segementation fault then. This has also been filed as Trac bug #67: https://sourceforge.net/apps/trac/openocd/ticket/67 Change-Id: Idfc9f072e34152e9af99fe1c8ec88c99dea4624c Signed-off-by: Jörg Wunsch <openocd@uriah.heep.sax.de> Reviewed-on: http://openocd.zylin.com/2044 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17stm32f2x.c: Add STM32F401xE device id.Jens Hoffmann
Nucleo F401 board uses STM32F401RE chip with new device id and got more flash than existing devices (512K). This patch adds new the identifier to probe functions so flashing will now work. Change-Id: Ibe9c047c79244db0cfbb06610da9d84987b9f85a Signed-off-by: Jens Hoffmann <jehoffma@gmail.com> Reviewed-on: http://openocd.zylin.com/2037 Tested-by: jenkins Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17flash: Constify write bufferAndreas Fritiofson
Change-Id: Ic812098d3ed5a2992c26bb57d08ae350e2c5d5d8 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2040 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17flash/kinetis: Fix bug in odd byte count paddingAndreas Fritiofson
Change-Id: Ic5cfd880f2b49e3a96c408cf868db622bfe698a1 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2039 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17flash/efm32: Fix bug in odd byte count paddingAndreas Fritiofson
Change-Id: I7fcd152a8501f399c6ac5a85fd62a84c82b030a0 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2038 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17target: Don't poll until the target is examined.Andreas Fritiofson
The timer callback is started on target init, but it makes no sense to poll until the target is fully setup. Change-Id: I118201e125e39be3d0a920e3ef9a3f68a2035f39 Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2041 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17gdb_server: do not copy feature names for tdesc generationPaul Fertser
We always have feature names defined by string literals and the standard guarantees static storage duration for them. Hence, there's no need duplicating and then freeing them. Valgrind-tested. Change-Id: I1b77f966c548e3694141c63bd8680735f0f47505 Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2028 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-17stlink_usb.c: add support for STLink V2-1Bartosz Bielawski
The new version of STLink (V2-1) has a different USB endpoint layout. As the PID of the device also changed it's possible to change EPs used by OpenOCD in runtime. The patch adds three new fields to stlink_usb_handle_s and assigns right EP numbers in stlink_usb_open(). Parts of the code inspired by and used with consent of Jens Hoffmann. Change-Id: I93b69fb889f15317e9bf864905f435905db39745 Signed-off-by: Bartosz Bielawski <bartosz.bielawski@gmail.com> Reviewed-on: http://openocd.zylin.com/2019 Tested-by: jenkins Reviewed-by: Nemui Trinomius <nemuisan_kawausogasuki@live.jp> Reviewed-by: Paul Fertser <fercerpav@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-07stlink: Use callback to increase frequency of trace data samplingAndreas Fritiofson
The ST-LINK/V2 has limited internal buffering, such that trace data can be missed if the target is generating data at a rate quicker than the OpenOCD trace sampling. The issue of lost data is compounded since individual TPIU packets may be split across individual STLINK_TRACE_EP reads, and misleading results can occur if mid-packet loss occurs. This patch increases the frequency of checking for pending trace data with the aim of minimising such losses. Note: With the limited (I/O and memory) bandwidth of the ST-LINK/V2 there cannot, however, be a guarantee against trace data loss. The timer callback is only added when enabling tracing, and is removed when tracing is disabled. Change-Id: Ibde9794b77793d3068f88cb5c1a26f9ceadcbd8a Signed-off-by: James G. Smith <jsmith@ecoscentric.com> Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/1661 Tested-by: jenkins
2014-03-07nrf51: Fix format string bugs in nrf51_infoAndrey Smirnov
Additional information string appended to the 'flash info' output used incorrect offsets and was missing a couple of fields. Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Change-Id: If131be021295cab6adfca7da03c2f0fb8dca7d42 Reviewed-on: http://openocd.zylin.com/2011 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-07cortex_a: Fix endianess issues in cortex_a8_*_apb_ab_memoryKamal Dasu
Make the APB-AB memory read routines handle endianess order when running on big endian host. cortex_a8_read_apb_ab_memory is also called by cortex_a8_write_apb_ab_memory and was breaking both APB-AB read and write functions. Also fixed bug in write function in calculating the offset of end of buffer data. The change aslo fixes the read issues with all combinations of aligned unaligned memory access found by 'test_mem_access' cmd. Tested with target "test_mem_access 4000", also size 1-9, 'mdb/h/w' 'mwb/h/w' cmds and equivalent gdb 'x' 'set' cmds. Change-Id: Ia927c60c4837617f5342a9beb6fdab1f061855fe Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com> Reviewed-on: http://openocd.zylin.com/1781 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2014-03-07target: add CoreSight PMU and an unidentified component to "dap info"Paul Fertser
Change-Id: I705eae46b190dbd89ab01bc086c49eb04368d9b3 Reported-by: Brad Riensche <brad.riensche@gmail.com> Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1928 Tested-by: jenkins Reviewed-by: Brad Riensche <brad.riensche@gmail.com> Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-07target: "dap info" command cosmetic output changesBrad Riensche
This makes the listing easier to read, imho. The tab indentation technique causes the base address to precess as the parser proceeds through the subtables, and can easily wrap. Change-Id: Iea5e678255e6314a9d532e4b222a2572b5394390 Signed-off-by: Brad Riensche <brad.riensche@gmail.com> Reviewed-on: http://openocd.zylin.com/1518 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-07targets: Print nested ROM tables with the 'dap info' command.Chris Johns
Move the ROM table printing into a separate function to allow recursive calls with nested tables. ROM tables can nest. The printing is limited to 16 levels. Update the types of tables printed. When an entry can't be read, print a warning and continue. Change-Id: Ib134edd9e987af2f5f606071521885b17af4d70f Signed-off-by: Chris Johns <chrisj@rtems.org> Reviewed-on: http://openocd.zylin.com/1427 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2014-03-07gdb_server: Fix segfault in (and rewrite) decode_xfer_readAndreas Fritiofson
Introduced by 537b06a81 (free non-malloced memory). Rewrite to use standard C string routines and make returning annex optional since it's not currently used. Change-Id: Idf3698a482dfeff7fa5ea1660fd89122eb80b68d Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-on: http://openocd.zylin.com/2023 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04gdbserver: fix duplicate declarationSpencer Oliver
commit da0d1e37 did not merge correctly, causing the build to fail. Change-Id: I3f525054bb38b7ee29bf27309bb2e6a5bb8329c7 Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-on: http://openocd.zylin.com/2020 Tested-by: jenkins
2014-03-04Add support for the Atmel SAMG53Andrey Yurovsky
flash: at91sam4: add support for the SAMG53 family (this also covers the SAMG51). The SAMG5x parts have an EEFC (enhanced embedded flash controller) which seems to be identical to the EFC that the sam4 driver supports. Add a script for the Xplained Pro G53 board, this has the onboard CMSIS-DAP debugger and a SAMG53N19. Tested on this board and chip combination. Change-Id: I12af50402cd2069b3c7380d92e6fe54816d6c045 Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-on: http://openocd.zylin.com/1974 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04CMSIS-DAP: Fix build errors on Mac OS XJens Bauer
Rename the argument variable 'wait' to 'delay', as 'wait' conflicts with an API function declared in system header /usr/include/sys/wait.h on Mac OS X. Change-Id: I5742da6e5def6e5ec197e774c3844e4bf0424569 Signed-off-by: Jens Bauer <jens@gpio.dk> Reviewed-on: http://openocd.zylin.com/1973 Tested-by: jenkins Reviewed-by: Andrey Yurovsky <yurovsky@gmail.com> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04gdb_server: fix memory leaks in users of get_reg_features_list()Christian Eggers
v4: - changed first line of commit message v3: - added extra LOG_ERROR() message v2: - Added missing "goto error" - free also the on extra element of features[] In contrast to target_get_gdb_reg_list(), the list returned by get_reg_features_list() consists of items which are itself malloc'ed. --> Free the list items prior freeing the list itself. Additionally: - gdb_generate_target_description(): o Do error handling similar as gdb_get_target_description_chunk() does. - gdb_get_target_description_chunk() o **features must be initialised prior an "goto error" can happen Change-Id: Iad07824618c51084e0aa0499ee6fc96198b320f0 Signed-off-by: Christian Eggers <ceggers@gmx.de> Reviewed-on: http://openocd.zylin.com/1917 Tested-by: jenkins Reviewed-by: Trevor Woerner <trevor.woerner@linaro.org> Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04Constify received GDB packetChristian Eggers
v2: - Split work into separate patches The received packet will not be altered in any of the processing functions. Some it can be made "const". Change-Id: I7bb410224cf6daa74a6c494624176ccb9ae638ac Signed-off-by: Christian Eggers <ceggers@gmx.de> Reviewed-on: http://openocd.zylin.com/1919 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04gdb_server: Don't modify "buf" argument in decode_xfer_read()Christian Eggers
Make a temporary copy of argument "buf" before modifying it. This requires also returning annex as copy of "buf". This change is necessary in order to make packet[] "const". Change-Id: I41eddc2edba1a88384aa7f5591fe50f6ee6a135c Signed-off-by: Christian Eggers <ceggers@gmx.de> --- Changelog: v4: - Initialize annex to NULL v3: - Return "annex" as copy instead of removing it. Reviewed-on: http://openocd.zylin.com/1924 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04Remove unneeded zero termination of received packetChristian Eggers
v2: removed curly braces around single statement if-block packet[] has already been zero terminated in gdb_input_inner() This change is necessary in order to make packet[] "const". Change-Id: I978bbe52d151a63574db77fb747f596da256d377 Signed-off-by: Christian Eggers <ceggers@gmx.de> Reviewed-on: http://openocd.zylin.com/1922 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04gdb-server/rtos: Send correct answer to "qfThreadInfo" packetChristian Eggers
Even if no RTOS is configured, "qfThreadInfo" must be answered with "l" instead of "". Otherwise GDB will switch to the older thread packet ("qL"), which is not supported by OpenOCD. Change-Id: Iead045bdf8268bac2378c8f70829b17c37834e44 Signed-off-by: Christian Eggers <ceggers@gmx.de> Reviewed-on: http://openocd.zylin.com/1925 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-03-04RTOS: Unify wipe-out of thread listChristian Eggers
Each RTOS implementation uses it's own (similar) code to free the thread list. There are some additional issues: <---> if (pointer != NULL) free(pointer); <---> This is not necessary, free(NULL) is perfectly ok. <---> free(rtos->thread_details); rtos->thread_details = NULL; rtos->thread_count = 0; <---> The 3rd line has been missing for all RTOS but ChibiOs. There are paths in the code where rtos->thread_count is never set to NULL, which can lead to null pointer dereference of rtos->thread_details. Change-Id: I6f7045c3d4518b925cb80dd5c907a566536b34ad Signed-off-by: Christian Eggers <ceggers@gmx.de> --- Changelog: v7: - rtos_wipe_threadlist() --> rtos_free_threadlist() - removed non related changes in gdb_server.c from this patch v3: - Removed world "topic" from first line of commit message v2: - typo: "whipe" --> "wipe" Reviewed-on: http://openocd.zylin.com/1916 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>