aboutsummaryrefslogtreecommitdiff
path: root/src/target
AgeCommit message (Collapse)Author
2011-03-22omap4430: tried to add in workaround for broken dbgbase queryØyvind Harboe
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2011-03-22cortex a9: merge cortex a9 and a8 codeØyvind Harboe
better to keep this in a single file. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2011-03-20dsp563xx_once: fix warning and potential bugØyvind Harboe
I don't think dsp563xx_once_read_register() would ever be called with len==0, but it would have been broken in that case. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2011-03-17target: allow targets to override memory alignmentMathias K
Targets can implement read/write_buffer to handle alignment.
2011-03-17SYS_WRITE0 fixJohn and Tina Peterson
Problem is, trying to print "Hello, world!\n" just prints endless H's, because r1 is never incremented. One way to fix it would be to add a "++" after "r1".
2011-03-17Fix a bunch of typos.Uwe Hermann
Fix a bunch of typos. Most are in code comments, so nothing should break. UNKOWN_COMMAND and CMD_UNKOWN are not used elsewhere, so correcting the spelling should also not break anything.
2011-03-15dsp563xx: fix alignment warningsØyvind Harboe
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2011-03-15dsp563xx: fix bug in x buffer handlingØyvind Harboe
found by inspection. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2011-02-23cortex_a8: remove dap_ap_sel callsLuca Ellero
add new mem_ap_sel_* functions (as was made for cortex_a9) see commit: 779005f43dc372de937dfd4b445f31d882b98eca Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-21dsp563xx: rudimentary gdb supportMathias K
This patch add rudimentary gdb support. The gdb register list order is corrected. All registers are now 32bit width. Events are send to signalize gdb the current target status. Resume and step function was corrected to consider a modified pc register. Read/write memory now support L memory type, this means a memory with alternating y/x memory words. The memspace variable, used by gdb, is now observed before a default memory access is initiated. Dummy functions for breakpoint and watchpoint are added.
2011-02-17arm_adi_v5: add/move apsel member in struct adiv5_dapLuca Ellero
This patch tries to make some order in "apsel" mess. "dap apsel" command was quite useless (and broken) by itself. With this patch we can use it to select between AHB or APB memory access (previous patch 05ab8bdb813acdcd74afa71d6656c2df816cb230 was somehow broken). - moves member apsel (in struct adiv5_dap) to ap_current - adds apsel member this strange choice is made trying to keep coherence in "dap apsel" command and to keep compatibility with other code (for example cortex_a8). Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-17dsp563xx: minor fixes, code cleanupMathias K
This patch move the dsp563xx_target_create function to the related code block. Also the target examine function was added and the register cache is initialized in a separate function. The missing functionality to invalidate the x memory context on memory writes was also added.
2011-02-17dsp563xx_once: Correct wrong return value on jtag communication errorsMathias K
This patch change the return value on a jtag communication error to TARGET_UNKNOWN because this function should return the current target status and not a error code from the underlying api call. Also the validity of the jtag_status is extended to all static bits in this value.
2011-02-17- remove pipeline context, use once register instead - fix wrong register ↵Mathias K
write in resume and step function - add more conditional branch handling
2011-02-15- add parameter flush to the once api to signalize if the jtag queue need to ↵Mathias K
be flushed after the command
2011-02-15- add bulk memory write function - execute jtag queue at the end of the ↵Mathias K
memory transfer
2011-02-15dsp563xx_once: Correct definition of JTAG_INSTR_CLAMPPhil Fong
I've been working on Rodrigo on adding support to flash Freescale dsp56800e devices and have been looking at the dsp563xx code. I think the define for the JTAG CLAMP instruction in dsp563xx_once.c is incorrect. It should be 0x05 according the Freescale AN2074 (and is also 0x05 in the dsp568xx according to AN1935). It won't actually change anything in OpenOCD since this define is not used anywhere (as far as I can tell).
2011-02-14cortex_a9: move dap_ap_select to arm_avi_v5Luca Ellero
dap_ap_select was used in the code at various points, but that can lead to confusion, without any knowledge of what AP is really selected at some points. Some bugs derive from this (for example md/mw doesn't work well after issueing "dap apsel" command). Moving it to arm_adi_v5.c (using mem_ap_sel* functions instead of mem_ap_*) make the code more clear and more easier to maintain. In the future it should be made "static" to avoid its use outside arm_adi_v5 One further benefit is the various goto has been removed as well Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-14arm_adi_v5: add wrapping transfer functions with selection of apLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-14arm_adi_v5: add transfer functions prototypes with selection of apLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-14cortex_a9: check if MMU is enabled on APB read/write memoryLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-14cortex_a9: check target halted on APB read/write memoryLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-14cortex_a9: trivial fixesLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-10buikd: fix cygwin -mno-cygwin build errorSpencer Oliver
Remove duplicate inline that causes certain versions of gcc to choke. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-02-10cortex_a9: implement read/write memory through APB-APLuca Ellero
This patch adds read/write capability to memory addresses not accessible through AHB-AP (for example "boot ROM code"). To select AHB or APB, a "dap apsel" command must be issued: dap apsel 0 -> following memory accesses are through AHB dap apsel 1 -> following memory accesses are through APB NOTE: at the moment APB memory accesses are very slow, compared to AHB accesses. Work has to be done to get it faster (for example LDR/STR instead od LDRB/STRB) Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-10cortex_a9: fix dap_ap_select() usageAaron Carroll
Save, select and restore AP in cortex_a9_step and cortex_a9_init_debug_access. Fixes a bug where the wrong AP is selected after a reset. Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
2011-02-08dsp563xx: add x, y and p memory accessMathias K
Hello, this patch add commands to access to x,y and p memory. For run time optimization some local jtag function was changed to static inline. Regards, Mathias
2011-02-08cortex_a8/a9: fix some commentsLuca Ellero
Signed-off-by: Luca Ellero <lroluk@gmail.com>
2011-02-03more changes to dsp563xx codeMathias K
Hello, this patch adds the missing cpu registers and the correct read/write register functions and fixed most of the halt/step/resume issues. The complete missing error propagation was added. + fix tab/spaces Regards, Mathias
2011-02-0324bit buffer supportMathias K
Hello, this patch add 24bit support to the target buffer functions and little/big endian functions. Regards, Mathias
2011-02-02cortex_m3: allow scripts to override resetAaron Carroll
If a handler for the reset-assert event it present, skip the usual reset handling. This is needed, for example, for board-level resets. Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
2011-01-31cortex_a9: add source files for Cortex A9 support.Aaron Carroll
add target and build support for A9 Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
2011-01-31arm_dpm: add some SCR/RCR macrosAaron Carroll
Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
2011-01-31Add '-coreid' target option to support multiple cores per TAP.Aaron Carroll
ARM Cortex-A9 multi-core chips expose a single TAP/DAP which connects to both cores. The '-coreid' option selects which core the target should connect to. Note that at present, OpenOCD can connect to either core, but not both simulatenously, until ADI contexts can be shared. Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
2011-01-27add cortex-r4 etm id to dap infoMathias K
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-01-26fix segfault from stack corruption in ahbap_debugport_initAndreas Fritiofson
ahbap_debugport_init was queueing reads to a local stack variable but didn't execute the queue before returning. Since the result of the reads are not used anyway, it's better to pass NULL as the destination instead of a dummy variable. I changed this throughout the function, even for the reads that were actually executed. Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com> Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-01-09nit: more LOG_* \n fixesEric Wetzel
Remove extra \n from LOG_DEBUG, LOG_INFO, and LOG_WARNING messages Remove LOG_INFO_N LOG_INFO_N was only used once and had a \n at the end Change LOG_USER_N calls that end with \n to LOG_USER
2011-01-05nit: do not add \n at end of LOG_ERROREric Wetzel
Fixed in many other places, and submitted in response to Øyvind's invitation.
2011-01-04mips32: add fastdata loader working areaSpencer Oliver
Add a working area that is preserved between calls to mips_m4k_bulk_write_memory - this gives us a speed increase of approx 3kb/sec during flash writes to the pic32mx. This area is released during a resume/reset. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-01-04target: change working area free data typeSpencer Oliver
We only use the struct working_area member 'free' as a true/false type so might as well use a bool data type. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-01-03error handling: the error number is not part of the user interfaceØyvind Harboe
Do not propagate error number to user. This is for internal programming purposes only. Error messages to the user is reported as text via LOG_ERROR(). Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-12-30CORTEX A8: Fix broken CPU identificationMarek Vasut
This patch fixes the issue where the OMAP CPU (and possibly others) was mistaken for iMX51 and therefore had misadjusted debug base. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
2010-12-29Compilation Warnings on OS X 10.5Andrew MacIsaac
I received a number of "-Wshadow" related warnings (treated as errors) while trying to build on OS X Leopard. In addition, there were two miscellaneous other warnings in the flash drivers. Attached are two patches which correct these issues and the commit messages to accompany them. My system has the following configuration (taken from uname -a): Darwin 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 === Werror_patch.txt Commit Message === compilation: fixes for -Wshadow warnings on OS X These changes fix -Wshadow compilation warnings on OS X 10.5.8 Compiled with the following configure command: ../configure --prefix=/usr/local --enable-maintainer-mode --enable-jlink --enable-ft2232_libftdi === flash_patch.txt Commit Message === compilation: fixes for flash driver warnings on OS X These changes fix two compilation warnings on OS X 10.5.8: ../../../../src/flash/nor/at91sam3.c:2767: warning: redundant redeclaration of 'at91sam3_flash' ../../../../src/flash/nor/at91sam3.c:101: warning: previous declaration of 'at91sam3_flash' was here and ../../../../src/flash/nor/stmsmi.c:205: warning: format not a string literal and no format arguments Compiled with the following configure command: ../configure --prefix=/usr/local --enable-maintainer-mode --enable-jlink --enable-ft2232_libftdi === Andrew
2010-12-29warnings: use more 'const' for char *Øyvind Harboe
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-12-29target: do not expose error numbers to usersØyvind Harboe
error numbers are only reported at DEBUG log levels and used internally, they are not part of the user interface. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-12-24initial SWD transport (SWD infrastructure #2)David Brownell
This piggy backs on JTAG so it's not yet pretty, but that seems unavoidable so far given today's OpenOCD internals. SWD init and data transfer are unfinished and untested, but that should cause no regressions, and will be addressed by the time drivers start using this infrastructure. Checking in whould get the code working better sooner, and turn up any structural/architectural issues while they're easier to fix. The debug adapter drivers will provide simple SWD driver structs with methods that kick in as needed (instead of JTAG). So far just one adapter driver has been updated (not yet ready to use or circulate). The biggest issues are probably - fault handling, where the ARM Debug Interface V5 pipelining needs work in both JTAG and SWD modes and - missing rewrite of block I/O code to work on both of our Cortex-ready transports (Current code is hard-wired to JTAG); relates also to the pipelining issue. - omitted support to activate/deactivate SWO/SWV trace (this is technically trivial, but configuring what to trace is NOT. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> ---- doc/openocd.texi | 17 ++ src/jtag/core.c | 3 src/jtag/interface.h | 4 src/jtag/jtag.h | 2 src/jtag/swd.h | 114 +++++++++++++++++++ src/jtag/tcl.c | 2 src/target/adi_v5_swd.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++-- src/target/arm_adi_v5.c | 8 + src/target/arm_adi_v5.h | 3 9 files changed, 425 insertions(+), 9 deletions(-)
2010-12-22config: add init_targets proc that is executed just before initØyvind Harboe
this allows configuration scripts to export a init_targets proc rather than setting up the target directly. This allows for new conventions in how to set up target vs. board script and how to transfer default settings between board and target scripts. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
2010-12-04xscale: trace buffer remains enabled until explicitly disabledMike Dunn
Hi everyone, Since a call went out for patches... been sitting on this for months. For some reason, the xscale trace buffer is automatically disabled as soon as a break occurs and the trace data is collected. This patch was a result of the frustration of always re-enabling it, or else hitting a breakpoint and checking the trace data, only to discover that I forgot to re-enable it before resuming. Don't see why it should work this way. There is no run-time penalty, AFAIK. Along the way, I also cleaned up a little by removing the ugly practice of recording wrap mode by setting the fill count variable to "-1", replacing it with an enum that records the trace mode. I've been using this for months. Comments, criticisms gratefully received. Mike Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
2010-12-03cortex_m3: change cortec_m3 reset_config behaviourSpencer Oliver
Currently the cmd 'cortex_m3 reset_config' will overide the default target's 'reset_config'. Chnage the behaviour to use the target 'reset_config' if configured and fallback if not. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2010-12-01profile: use 100Hz as a default sampling frequencyØyvind Harboe
it's a lie that is somewhere in the vicinity of the truth. Certainly 64MHz confuses gprof and produces zero output and no error messages. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>