aboutsummaryrefslogtreecommitdiff
path: root/src/target
AgeCommit message (Collapse)Author
2011-08-12target: add helper functions to get/set u16 or u32 array from/to bufferStefan Mahr
2011-08-10fix return code from dsp5680xx_readRodrigo L. Rosa
it returned ERROR_OK even though it actually failed. this made the Tcl interface report success, though it had not succeeded.
2011-08-10renamed for clarityRodrigo L. Rosa
i had started my code from dsp5683xx, i renamed a bunch of stuff to names i consider to be better. i believe no one is using this code, so nobody should be affected. (it's not too late to do this change)
2011-08-09mips32 : Fixed memory byte accessDrasko DRASKOVIC
Function mips_m4k_write_memory() does endianess byte swap, but this procedure break one byte access (temporary array overwrites content in buffer). As a fix, this endianess swap and buffer affecting is preformed only on hword and word accesses (not on byte access).
2011-08-09mips32: Sync Caches to Make Instr Writes EffectiveDrasko DRASKOVIC
Pprogram that loads another program into memory is actually writing the D- side cache. The instructions it has loaded can't be executed until they reach the I-cache. After the instructions have been written, the loader should arrange to write back any containing D-cache line and invalidate any locations already in the I-cache. For the MIPS Architecture Release2 cores, we can use synci command that does this job. For Release1 we must use "cache" instruction.
2011-08-09mips32: Added CP0 coprocessor R/W routinesDrasko DRASKOVIC
This patch adds MIPS32 CP0 coprocessor R/W routines, as well as adequate commands to use these routines via telnet interface. Now is becomes possible to affect CP0 internal registers and configure CPU directly from OpenOCD.
2011-08-09mips_m4k: common_magic should be unsignedDrasko DRASKOVIC
For all architectures we use distinct common magic number, and this should be a uint32_t type. Otherwise, comparison with macros will yield compilation warning.
2011-08-09mips32: Removed Unnecessary JTAG Queue FlushDrasko DRASKOVIC
jtag_execute_queue() is executed as a part of mips_ejtag_drscan_32(). No need for this to be done before - removed for optimisation.
2011-08-09Revert "dsp5680xx: disable for now, it generates warnings"Øyvind Harboe
This reverts commit d567df02b9f3e7d2e7e78b3c2907ecad9aa4bbd4.
2011-08-09dsp5680xx fix constante refRodrigo L. Rosa
a counter was incorrectly set when i added the macros i incorrectly called them. fixed that.
2011-08-09dsp5680xx fix FM clkRodrigo L. Rosa
before doing anything with the flash module (FM) the clock divider must be set. if erase_check was the first thing done with the FM after reset then an error would be generated because the clk divider was not set. now erase_check sets the clk divider.
2011-08-09dps5680xx fix warningsRodrigo L. Rosa
reorganized code to get rid of compiler warnings the warning were related to allignment, i do not get these warning on my build system (i've tried setting the compiler flag but it doesn't work, still working on why) so i cannot detect them (yet.)
2011-08-08arm11: disable broken optimization for setting current scan chainØyvind Harboe
2011-08-01etb: fix incorrect previous patchsetJie Zhang
This corrects two issues found with openocd. d7f71e7fe9645fa8c3f88cf6fc9ad438aa6708f3 removed some code that was being used. The above then caused even more code to get removed by commit 1cfb2287a67c1f78b76583b2e5ed83ca3560b0d5. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-07-04mips_m4k and arm7_9 : Fix soft bkpt endianess for 16-bit instructionsDrasko DRASKOVIC
The patch fix comparison of target data on the host by using target_buffer_get_u16() to transform current_instr to _host_ endianess before comparison.
2011-07-04cortex_m3: add auto maskisrv0.5.0-rc2Peter Horn
This patch extends the cortex_m3 maskisr command by a new option 'auto'. The 'auto' option handles interrupts during stepping in a way they are processed but don't disturb the program flow during debugging. Before one had to choose to either enable or disable interrupts. The former steps into interrupt handlers when they trigger. This disturbs the flow during debugging, making it hard to follow some piece of code when interrupts occur often. When interrupts are disabled, the flow isn't disturbed but code relying on interrupt handlers to be processed will stop working. For example a delay function counting the number of timer interrupts will never complete, RTOS task switching will not occur and output I/O queues of interrupt driven I/O will stall or overflow. Using the 'maskisr' command also typically requires gdb hooks to be supplied by the user to switch interrupts off during the step and to enable them again afterward. The new 'auto' option of the 'maskisr' command solves the above problems. When set, the step command allows pending interrupt handlers to be executed before the step, then the step is taken with interrupts disabled and finally interrupts are enabled again. This way interrupt processing stays in the background without disturbing the flow of debugging. No gdb hooks are required. The 'auto' option is the default, since it's believed that handling interrupts in this way is suitable for most users. The principle used for interrupt handling could probably be used for other targets too. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-07-04Revert "cortex_m3: add auto maskisr"Spencer Oliver
This reverts commit ff640f197a9a343b2f3ed10e9174e35282334e8c. Original patch reverted as Author's name was incorrectly set.
2011-07-01mips_m4k : Fix soft breakpoint endianess handlingDrasko DRASKOVIC
In order to compare data read from the target with some marcros or data defined on the host, we must transform this read data from target endianess to host endianess. target_read_memory() gets bytes from target to the host, but keeps them in _target_ endianess. This is OK if we just want to temporary keep this data on the host, like keeping breakpoint->orig_instr. But if we want to use this data for any ispections and comparisons on the host side, we must transform it to _host_ endianess, by using target_buffer_get_u32() function. Currently this transformation is missing, and check current_instr == MIPS32_SDBBP will never pass if target and host endianess differ, because current_instr will be kept in _target_ endianess and MIPS32_SDBBP will be kept in _host_ endianess, The patch fix this issue by using target_buffer_get_u32() to transform current_instr to _host_ endianess before comparison.
2011-06-28dsp5680xx: disable for now, it generates warningsØyvind Harboe
Use "git revert <commit>" to revert this commit, then build and repair and post patch to the mailing list. Warnings generated with: nios2-elf-gcc (GCC) 3.4.6 (Altera Nios II 9.1 b222) openocd/src/target/dsp5680xx.c: In function 'eonce_rx_upper_data': openocd/src/target/dsp5680xx.c:252: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c: In function 'eonce_rx_lower_data': openocd/src/target/dsp5680xx.c:268: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c: In function 'eonce_pc_store': openocd/src/target/dsp5680xx.c:508: warning: dereferencing type-punned pointer will break strict-aliasing rules openocd/src/target/dsp5680xx.c: In function 'dsp5680xx_read': openocd/src/target/dsp5680xx.c:736: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c:737: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c: In function 'dsp5680xx_write_8': openocd/src/target/dsp5680xx.c:823: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c: In function 'dsp5680xx_write': openocd/src/target/dsp5680xx.c:938: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c:941: warning: cast increases required alignment of target type openocd/src/target/dsp5680xx.c: In function 'dsp5680xx_f_wr': openocd/src/target/dsp5680xx.c:1355: warning: cast increases required alignment of target type
2011-06-28mips4k: fix big-endian hosts and host alignment problemsØyvind Harboe
the code was making assumptions about the endianness of the host.
2011-06-28dsp5680xx: fix compilation problemsØyvind Harboe
use a more specific global variable name than "context", which can easily conflict with other things.
2011-06-28cortex_m3: add auto maskisrv0.5.0-rc1Spencer Oliver
This patch extends the cortex_m3 maskisr command by a new option 'auto'. The 'auto' option handles interrupts during stepping in a way they are processed but don't disturb the program flow during debugging. Before one had to choose to either enable or disable interrupts. The former steps into interrupt handlers when they trigger. This disturbs the flow during debugging, making it hard to follow some piece of code when interrupts occur often. When interrupts are disabled, the flow isn't disturbed but code relying on interrupt handlers to be processed will stop working. For example a delay function counting the number of timer interrupts will never complete, RTOS task switching will not occur and output I/O queues of interrupt driven I/O will stall or overflow. Using the 'maskisr' command also typically requires gdb hooks to be supplied by the user to switch interrupts off during the step and to enable them again afterward. The new 'auto' option of the 'maskisr' command solves the above problems. When set, the step command allows pending interrupt handlers to be executed before the step, then the step is taken with interrupts disabled and finally interrupts are enabled again. This way interrupt processing stays in the background without disturbing the flow of debugging. No gdb hooks are required. The 'auto' option is the default, since it's believed that handling interrupts in this way is suitable for most users. The principle used for interrupt handling could probably be used for other targets too. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-28cortex_m3: add BKPT_TYPE_BY_ADDR definePeter Horn
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-24Fix load_image for ELF with all p_paddr set to zeroDrasko DRASKOVIC
So far image_load command tries to load ELF binaries to address discovered by reading p_paddr member of a Program header of an ELF segment. However, ELF specifications says for p_paddr : ...Because System V ignores physical addressing for application programs, this member has unspecified contents for executable files and shared objects. ARM ELF specifiaction goes even further, demanding that this member be set to zero, using the p_vaddr as a segment load address. To avoid the cases to wrong addr where p_paddr is zero, we are now using p_vaddr to as a load destination in case that *all* p_paddr == 0. Basically, this patch re-implements the approach present in BDF's elf.c, which is used by GDB also (so that we can be consistent).
2011-06-17build: add missing files to make distSpencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-17build: add missing files from dist releaseSpencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-13transport: move files over to transport folderØyvind Harboe
as we introduce swd and jtag as two transports, we want to start up with a new transport folder to organize the code a bit.
2011-06-12doxy moreRodrigo L. Rosa
2011-06-12doxy & cleanupRodrigo L. Rosa
2011-06-12cleanup trailing whitespacesRodrigo L. Rosa
2011-06-12flash speed improvedRodrigo L. Rosa
2011-06-12removed unnecessary actions/controlsRodrigo L. Rosa
2011-06-12cleanup flash module commandRodrigo L. Rosa
2011-06-12fix read for verify_imageRodrigo L. Rosa
2011-06-12fix read speed improved by queueing commandsRodrigo L. Rosa
2011-06-12fix flash driver size, sector eraseRodrigo L. Rosa
2011-06-07Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - leftover ↵Freddie Chopin
changes
2011-06-05mips: add nor flash write from memory blockStefan Mahr
2011-06-04crc check on flashed dataRodrigo L. Rosa
2011-06-04code cleanupRodrigo L. Rosa
2011-06-04Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - dubious fixesFreddie Chopin
2011-06-04Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - trivial fixesFreddie Chopin
2011-06-01mips: fixup fastdataStefan Mahr
fixup fastdata
2011-06-01mips: fix some more endian madnessStefan Mahr
2011-05-29mips: fix swapping if running on big endian hostStefan Mahr
2011-05-28mips: fix swapping if openocd is running on big endian hostStefan Mahr
2011-05-23dsp5680xx: whitespace cleanupSpencer Oliver
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-05-23Fix build issue under cygwinSpencer Oliver
cygwin does not define sleep, so use our internal win32 version. caused by commit 9d4aec6bda90ad39a140747ea270c6a09dd26440 Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-05-19flashing speed improved using queued jtag. error propagation improved.Rodrigo L. Rosa
2011-05-18partial support for 568013 and 568037, target integration.Rodrigo L. Rosa