aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-09-09Make a couple variables static.staticTim Newsome2-4/+2
2020-09-07Add support for GD32VF103 flash (#518)ZL2WRW3-0/+1350
* Backport of GD32VF103 flash driver from https://github.com/riscv-mcu/riscv-openocd (GPL2 licensed) Tested with a "Longan Nano" GD32VF103 dev board and seems to be working (flash can be read, erased and written). * Modify src/flash/nor/gd32vf103.c to comply with Travis CI code style requirements. * Modified README to include GD32VF103 in list of supported flash devices.
2020-09-03Fix usage for our RISC-V commands. (#521)Tim Newsome2-24/+20
Change-Id: Ia4e020637aae2384af223b0210ef2aef6a14b31a
2020-09-03Check malloc/calloc return values. (#517)Tim Newsome4-9/+96
Should not affect anything, but requested in http://openocd.zylin.com/#/c/5821/5/src/target/riscv/batch.c@28 Change-Id: Ib7185bd93eeb918e72872416ab6364f8776cff88
2020-09-01user4 0x23 should be MSB. (#519)Jiuyang Liu1-1/+7
Signed-off-by: Jiuyang Liu <jiuyang.liu@sifive.com>
2020-08-31Make checkpatch require Signed-off-by (#516)Tim Newsome2-3/+3
* Make checkpatch require Signed-off-by This will make it easier to send changes contributed here to mainline OpenOCD. (Intentionally not including the required line here to make sure I can't just merge this.) Change-Id: I089084d38f3e08859d62cf7eface405f37af4799 * Whitespace fix. This PR isn't building on travis. Maybe because I only changed .travis.yml. Here's a source change to force a build (hopefully). Change-Id: I8a828fe1d56a1960bc4bfb91d3d2f3a0790ad571 * Can't check for signoff on sources alone. Change-Id: I741a299b64bf14857a4e1807b254a7d270b2e466 Signed-off-by: Tim Newsome <tim@sifive.com> * Actual whitespace fixes. Why didn't this fail to build before? Change-Id: I339c03c4ef96546dbef5f16e635921a4fdaf9b35 Signed-off-by: Tim Newsome <tim@sifive.com>
2020-08-24Add SPDX tags for RISC-V files. (#513)Tim Newsome12-0/+24
Requested in http://openocd.zylin.com/#/c/5821/3 Change-Id: I95551a3311d8e128300bacdf463da7ab4edf29a0
2020-08-24Update encoding.h from riscv-opcodes (#514)Tim Newsome5-256/+583
Rename dscratch to dscratch0, since that is what it's called in the spec. Change-Id: Id6271ae272e979cef69e8ef0577b23452fb84f51
2020-08-24Update debug_defines.h from riscv-debug-spec (#515)Tim Newsome3-1700/+1783
A ton of constants got a new prefix, so I made a lot of changes to match, but no functional changes. I did define DTM_DMI_MAX_ADDRESS_LENGTH in batch.c. That definition never should have been in debug_defines.h, which I missed during code review. Change-Id: If5d86660f84bb0a3f2865fb36ef05d6630486d8b
2020-08-21Mostly whitespace changes. (#511)Tim Newsome4-35/+35
Requested in http://openocd.zylin.com/#/c/5821/3 Change-Id: I75e6d551091396fc6e81b3642ae44bafe358eed7
2020-08-18Update to version 1.0 of the vector spec. (#505)Tim Newsome1-1/+1
Accessing registers on targets that implement 0.9 or earlier will no longer work. If you need that we can talk about making it a config option. Change-Id: I953b639cf9a92ee9b0422e035da57c1d07504237
2020-08-18Create `riscv repeat_read` command (#510)Tim Newsome8-86/+182
* WIP, apply stash with conflicts. Change-Id: Ia794bde419aa29161c68898d20e30527e69f5a31 * Fix conflict resolution problems. Change-Id: I4cedc348cf613f98cc5a36886f37c568ca644238 * Add repeat_read command. Only implemented for sba v1 right now, and poorly tested at that. Change-Id: I1d9ff63e1dea14b3f6a9f8ba4dad53668bf8038b * Hide bogus address in repeat_read Change-Id: Ib66c1fa60df9c7fc7cc87880b0fddc52825b48aa * WIP make repeat read work with progbuf. Change-Id: I555f8b880c8bf0d1ed0f3f90c7987a5b516a7a79 * WIP Change-Id: Ic567cea68355ae907e94bd25185a2c9be6fd798d * Fix error handling when increment is non-zero. Change-Id: I5a2f3f2ee948fd4e12c0443a542e85b7b5c5791a * Correctly(?) handle failures when increment is 0. I'm not 100% convinced that this ensures every read value shows up in the output, but it ought to work. Change-Id: I1af3e7174cf9d5e6f293456fb5ead629e17faaaa * Don't crash when asked to read no data. Change-Id: I4061b5c720a43a4f828384ab9eacc89557adfa05 * Remove unnecessary comment. Change-Id: I1be3d699b86299339b3a830ca1ef13c9f5b9fe0f * Document `riscv repeat_read`. Change-Id: I4a0f071f38784b2de034f8c1b0ce75d6d2d326b2
2020-08-17Account for impebreak in size requirements for progbuf (#509)Samuel Obuch1-30/+26
* Account for impebreak in size requirements for progbuf * add helper function
2020-08-07Fix of DMI batch scans over 64-bits (#432)Jan Matyas4-27/+37
This fixes buffer overrun/data corruption during DMI scan batches on targets with large value of dtmcs.abits > 30 (unusual, but within the spec).
2020-07-17Further deprecate `-rtos riscv`. (#499)Tim Newsome2-7/+39
* Further deprecate `-rtos riscv`. Now using `-rtos riscv` will result in a failure, which you can (until the end of this year) bypass by adding `enable_rtos_riscv` to the configuration. Change-Id: Ic714c303dc1b00c19e8956609730c0f83c845cb6 * Make checkpatch happy. Change-Id: I0469ec37d38ad2eadf25efb5b2b7ac88391c0f51
2020-07-07Triggers with type=0 aren't real. (#496)Tim Newsome1-1/+5
Fixes #491. Change-Id: Id01adcc68d8c7d95f7e86d49d5d2b0c97c9fb1b0
2020-07-02Merge pull request #494 from riscv/from_upstreamTim Newsome227-4490/+17964
Get changes from upstream
2020-07-01Warn if we are asked to read/write 0 bytes. (#492)Tim Newsome1-0/+10
Technically that might be OK, but in practice it probably indicates something went wrong somewhere. Before this change OpenOCD would crash if it happened. Change-Id: I2500ba67ec282915dcf2b2488f2aac9fbfdb23a3
2020-06-30Fix formatting.Tim Newsome1-3/+2
Change-Id: If17f12ad23a7c131eb4ac1344704e62ca24f585d
2020-06-30Merge branch 'riscv' into from_upstreamTim Newsome2-6/+6
Change-Id: Ia9c5d7c7f0a4913c1af17e042266736943334c7f
2020-06-25Don't halt the algorith-running hart because another is halted. (#490)Tim Newsome1-3/+1
This logic is a little tortured, but it still passes the semihosting tests that were the cause for the recent rewrite. Change-Id: Ic6760bb068621ab2a49feb0cf3998fc6957b5cfc
2020-06-25Accept dmstatus.version==3 (0.14) (#489)Tim Newsome1-3/+5
Fixes #485. Change-Id: I60b3d68827ca726558bc28035c0b74c5cf0d9754
2020-06-23Fix build.Tim Newsome2-3/+2
Change-Id: Id96e590984eb8488f6367b4c8778e2dc5adf3c1b
2020-06-23Merge branch 'master' into from_upstreamTim Newsome227-4487/+17963
Conflicts: .gitmodules .travis.yml jimtcl src/jtag/core.c src/jtag/drivers/ftdi.c src/jtag/drivers/libjaylink src/jtag/drivers/mpsse.c src/jtag/drivers/stlink_usb.c src/rtos/hwthread.c src/target/riscv/riscv-013.c src/target/riscv/riscv.c tcl/board/sifive-hifive1-revb.cfg Change-Id: I2d26ebeffb4c1374730d2e20e6e2a7710403657c
2020-06-23flash/nor/spi: add micron MT25QU01G (#487)Jaehoon Park1-0/+1
1Gbit SPI flash on VCU118 Rev. 2.0
2020-06-23libjaylink: Update to latest Git versionMarc Schink1-0/+0
This update is for testing the upcoming 0.2.0 release. Change-Id: I400b09eb3ead4306c83c7980c621124101aaef7e Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: http://openocd.zylin.com/5723 Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
2020-06-18Step/resume off manual hardware triggers (#486)Tim Newsome2-30/+119
* Accommodate users setting custom triggers. RISC-V hardware supports many more triggers than gdb can communicate to OpenOCD. Accommodate users that set triggers by writing tdata* directly, by disable/step/reenable when a user has done that. Note that users must set dmode in tdata1 for this behavior to work properly. Triggers with dmode=0 are assumed to be set and handled by the software that is being debugged. Change-Id: Ib0751689c5553aae3a273395b10f5b98326fa066 * Enumerate triggers when resuming from a trigger Otherwise when we connect to a target that's already halted due to a trigger, we won't correctly step past it. Change-Id: I23b9482fa9597af826770f9cebf247b7ba59f65c * Also disable/reenable triggers around single step. Gdb is smart enough to disable/step/resume if it set the triggers, but if a user set them manually it also needs to happen. Change-Id: I1251bd47199b6f15f61a93e3a521a53f2b677c5f * Fix whitespace. Change-Id: Icc240aecbc7e3e36ce4e4d784f5703304334ca13
2020-06-18target/armv7m_trace: Calculate prescaler for external capture devicesMarc Schink2-7/+26
This fixes a regression introduced in "2dc88e1479f29ef0141b05bfcd907ad9a3e2d54c" Change-Id: I04dc19ed30118a4c499b83732700b2ee0fdb67b6 Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: http://openocd.zylin.com/5610 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
2020-06-16riscv: Avoid shadowing read_csr/write_csr macros (#483)Khem Raj1-6/+6
The name conflict is picked by compiler and it fails to compile for rv64 Fixes src/target/riscv/riscv-011.c:1014:44: error: too many arguments provided to function-like macro invocation static int read_csr(struct target *target, uint64_t *value, uint32_t csr) ^ Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-14flash/nor/stm32l4x: Fix check for number of argumentsMarc Schink1-1/+1
The current version erroneously allows any number of arguments >= 1. Change-Id: I64156c11b48d411c72bebbf866954818cd036ff2 Signed-off-by: Marc Schink <dev@zapb.de> Reviewed-on: http://openocd.zylin.com/5716 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2020-06-14stlink: code factorization by introducing stlink_usb_exit_modeTarek BOCHKATI1-43/+24
Change-Id: I4abd6432c4ef969e382bfed96cd19a49d9610000 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5612 Tested-by: jenkins
2020-06-14openocd: fix issue in WIN32 with TCP adaptersTarek BOCHKATI3-2/+22
Issue: server_quit is called before adapter_quit: In WIN32 only in server_quit we do an WSACleanup, which terminates/closes all active sockets. So if the adapter is TCP based, the adapter.quit handler will fail if it will need to send some commands through TCP. Example: close_socket in jtag_vpi_quit will fail in WIN32 because the socket is already closed and the errno is set as "Bad File Descriptor" To fix that we introduced new functions called server_host_os_entry/quit to manage specific OS setup (hence WSA for sockets in WINDOWS) in order to delay WSACleanup after adapter_quit(). Change-Id: Ie4afacafe123857f6ae300e376bdfcf0d8c027ac Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5456 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2020-06-14flash: Add the Freedom E310-G002 SPI FlashAlistair Francis1-1/+2
Change-Id: Id9f4a209a6eacf186931b142e70a5b0458517be0 Signed-off-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-on: http://openocd.zylin.com/5679 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-by: Tim Newsome <tim@sifive.com>
2020-06-06coding style: fix multi-line dereferencingAntonio Borneo2-16/+9
Issue identified by checkpatch script from Linux kernel v5.1 using the command find src/ -type f -exec ./tools/scripts/checkpatch.pl \ -q --types MULTILINE_DEREFERENCE -f {} \; Change-Id: Icba05613e22a72ecc3e6a0aad7cb6b479496146f Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5629 Tested-by: jenkins Reviewed-by: Marc Schink <dev@zapb.de>
2020-06-06jtag/tcl: fix memory leak in command 'irscan'Antonio Borneo1-4/+9
If the function parse_u64() fails, we jump to return, thus leaking the memory just allocated in 'v'. Issue identified by clang. Move earlier the call to parse_u64() and the associated test, before memory allocation. While there, fix a possible NULL pointer dereferencing in case the calloc() fails, by testing for allocation failure. Change-Id: I6a77ee17aceb282bbdfefe7cdafeba2e0e7012f1 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5692 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
2020-06-06target/cortex_a: fix memory leak of register cacheAntonio Borneo4-0/+25
There is no method to free the register cache, allocated in armv4_5, so we get a memory leak. Issue identified by valgrind. Implement the method arm_free_reg_cache() and call it in cortex_a deinit and to exit for error during arm_dpm_setup(). Tested on dual cortex-A stm32mp15x. This change is inspired from similar fix in commit b01b5fe13a67 ("armv7m: Fix memory leak in register caching."). The same allocation is also used by target types "arm7tdmi", "arm9tdmi", "arm11" and "xscale" but they all lack the deinit method and I do not have relevant HW to test the fix. For such reasons they are not addressed in this patch. Change-Id: I4da1e1f12e36ec245d1f3b11a4eafcbd9a1d2e25 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5693 Tested-by: jenkins
2020-06-06target/mem_ap: fix two memory leaksAntonio Borneo1-0/+10
The target mem_ap misses the method 'deinit_target' and does not free the memory allocated during 'target create' and 'configure'. Add the missing method and free the allocated memory. Issue identified with valgrind. Change-Id: If0d0114a75dd76a8b65c2d46d96c6085fd31a09d Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5700 Tested-by: jenkins
2020-06-06libusb_helper: fix memory leak when no adapter is foundAntonio Borneo1-0/+3
When jtag_libusb_open() fails to find the adapter, it returns error but left libusb initialized causing memory leak of libusb internal data. Issue found with valgrind when no adapter or board is connected to the host, e.g. valgrind openocd -f board/st_nucleo_f4.cfg Close the libusb operations if jtag_libusb_open() has to return error. Change-Id: Ieb2f110be15705dafe80c099e7d83c07056c2a41 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5701 Tested-by: jenkins
2020-06-06target/cortex-m: enable C_DEBUGEN during examineAntonio Borneo1-0/+13
Current code for Cortex M does not set C_DEBUGEN as soon as possible, (which means during target examine), but later-on either: 1) at command 'halt' (e.g. for 'gdb-attach' event); 2) at command 'soft_reset_halt'; 3) at commands 'reset', 'reset halt' or 'reset init'; 4) during polling, but only if the target: = enter in 'double fault', or = exit from a reset, or = halts (not possible if C_DEBUGEN is not set) Plus, if commands in 1) or 2) are executed before the very first poll of the target, the value of 'cortex_m->dcb_dhcsr' is used not initialized while writing it back in DCB_DHCSR. Another side effect of this situation is that it's possible to set a HW breakpoint with the target running, while C_DEBUGEN is not set. Accordingly to [1], C1.3.1 "Debug authentication": When DGBEN is LOW and DHCSR.S_HALT == 0: ... FPB breakpoints do not generate an entry to Debug state and, if no DebugMonitor exception is generated, will escalate to HardFault, Lockup, or be ignored. On STM32MP15x I get HW breakpoint ignored, while on STM32F411 I get HardFault. E.g. following these steps: - power-on a pre-flashed board that starts running the firmware; - connect openocd, without halting or resetting the board; - set a HW breakpoint to some address often executed; - wait, but the board doesn't halt ...; - type the command 'halt'; - if the Cortex-M has HardFault it would be visible and the fault is at the breakpoint address; - if no HardFault then type the command 'resume'; - wait and the board will finally halt at the HW breakpoint. A similar issue has been detected on Cortex-A code and fixed by commit bff87a7f28fb ("target/cortex_a: enable DSCR_HALT_DBG_MODE during examine"). Follow the same approach and set C_DEBUGEN during examine. Also, initialize 'cortex_m->dcb_dhcsr' during examine. [1] ARM DDI 0403E "ARM v7-M Architecture Reference Manual" Change-Id: I5b0b23403634f7dfce38f104bba9f59c33eb3e99 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5702 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-by: Moritz Fischer <moritzf@google.com>
2020-06-06log: fix kept_alive() and report expired timeoutAntonio Borneo1-17/+39
The kept_alive() function is called to inform the keep-alive code that a keep-alive as been just kicked through some other path. But kept_alive() erroneously resets the timeout counter without checking if it has already expired, thus masking a potential timeout. Check if timeout counter has expired during kept_alive(). While there, put the timeout values in macros and explicit the units in the timeout messages. Change-Id: Iaf6368b44e5b5352b1cc4e7efbb2368575dcfa08 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5705 Reviewed-by: <jonatan_zeidler@gmx.de> Tested-by: jenkins
2020-06-06nor/kinetis: add keep-alive during flash writeAntonio Borneo1-0/+4
Flashing Kinetis MCU MK22FX512VLH12 takes longer than one second, thus gdb connection can timeout. Before commit 7f260f5009a7 ("helper/command: Handle Tcl return values consistently") the openocd timeout warning was masked by a bug in gdb_put_packet() that resets the timeout counter if any message is logged out. The commit above removes one log message and the timeout warning is now triggered. While the bug in gdb_put_packet() is still to be fixed, the reason of the timeout is the lack of keep_alive() calls in kinetis flash driver. Add keep_alive() call at every iteration in function kinetis_write_sections(), that is reported as core write function in chunks of 1024 bytes in the log from the reporter. Add also a keep_alive() call at every iteration in function kinetis_write_inner(). This part is not present in the log but, by code analysis, it represents another critical loop. Change-Id: I38e631b36c7eb2f1e21cef68710ce47c03d3edda Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reported-by: Jonatan Hatakeyama Zeidler <jonatan.zeidler@medineering.de> Reviewed-on: http://openocd.zylin.com/5703 Tested-by: jenkins Reviewed-by: <jonatan_zeidler@gmx.de>
2020-06-06arm_adi_v5: dap_ti_be_32_quirks_command minor simplificationTarek BOCHKATI1-18/+2
use handle_command_parse_bool within dap_ti_be_32_quirks_command to make it shorter and simpler. Change-Id: Ice179cc477933b27e27235dc2ade23fe655e233d Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5708 Tested-by: jenkins Reviewed-by: Marc Schink <dev@zapb.de> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2020-06-06arm_adi_v5: enhance command error reportingTarek BOCHKATI1-17/+32
avoid the usage of ERROR_COMMAND_SYNTAX_ERROR when ERROR_COMMAND_ARGUMENT_INVALID is more adequate. Change-Id: Ic9aaedb93fedd45efee1b39f8ea20185f01af2da Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5654 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2020-06-06jtag/drivers/bcm2835gpio: bcm2835gpio_init has been updatedtscn921-1/+5
For jtag/drivers/bcm2835gpio dev_mem_fd has been updated within bcm2835gpio_init with the add on of gpio to mem. This permits the access to memory of GPIO without the need for root access. For failed attempt, a fallback to original memory follows. It should be noted that any printed error is relative to original memory ("dev/mem"). Tested on EFM32GG12B390F board Change-Id: I4540bdf62fb3b91a51221e277881adfae138dcc5 Signed-off-by: tscn92 <tscn@kamstrup.com> Reviewed-on: http://openocd.zylin.com/5568 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
2020-05-26Don't use MMU in M mode - https://github.com/riscv/riscv-openocd/issu… (#479)Tommy Murphy1-3/+22
* Don't use MMU in M mode - https://github.com/riscv/riscv-openocd/issues/474 * Updated code based on feedback from @timsifive
2020-05-24helper/command: remove unused functions and make static local onesAntonio Borneo2-49/+8
The function command_find_in_parent() is never used in OpenOCD, so remove it. The functions command_name() and [un]register_command() are only used internally in command.c, so make them static. Change-Id: Ide9842659796f4884fb6c1fcf5979b3b71b67abb Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5663 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2020-05-24openocd: properly use jim data typesAntonio Borneo3-4/+5
The jim library exports all the data types through typedef, so there is no need to use the internal struct types. Fix the few remaining inconsistencies in the code. Change-Id: Id4ae0083563ea7a371833374e7b39f17158f66a4 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5662 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2020-05-24helper/command: fix check on value returned by jim APIAntonio Borneo1-2/+2
Either Jim_CreateCommand() and register_command_handler() return the jim error code JIM_OK/JIM_ERR. Fix the check and the initialization of retval. Change-Id: I3073c66764670128706ad979a43bb3edbbeb0ab0 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5661 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2020-05-24helper/command: strip replicated command name in logAntonio Borneo3-11/+8
After commit 0840414f0e57 ("helper/command: do not replace new commands with ocd_ prefix"), the command name is present in argv[0], so there is no need to pass it directly. The current code causes the command name to be logged twice, once explicitly and then from the content of argv[0]: openocd -c 'debug_level 3; echo hello; shutdown' <snip> Debug: 13 3 command.c:142 script_debug(): command - echo echo hello <snip> Debug: 16 4 command.c:142 script_debug(): command - shutdown shutdown Remove the command name from the arguments of the function script_debug(). Change-Id: I57860774f450ff717ee71ef9dc07590549a84319 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5660 Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Tested-by: jenkins
2020-05-24stlink: fix open AP for v2j37 and v3j7Antonio Borneo1-4/+11
The new stlink firmware requires opening the AP before issuing any operation. In the current code we have a 'questionable' check about the core model to set the TAR autoincrement, that is issued without opening the AP, thus causing a STLINK_BAD_AP_ERROR. Modify the AP open API to handle this case and open AP#0 before the memory access to check the core model. Change-Id: I576955b5094bd41d63ff1fbad7b4fd9433253321 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reported-by: Andreas Bolsch <hyphen0break@gmail.com> Reviewed-on: http://openocd.zylin.com/5691 Tested-by: jenkins Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com>