Commit Graph

4928 Commits

Author SHA1 Message Date
Spencer Oliver ff640f197a cortex_m3: add auto maskisr
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-28 14:16:48 +01:00
Peter Horn e53f7e5fc0 cortex_m3: add BKPT_TYPE_BY_ADDR define
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-28 14:12:00 +01:00
Spencer Oliver 45287bda76 build: cleanup jimtcl generated configure.gnu
We use configure.gnu to pass options to the jimtcl submodule.
Make sure a distclean removes any generated files

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-27 16:08:56 +01:00
Martin Schmölzer 5e2637a4e0 Add description for configure argument "--enable-ulink" to README file 2011-06-26 17:43:51 +02:00
Martin Schmölzer b851a4949b Add OpenULINK driver files generated by SDCC to .gitignore 2011-06-26 17:43:51 +02:00
Martin Schmölzer 1aba820519 Add -DPKGLIBDIR to AM_CPPFLAGS.
This is required so the OpenULINK driver knows the install location of the OpenULINK
firmware image.
2011-06-26 17:43:51 +02:00
Martin Schmölzer 5141ab3e69 Include ULINK driver in src/jtag/drivers/Makefile.am
A new variable "nobase_dist_pkglib_DATA" is introduced to install
the OpenULINK firmware image to $PREFIX/lib/openocd/OpenULINK/ulink_firmware.hex

Also, the variable "EXTRA_DIST" is used to include the OpenULINK firmware source
in the OpenOCD source distribution.
2011-06-26 17:43:51 +02:00
Martin Schmölzer 29f6f6ae5f Include ULINK driver in src/Makefile.am 2011-06-26 17:43:51 +02:00
Martin Schmölzer 379abb9167 Include ULINK driver in configure.in 2011-06-26 17:43:51 +02:00
Martin Schmölzer b4bbe33d17 Add ULINK interface script 2011-06-26 17:43:51 +02:00
Martin Schmölzer f279e54347 Include ULINK driver in src/jtag/interfaces.c 2011-06-26 17:43:51 +02:00
Martin Schmölzer 3c3f3c4247 Add OpenULINK firmware
Build requires SDCC, the Small Device C Compiler.
2011-06-26 17:43:51 +02:00
Martin Schmölzer 03e4ae8481 Add source code for new ULINK driver 2011-06-26 17:43:50 +02:00
Drasko DRASKOVIC 37aaa28292 Fix load_image for ELF with all p_paddr set to zero
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-24 11:00:35 +02:00
Spencer Oliver e7c611deea build: do not included generated files in distribution
We have to use this method as automake seems to ignore nodist_ on libs.

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-17 12:22:37 +01:00
Spencer Oliver 16cbe1216a build: add missing files to make dist
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-17 12:21:01 +01:00
Spencer Oliver 9cac49caee build: pass correct flags to jimtcl during make distcheck
This is only for the case of a make distcheck.
During a normal release build these flags will be created by configure.gnu

Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-17 09:31:13 +01:00
Spencer Oliver 3428035a7e build: add missing files from dist release
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
2011-06-17 09:31:13 +01:00
Tomek CEDRO 37d5ac6378 ADAPTER: Fixed transport selection mechanism to support transports other than jtag (if defined). 2011-06-16 19:49:54 +02:00
Tomek CEDRO 9f40d41f68 OPENOCD: Renamed ambiguous main2() into openocd_thread() to show possible solution for thread support in future. 2011-06-16 17:27:12 +02:00
Dale Lukas Peterson 523c172280 Added Olimex STM32 {H,P}107.cfg board 2011-06-16 16:53:49 +02:00
Øyvind Harboe c8b5719802 transport: move files over to transport folder
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-13 15:51:04 +02:00
Øyvind Harboe 1b0862c189 HACKING: add tip on how to write comments 2011-06-12 11:33:37 +02:00
rlrosa 5227ae7162 added minimodule interface 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa 47aa65b3e8 doxy more 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa d343941386 doxy & cleanup 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa cbe201fe6b fix protection behavior 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa 7b0ead520d cleanup trailing whitespaces 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa f4b9a2fc8b flash speed improved 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa ca76e4a423 removed unnecessary actions/controls 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa c4bcb0b95a cleanup flash module command 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa d539fc856f fix read for verify_image 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa f42353d821 fix read speed improved by queueing commands 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa f4a3db0d4a fix flash driver size, sector erase 2011-06-12 11:18:27 +02:00
Rodrigo L. Rosa 56d3927abf Added minimodule (ftdi) interface 2011-06-12 11:18:27 +02:00
Laurent Charpentier e899fcaca0 Added configuration file for STM3220G-EVAL board. 2011-06-08 07:19:43 +02:00
Laurent Charpentier 01c0ffe98f Added configuration file for stm32f2xxx. 2011-06-08 07:19:39 +02:00
Øyvind Harboe 33f9bec9ec Silence -O3 warning 2011-06-07 17:58:41 +02:00
Freddie Chopin 1cfb2287a6 Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - leftover changes 2011-06-07 17:53:33 +02:00
Stefan Mahr 5d9b7cdd2b mips: add nor flash write from memory block 2011-06-05 22:45:21 +02:00
Rodrigo L. Rosa c989de0cea crc check on flashed data 2011-06-04 09:52:14 +02:00
Rodrigo L. Rosa d09bef2622 code cleanup 2011-06-04 09:52:14 +02:00
Freddie Chopin f499bab698 Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - dubious fixes 2011-06-04 09:46:48 +02:00
Freddie Chopin f6315d5e5b Fix "unused variable" warnings (errors) detected with GCC 4.7.0 - trivial fixes 2011-06-04 09:35:13 +02:00
Bear ae02a0e517 uptech2410 2011-06-02 12:17:28 +02:00
Tormod Volden fa1f2682d4 bootstrap: Various code improvements
- Do not specify -e twice.
- Use "which" instead of calling commands that might not exist.
- Fix bashism ("==" is C not sh)
- Carefully quote potentially empty variables
- Check command arguments before doing anything
- Rewrite argument checking to be more easily extensible
- Consistent indentation
- UNIX style error messages
2011-06-01 21:45:50 +02:00
Stefan Mahr 796086cd49 mips: fixup fastdata
fixup fastdata
2011-06-01 07:23:42 +02:00
Stefan Mahr 524d79ebe7 mips: fix some more endian madness 2011-06-01 07:23:35 +02:00
Laurent Charpentier 4da551732e bootstrap: fix argument handling
- no argument => run submodule init
- "nosubmoudle" => do not run submodule
- other values => error message
2011-06-01 07:21:11 +02:00
Damjan Marion 096fd6bcc0 Board definition for mini6410/tiny6410 (ARM1176)
The following mini6410/tiny6410 functions are available:
init_6410 - initialize clock, timer, DRAM
init_6410_flash - initializes NAND flash support
install_6410_uboot - copies u-boot image into RAM and runs it
2011-05-29 23:42:09 +02:00