- To: ecos-discuss at sources dot redhat dot com
- Subject: ecos-discuss Digest 1 Nov 2000 20:03:58 -0000 Issue 352
- From: ecos-discuss-digest-help at sources dot redhat dot com
- Date: Wed, 1 Nov 2000 12:03:58 -0800
ecos-discuss Digest 1 Nov 2000 20:03:58 -0000 Issue 352
Topics (messages 3577 through 3599):
Strange step behaviour
3577 by: Fabrice Gautier <Fabrice_Gautier@sdesigns.com>
CVS updates announcement ?
3578 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
Bug in i386 interrupt handler
3579 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
3582 by: Fabrice Gautier <Fabrice_Gautier@sdesigns.com>
3598 by: "Phil Hinton" <phil@crosstor.com>
start address
3580 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
3584 by: "zsz" <zsz@chinadigipro.com>
Can NOT build tests
3581 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
setting up RAM on AEB
3583 by: Ormund Williams <ormundw@brainlink.com>
How to connect GDB with Redboot
3585 by: ness <root@zh.t2-design.com>
3586 by: Jesper Skov <jskov@redhat.com>
3591 by: Gary Thomas <gthomas@redhat.com>
Modifying memory layout, possible?
3587 by: Andreas.Karlsson@combitechsystems.com
3588 by: Andreas.Karlsson@combitechsystems.com
3589 by: Jesper Skov <jskov@redhat.com>
3590 by: Jesper Skov <jskov@redhat.com>
3592 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
3593 by: Andreas.Karlsson@combitechsystems.com
3594 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
3596 by: Andreas.Karlsson@combitechsystems.com
3597 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
about ram file system and memory management on the cvs
3595 by: Jonathan Larmour <jlarmour@cygnus.co.uk>
Build Networking Tests (demo programs)
3599 by: "amassa@cts.com" <amassa@cts.com>
Administrivia:
To subscribe to the digest, e-mail:
ecos-discuss-digest-subscribe@sourceware.cygnus.com
To unsubscribe from the digest, e-mail:
ecos-discuss-digest-unsubscribe@sourceware.cygnus.com
To post to the list, e-mail:
ecos-discuss@sourceware.cygnus.com
----------------------------------------------------------------------
- To: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>, "GDB (E-mail)" <gdb at sourceware dot cygnus dot com>
- Subject: RE: Strange step behaviour
- From: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Date: Tue, 31 Oct 2000 11:54:12 -0800
- Cc: "Ecos-List (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
Hi,
Well, after some observations, I've narrowed the problem.
First, I think I saw the way of gdb: When doing a next or a step and if
there is no function call, gdb send to the stub as many 's' (step) packet as
needed to execute the whole line. But when the asm instruction is a 'call'
gdb put a breakpoint (either at the beggining of the called function for a
step, or on the instruction after the 'call' for a next) and then it send a
'c' (continue) packet to the stub.
Now we also see that a single 'step' is handled by the hardware. A flag in
the flag register (aka eflags, aka PS) is set so that after each instruction
an Int1 is fired. But when setting a breakpoint its Int3 which is triggered.
So the difference: GDB signal the Int3 as a SIGTRAP, but Int1 is handled in
other ways.
So now why does this worked almost fine before, and now it does also work
almost fine but not the same almost?
Well, One thing that occurred with the previous eCos stub (which i believe
was not very different than the classic gdb stub) is that when I hitted
Ctrl-C, the program was interrupted but the PC was always one byte too far
so that when you wanted to Continue the program crashed (set $eip=$eip-1 was
a quick workaround) . The explanation seemed to be that when you hit a
breakpoint, the PC points to the instruction following the int3 instruction
but -as I've read in some comments inside the stub code- it should point to
the int 3 instruction. And now with the adaptation of the stub to work with
Redboot, in order to make the Ctrl-C works correctly this thing has to be
corrected. And so in the 'cleanup' a FIXUP macro rewinded the PC of 1 byte
when we had an int3.
But know I guess that gdb itself expect the PC to be a byte farther, and
when it receive the T packet from the stub I guess it does not find the PC
where it should be after hitting the breakpoint placed by itself. So it
think this in an user breakpoint and not a temporary breakpoint used for
internals purposes.
As I see it know it seems that I should have to adjust the PC if and only if
the breakpoint is the consequence of Ctrl-C
Any thoughts about this?
Thanks
--
Fabrice Gautier
fabrice_gautier@sdesigns.com
> -----Original Message-----
> From: Fabrice Gautier [mailto:Fabrice_Gautier@sdesigns.com]
> Sent: Monday, October 30, 2000 3:09 PM
> To: GDB (E-mail)
> Cc: Ecos-List (E-mail)
> Subject: Strange step behaviour
>
>
> Hi,
>
> I recently have done some modifications to the gdb stub used
> in eCos for the
> i386 target.
> Now it works almost fine except this:
>
> When I step in the C source with "next", if there is a 'call'
> instruction in
> the set of asm instruction generated by the C source line, I caught a
> sigtrap with the pc set just after the call instruction. So
> when there is no
> call instruction generated by the C source everything is as
> usual but if
> there is some function calls I will get as many SIGTRAP than there are
> calls. For example a "i=i+1" line will not trigger a signal
> and one "next"
> will pass the line, but something like "str=(char
> *)malloc(strlen(s))" will
> take 3 next to execute. If I try to "step" instead of "next"
> then i will
> have a SIGTRAP on the first line of the function I'm going
> into, and then if
> I do a "finnish" I will get another SIGTRAP on the
> instruction after the
> call.
>
> I'm using insight and the mixed C-asm mode made it very easy
> to see what's
> happening. And when I say i get a SIGTRAP i mean that there
> is a SIGTRAP
> dialog box that appear but i guess the equivalent in the
> command line gdb
> will be a SIGTRAP message that shouldn't appear.
>
> I can still debug, but the problem is a bit irritating...
>
> I'm wondering what can cause the problem, what does the stub do when
> 'next'ing.
> The main change I've done in the eCos gdb stub was to allow
> the program to
> be interrupted with a CTRL-C and maybe in the process I've
> changed something
> wrong but I can't see what. If you can enlight me on the way the stub
> process the debug trap, how the "next" and "step" are done,
> what kind of
> breakpoints are used for this operations, does it use some
> hardware debug
> capabilities or only "int $3" instructions, how does gdb manage the
> difference between user breakpoint and breakpoint used for
> stepping, does
> the stub put a breakpoint after each "call" instruction and why ?
>
> Thanks
>
> --
> Fabrice Gautier
> fabrice_gautier@sdesigns.com
>
- To: bartv at redhat dot com
- Subject: Re: [ECOS] CVS updates announcement ?
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Tue, 31 Oct 2000 14:36:36 -0800
- Cc: Fabrice_Gautier at sdesigns dot com, ecos-discuss at sourceware dot cygnus dot com
Bart Veer wrote:
>
> >>>>> "Jifl" == Jonathan Larmour <jlarmour@redhat.com> writes:
>
> <snip>
>
> Jifl> I could easily add something to the checkin script that
> Jifl> mails ecos-cvs (or ecos-discuss, but preferably not) when an
> Jifl> update has happened. The cognoscenti on ecos-cvs could
> Jifl> simply filter out the other mail except for this message.
>
> Jifl> If I added a list of the new/dead/changed files to this
> Jifl> message, perhaps we should even not send the actual cvs
> Jifl> commit info to ecos-cvs at all!
>
> Jifl> I could even send the diffs of any changed ChangeLogs in a
> Jifl> separate message.
I've done this now and disabled the normal output to ecos-cvs. I'm
including the ChangeLog diffs in the same message for now.
I'm arranging for web logs of ecos-cvs to come into existence now.
I've attached a sample for the commit I just made. Comments welcome (but
nothing too complex please :-)).
Anyway, you can now hopefully sign up to ecos-cvs without as much fear of
getting spammed by a large check-in. Do it at:
http://sources.redhat.com/ecos/intouch.html
> Bear in mind that at some point we may well open up parts of the
> public CVS repository to external contributors. At that point the sort
> of information provided by the current ecos-cvs list would be more
> useful, so we do not want to lose that functionality completely.
I know, so I've only commented out the DEFAULT line in CVSROOT/loginfo
which does this. Just uncomment it (or apply it to different parts of the
repo) when that time comes.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: ecos-cvs at sources dot redhat dot com
- Subject: eCos anonymous CVS repository updated
- From: Jonathan Larmour <jlarmour at sources dot redhat dot com>
- Date: Tue, 31 Oct 2000 14:10:14 -0800
The eCos anonymous CVS repository has been updated today (2000-10-31).
Here is a summary of the files modified:
M packages/NEWS
M packages/ecos.db
M packages/compat/posix/current/ChangeLog
M packages/compat/posix/current/tests/signal2.c
M packages/devs/eth/powerpc/quicc/current/ChangeLog
M packages/devs/eth/powerpc/quicc/current/src/if_quicc.c
M packages/devs/flash/arm/assabet/current/ChangeLog
M packages/devs/flash/arm/assabet/current/src/flash_erase_block.c
M packages/devs/flash/arm/assabet/current/src/flash_lock_block.c
M packages/devs/flash/arm/assabet/current/src/flash_program_buf.c
M packages/devs/flash/arm/assabet/current/src/flash_unlock_block.c
M packages/devs/serial/mips/vrc4373/current/src/vrc4373_serial.c
M packages/devs/serial/powerpc/quicc/current/ChangeLog
M packages/devs/serial/powerpc/quicc/current/src/quicc_smc_serial.c
M packages/hal/arm/arch/current/ChangeLog
M packages/hal/arm/arch/current/include/hal_arch.h
M packages/hal/arm/arch/current/src/arm_stub.c
M packages/hal/arm/arch/current/src/vectors.S
M packages/hal/arm/edb7xxx/current/ChangeLog
M packages/hal/arm/edb7xxx/current/misc/edb7211_redboot_ROM.cfg
M packages/hal/arm/edb7xxx/current/misc/edb7212_redboot_ROM.cfg
M packages/hal/arm/sa11x0/var/current/ChangeLog
M packages/hal/arm/sa11x0/var/current/include/hal_sa11x0.h
M packages/hal/arm/sa11x0/var/current/src/hal_diag.c
M packages/hal/common/current/ChangeLog
M packages/hal/common/current/src/bplist-dynamic.c
M packages/hal/common/current/src/generic-stub.c
M packages/hal/powerpc/arch/current/ChangeLog
M packages/hal/powerpc/arch/current/src/powerpc.ld
M packages/hal/sh/arch/current/ChangeLog
M packages/hal/sh/arch/current/src/vectors.S
M packages/io/eth/current/ChangeLog
M packages/io/eth/current/include/eth_drv.h
M packages/kernel/current/ChangeLog
M packages/kernel/current/cdl/scheduler.cdl
M packages/kernel/current/cdl/synch.cdl
M packages/kernel/current/include/bitmap.hxx
M packages/kernel/current/include/mlqueue.hxx
M packages/kernel/current/include/sched.hxx
M packages/kernel/current/src/common/clock.cxx
M packages/kernel/current/src/common/thread.cxx
M packages/kernel/current/tests/klock.c
M packages/kernel/current/tests/thread2.cxx
M packages/language/c/libc/stdio/current/ChangeLog
M packages/language/c/libc/stdio/current/include/streambuf.inl
M packages/language/c/libc/time/current/ChangeLog
M packages/language/c/libc/time/current/cdl/time.cdl
M packages/language/c/libc/time/current/include/time.inl
M packages/language/c/libc/time/current/src/asctime_r.cxx
M packages/language/c/libc/time/current/src/clock.cxx
M packages/language/c/libc/time/current/src/ctime_r.cxx
M packages/language/c/libc/time/current/src/gmtime_r.cxx
M packages/language/c/libc/time/current/src/localtime_r.cxx
M packages/language/c/libc/time/current/tests/clock.c
M packages/net/tcpip/current/ChangeLog
M packages/net/tcpip/current/src/lib/tftp_server.c
M packages/redboot/current/ChangeLog
M packages/redboot/current/cdl/redboot.cdl
M packages/redboot/current/doc/redboot.ebsa285
M packages/redboot/current/include/fis.h
M packages/redboot/current/include/net/net.h
M packages/redboot/current/src/flash.c
M packages/redboot/current/src/load.c
M packages/redboot/current/src/main.c
A packages/redboot/current/src/xyzModem.c
A packages/redboot/current/src/xyzModem.h
M packages/redboot/current/src/net/enet.c
M packages/redboot/current/src/net/net_io.c
M packages/redboot/current/src/net/pktbuf.c
M packages/redboot/current/src/net/udp.c
M packages/services/memalloc/common/current/ChangeLog
M packages/services/memalloc/common/current/tests/testaux.hxx
M packages/templates/elix/ChangeLog
M packages/templates/elix/current.ect
====================================
The following changes were made to NEWS and ChangeLogs:
Index: packages/NEWS
===================================================================
RCS file: /cvs/ecos/ecos/packages/NEWS,v
retrieving revision 1.23
diff -r1.23 NEWS
0a1,3
> * FLASH driver added for PowerPC/MBX
> * sigsetjmp() and siglongjmp() added
> * A choice of getcwd() implementations have been added
Index: packages/compat/posix/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/compat/posix/current/ChangeLog,v
retrieving revision 1.5
diff -u -0 -r1.5 ChangeLog
--- ChangeLog 2000/10/23 17:10:58 1.5
+++ ChangeLog 2000/10/31 20:51:22
@@ -0,0 +1,4 @@
+2000-10-27 Jesper Skov <jskov@redhat.com>
+
+ * tests/signal2.c (cause_illegal_access): Don't loop forever.
+
Index: packages/devs/eth/powerpc/quicc/current/ChangeLog
===================================================================
RCS file:
/cvs/ecos/ecos/packages/devs/eth/powerpc/quicc/current/ChangeLog,v
retrieving revision 1.5
diff -u -0 -r1.5 ChangeLog
--- ChangeLog 2000/09/04 20:24:14 1.5
+++ ChangeLog 2000/10/31 20:51:25
@@ -0,0 +1,4 @@
+2000-10-20 Gary Thomas <gthomas@redhat.com>
+
+ * src/if_quicc.c: Changes to compile in stand-alone mode.
+
Index: packages/devs/flash/arm/assabet/current/ChangeLog
===================================================================
RCS file:
/cvs/ecos/ecos/packages/devs/flash/arm/assabet/current/ChangeLog,v
retrieving revision 1.3
diff -u -0 -r1.3 ChangeLog
--- ChangeLog 2000/09/11 02:42:47 1.3
+++ ChangeLog 2000/10/31 20:51:27
@@ -0,0 +1,7 @@
+2000-10-24 Gary Thomas <gthomas@redhat.com>
+
+ * src/flash_unlock_block.c (flash_unlock_block):
+ * src/flash_lock_block.c (flash_lock_block):
+ * src/flash_program_buf.c (flash_program_buf):
+ * src/flash_erase_block.c (flash_erase_block): Support up to 32M
FLASH.
+
Index: packages/devs/serial/powerpc/quicc/current/ChangeLog
===================================================================
RCS file:
/cvs/ecos/ecos/packages/devs/serial/powerpc/quicc/current/ChangeLog,v
retrieving revision 1.3
diff -u -0 -r1.3 ChangeLog
--- ChangeLog 2000/08/25 17:32:49 1.3
+++ ChangeLog 2000/10/31 20:51:31
@@ -0,0 +1,5 @@
+2000-10-24 Jonathan Larmour <jlarmour@redhat.com>
+
+ * src/quicc_smc_serial.c (quicc_smc_serial_ISR): Return with
+ CYG_ISR_HANDLED (reported by Daniel Lind)
+
Index: packages/hal/arm/arch/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/arch/current/ChangeLog,v
retrieving revision 1.41
diff -u -0 -r1.41 ChangeLog
--- ChangeLog 2000/10/23 17:11:12 1.41
+++ ChangeLog 2000/10/31 20:51:35
@@ -0,0 +1,17 @@
+2000-10-27 Mark Salter <msalter@redhat.com>
+
+ * src/arm_stub.c: Removed uneccesary include.
+
+ * src/vectors.S (start): Fix use of registers which may have
+ been destroyed by an LED macro.
+
+2000-10-26 Mark Salter <msalter@redhat.com>
+
+ * src/arm_stub.c (__computeSignal): Add hook for platforms to
+ check for hw watchpoint/breakpoint events.
+ (__install_breakpoints): Support HAL breakpoint list.
+ (__clear_breakpoints): Ditto.
+
+ * include/hal_arch.h (HAL_BREAKINST_TYPE): Define. Needed by
+ hw watchpoint/breakpoint support in stub.
+
Index: packages/hal/arm/edb7xxx/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/edb7xxx/current/ChangeLog,v
retrieving revision 1.16
diff -u -0 -r1.16 ChangeLog
--- ChangeLog 2000/10/23 17:11:13 1.16
+++ ChangeLog 2000/10/31 20:51:38
@@ -0,0 +1,6 @@
+2000-10-26 Jonathan Larmour <jlarmour@redhat.com>
+
+ * misc/edb7211_redboot_ROM.cfg: Ensure CYGSEM_HAL_ROM_MONITOR is
+ enabled
+ * misc/edb7212_redboot_ROM.cfg: Ditto
+
Index: packages/hal/arm/sa11x0/var/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/sa11x0/var/current/ChangeLog,v
retrieving revision 1.2
diff -u -0 -r1.2 ChangeLog
--- ChangeLog 2000/07/17 14:42:29 1.2
+++ ChangeLog 2000/10/31 20:51:41
@@ -0,0 +1,6 @@
+2000-10-25 Drew Moseley <dmoseley@redhat.com>
+
+ * src/hal_diag.c: Added UART1 support for SA1100 targets.
+
+ * include/hal_sa11x0.h: Added GPIO bit definitions.
+
Index: packages/hal/common/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/common/current/ChangeLog,v
retrieving revision 1.47
diff -u -0 -r1.47 ChangeLog
--- ChangeLog 2000/10/23 17:11:14 1.47
+++ ChangeLog 2000/10/31 20:51:45
@@ -0,0 +1,21 @@
+2000-10-27 Mark Salter <msalter@redhat.com>
+
+ * src/generic-stub.c: Fixed preprocessor warning.
+
+2000-10-27 Gary Thomas <gthomas@redhat.com>
+
+ * src/generic-stub.c (__process_packet): Remove warnings when
+ hardware breakpoint support (Z packet) not enabled.
+
+2000-10-26 Mark Salter <msalter@redhat.com>
+
+ * src/generic-stub.c (__process_packet): Add Z packet support.
+
+ * src/bplist-dynamic.c: Include <pkgconf/hal.h> to pick up
+ CYGNUM_HAL_BREAKPOINT_LIST_SIZE.
+
+2000-10-24 Jesper Skov <jskov@redhat.com>
+
+ * src/generic-stub.c (__process_packet): Disable buffer size
+ z-packet.
+
Index: packages/hal/powerpc/arch/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/powerpc/arch/current/ChangeLog,v
retrieving revision 1.30
diff -u -0 -r1.30 ChangeLog
--- ChangeLog 2000/10/23 17:11:21 1.30
+++ ChangeLog 2000/10/31 20:51:50
@@ -0,0 +1,5 @@
+2000-10-24 Jonathan Larmour <jlarmour@redhat.com>
+
+ * src/powerpc.ld: Match multiple sections where relevant (.bss*,
+ .sbss*, .sdata*, etc.)
+
Index: packages/hal/sh/arch/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/sh/arch/current/ChangeLog,v
retrieving revision 1.19
diff -u -0 -r1.19 ChangeLog
--- ChangeLog 2000/10/23 17:11:24 1.19
+++ ChangeLog 2000/10/31 20:51:53
@@ -0,0 +1,4 @@
+2000-10-24 Jesper Skov <jskov@redhat.com>
+
+ * src/vectors.S (hal_hw_init): Added errata comment.
+
Index: packages/io/eth/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/io/eth/current/ChangeLog,v
retrieving revision 1.8
diff -u -0 -r1.8 ChangeLog
--- ChangeLog 2000/10/23 17:11:27 1.8
+++ ChangeLog 2000/10/31 20:51:56
@@ -0,0 +1,4 @@
+2000-10-30 Gary Thomas <gthomas@redhat.com>
+
+ * include/eth_drv.h: Fix compile error in stand-alone mode.
+
Index: packages/kernel/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/kernel/current/ChangeLog,v
retrieving revision 1.45
diff -u -0 -r1.45 ChangeLog
--- ChangeLog 2000/10/23 17:11:28 1.45
+++ ChangeLog 2000/10/31 20:52:02
@@ -0,0 +1,24 @@
+2000-10-30 Jesper Skov <jskov@redhat.com>
+
+ * cdl/synch.cdl: Replaced CYGINT_KERNEL_SCHEDULER_CAN_YIELD with
+ CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES.
+ * cdl/scheduler.cdl:
+ CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL requires
+ CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES.
+
+ * tests/thread2.cxx: Use new option.
+ * tests/klock.c: Same.
+ * src/common/thread.cxx: Same.
+ * src/common/clock.cxx: Same.
+
+ * include/bitmap.hxx: Leave unique priority setting to CDL.
+ * include/mlqueue.hxx: Same.
+ * include/sched.hxx: Let CDL do sanity check of config.
+
+2000-10-27 Jesper Skov <jskov@redhat.com>
+
+ * cdl/scheduler.cdl: Added CYGINT_KERNEL_SCHEDULER_CAN_YIELD
+
+ * tests/klock.c: Avoid use of disabled features. Require scheduler
+ that can yield.
+
Index: packages/language/c/libc/stdio/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/language/c/libc/stdio/current/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog 2000/08/25 17:33:38 1.1
+++ ChangeLog 2000/10/31 20:52:05
@@ -0,0 +1,5 @@
+2000-10-23 Jesper Skov <jskov@redhat.com>
+
+ * include/streambuf.inl: Adjust assertions to cope with buffers
+ generated by sprintf and similar non-bound-buffer calls.
+
Index: packages/language/c/libc/time/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/language/c/libc/time/current/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog 2000/08/25 17:33:42 1.1
+++ ChangeLog 2000/10/31 20:52:08
@@ -0,0 +1,19 @@
+2000-10-30 Jonathan Larmour <jlarmour@redhat.com>
+
+ * include/time.inl: Ensure POSIX *_r functions can be accessed by
+ non-POSIX implementation even when CYGFUN_LIBC_TIME_POSIX is off.
+
+ * src/asctime_r.cxx: No need to make conditional on posix CDL option
-
+ we may want to define an internal-only function.
+ * src/ctime_r.cxx: Ditto
+ * src/gmtime_r.cxx: Ditto
+ * src/localtime_r.cxx: Ditto
+
+ * cdl/time.cdl: abs() is also a requirement
+
+ * src/clock.cxx (clock): Always use unsigned long longs for temp
+ variables (and make sure it's used), rather than making
+ assumptions about clock_t.
+
+ * tests/clock.c: Rewrite
+
Index: packages/net/tcpip/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos-opt/net/net/tcpip/current/ChangeLog,v
retrieving revision 1.14
diff -u -0 -r1.14 ChangeLog
--- ChangeLog 2000/10/23 17:11:29 1.14
+++ ChangeLog 2000/10/31 20:52:12
@@ -0,0 +1,5 @@
+2000-10-24 Hugo Tyson <hmt@redhat.com>
+
+ * src/lib/tftp_server.c (tftpd_server): Cut down the chatter to
+ nothing (unless there's an error) if running automated testing.
+
Index: packages/redboot/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/redboot/current/ChangeLog,v
retrieving revision 1.8
diff -u -0 -r1.8 ChangeLog
--- ChangeLog 2000/10/23 17:11:31 1.8
+++ ChangeLog 2000/10/31 20:52:15
@@ -0,0 +1,43 @@
+2000-10-30 Gary Thomas <gthomas@redhat.com>
+
+ * src/net/udp.c:
+ * src/net/pktbuf.c:
+ * src/net/net_io.c:
+ * src/net/enet.c:
+ * include/net/net.h: Minor cleanups to remove warnings.
+
+ * cdl/redboot.cdl: Support threads in all but RAM mode. Note:
+ this should allow thread support in ROM and FLOPPY startup mode.
+
+2000-10-27 Gary Thomas <gthomas@redhat.com>
+
+ * src/xyzModem.c (xyzModem_stream_open): Add extra delay during
+ startup - to give the sender time to get started.
+
+ * src/flash.c (fis_load): Add "-c" option to show checksum of
+ image after loading.
+ (fis_list): Add "-c" to display stored checksums.
+
+2000-10-26 Mark Salter <msalter@redhat.com>
+
+ * src/load.c (do_load): Move some local variable declarations
+ needed by xyzmodem support so they can be used when redboot
+ networking not enabled.
+
+2000-10-26 Gary Thomas <gthomas@redhat.com>
+
+ * cdl/redboot.cdl: Improve CDL so CYGSEM_HAL_ROM_MONITOR can
+ be correctly infered (when building ROM versions).
+
+ * cdl/redboot.cdl:
+ * src/load.c: Add support for xyzModem serial download.
+
+ * src/xyzModem.h:
+ * src/xyzModem.c: New file(s).
+
+2000-10-24 Gary Thomas <gthomas@redhat.com>
+
+ * src/flash.c:
+ * cdl/redboot.cdl: Add new option which supports keeping all
+ important RedBoot data "locked" in FLASH.
+
@@ -1,0 +45,10 @@
+
+ * src/flash.c (fis_lookup): New exported function.
+ (fis_load): Add memory load option. Also checksum data after copy.
+
+ * include/fis.h: Add 'data_length' member.
+ Prototype for 'fis_lookup()'.
+
+ * src/main.c (bist): New [weak] function. Provide hook for
+ platform specific "builtin tests". This will be overridden by
+ platform based functions.
Index: packages/services/memalloc/common/current/ChangeLog
===================================================================
RCS file:
/cvs/ecos/ecos/packages/services/memalloc/common/current/ChangeLog,v
retrieving revision 1.4
diff -u -0 -r1.4 ChangeLog
--- ChangeLog 2000/10/23 17:11:32 1.4
+++ ChangeLog 2000/10/31 20:52:18
@@ -0,0 +1,5 @@
+2000-10-31 Jonathan Larmour <jlarmour@redhat.com>
+
+ * tests/testaux.hxx: Prototype cyg_hal_invoke_constructors()
+ [ Forgot to check this in at the same time as below ]
+
Index: packages/templates/elix/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/templates/elix/ChangeLog,v
retrieving revision 1.1
diff -u -0 -r1.1 ChangeLog
--- ChangeLog 2000/08/25 17:33:50 1.1
+++ ChangeLog 2000/10/31 20:52:20
@@ -0,0 +1,5 @@
+2000-10-11 Jonathan Larmour <jlarmour@redhat.com>
+
+ * current.ect: CYGPKG_NET_ETH_DRIVERS has been renamed to
+ CYGPKG_IO_ETH_DRIVERS
+
- To: Phil Hinton <phil at crosstor dot com>
- Subject: Re: [ECOS] Bug in i386 interrupt handler
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Tue, 31 Oct 2000 15:25:46 -0800
- Cc: "Ecos-List (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
Phil Hinton wrote:
>
> The hal_intc_ack macro then uses EAX, and when interrupt_end is
> called:
>
> pushl %edx
> pushl %eax
> call interrupt_end
>
> Instead this should be:
>
> pushl %edx
> pushl %esi <---- modification
> call interrupt_end
>
> Did I miss a patch? Anyone having trouble with i386 PC DSR posts?
This does indeed look like it would be a problem. If you can just confirm
that this does fix your problem, I'll update our code here.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: 'Phil Hinton' <phil at crosstor dot com>, "Ecos-List (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
- Subject: RE: [ECOS] Bug in i386 interrupt handler
- From: Fabrice Gautier <Fabrice_Gautier at sdesigns dot com>
- Date: Tue, 31 Oct 2000 12:32:24 -0800
> -----Original Message-----
> From: Phil Hinton [mailto:phil@crosstor.com]
> Subject: [ECOS] Bug in i386 interrupt handler
>
> Did I miss a patch? Anyone having trouble with i386 PC DSR posts?
I didn't experienced any problem but it really looks like I should have.
Thanks
--
Fabrice Gautier
fabrice_gautier@sdesigns.com
- To: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Subject: Re: [ECOS] Bug in i386 interrupt handler
- From: Phil Hinton <phil at crosstor dot com>
- Date: Wed, 1 Nov 2000 08:46:03 -0800
- Cc: "Ecos-List (E-mail)" <ecos-discuss at sourceware dot cygnus dot com>
Jonathan Larmour wote:
> Phil Hinton wrote:
> >
> > The hal_intc_ack macro then uses EAX, and when interrupt_end is
> > called:
> >
> > pushl %edx
> > pushl %eax
> > call interrupt_end
> >
> > Instead this should be:
> >
> > pushl %edx
> > pushl %esi <---- modification
> > call interrupt_end
> >
> > Did I miss a patch? Anyone having trouble with i386 PC DSR posts?
>
> This does indeed look like it would be a problem. If you can just confirm
> that this does fix your problem, I'll update our code here.
>
The SCSII interrupt handling is now working as expected. I also stepped
through the (assembly level) code to make sure the behavior is as expected.
The problem is fixed.
> Jifl
> --
> Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223)
728762
> "Plan to be spontaneous tomorrow." || These opinions are all my own
fault
>
Phil Hinton
CrosStor Software, Inc.
908-226-0100 ext 138
phil@crosstor.com
- To: zsz <zsz at chinadigipro dot com>
- Subject: Re: [ECOS] start address
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Tue, 31 Oct 2000 15:26:48 -0800
- Cc: eCos-discuss <ecos-discuss at sources dot redhat dot com>
zsz wrote:
>
> Hello all,
>
> Who could tell me how to specify the start address of GDB stub
image in eCos? thank you in advance!
Start addresses are very target dependent. Which target is this? And why do
you need to know?
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Subject: Re: [ECOS] start address
- From: zsz <zsz at chinadigipro dot com>
- Date: Wed, 1 Nov 2000 00:09:38 -0800
- Cc: eCos-discuss <ecos-discuss at sources dot redhat dot com>
Hi Jifl,
I want to port eCos to the "DSC21", a chip with a ARM core of TI.
It's boot sequence is as follows:
1. Reset vector at 0x0
2. hardwired jump address to 0x200000
3. start executing code from FLASH ROM
4. _c_int00 routine copies code into internal SRAM
5. start execution
so I want to specify the strat address of stubs package image in
eCos.Can you tell me ? thank you a lot!
Zhao Shengzhe
zsz wrote:
>
> Hello all,
>
> Who could tell me how to specify the start address of GDB stub
image in eCos? thank you in advance!
Start addresses are very target dependent. Which target is this? And why do
you need to know?
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: David Geng <deli dot geng at ncl dot ac dot uk>
- Subject: Re: [ECOS] Can NOT build tests
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Tue, 31 Oct 2000 15:38:45 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
Jonathan Larmour wrote:
>
> David Geng wrote:
> >
> > So I was wondering what's wrong with the heaps.cxx, and what is the
_heap1?
> > I feel heap1 is a memory region which's found in the eCos memory layout,
> > right? BTW, I'm using the repository from CVS with eCos 1.3.1.1.
>
> Have you changed your memory layout? If so, you'll need to use an updated
> Configuration tool. If you use the default memory layout this problem
> should go away.... except of course your memory layout will probably not
be
> right for what you want :-). I intend to put a new config tool up tomorrow
> for FTP. Watch this space.
I've put up a new Configuration Tool, v1.3.1.2. Get it from
ftp://sources.redhat.com/pub/ecos/anoncvs/Configtool1312.exe or a mirror.
Try that and see if it helps. You may need to delete the existing MLT files
in your build tree (or even your entire build tree) to be sure the MLT
files in it are correct.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: ecos <ecos-discuss at sourceware dot cygnus dot com>, ecos <ecos-discuss at sourceware dot cygnus dot com>
- Subject: Re: [ECOS] setting up RAM on AEB
- From: Ormund Williams <ormundw at brainlink dot com>
- Date: Tue, 31 Oct 2000 21:48:17 -0800
Andreas.Karlsson@combitechsystems.com wrote:
>
> Hi,
>
> I have extended my AEB board to use more memory. It took I while to figure
> out that whatever I set the values to in hal_platform_setup.h they will do
> nothing, even if I comment the lines away nothing will happen.
>
> I'm changing in the sources and doing make clean, compiling and then
linking
> with the new install-files.
>
> To avoid collision with the AEB_BAD region I have to override its values
in
> BANK3 and define my new memory in this BANK to be able to test the memory.
>
> My question is where, in which file, does eCos specify the size and
location
> of SRAM?
>
> When expanding the memory I have to set which 'chip enable' pins the new
> memory bank should use, I just can't find out where eCos specify this for
> memory-BANK2 which is used by eCos, I have seen in memory that eCos sets
> this to 0x900C, but where?
>
> Thanks
>
> Andreas
Hi Andreas
I have just finished building a board I designed that uses the LH77790
and porting eCos, it works so don't be discouraged.
I started with the AEB port, first modifying it to run stand-alone (Do
you have an EPROM programmer so that you can erase the Flash chip and
burn your own gdb-stub?) the following are the steps I took:
1. Added new ARM package and target to
.../ecos/ecos-1.3.1/packages/ecos.db
2. Copy AEB directory tree and change all occurrences of aeb to new
target name. (in my case awt60)
3. Edit
.../ecos/ecos-1.3.1/packages/hal/arm/awt60/v1_3_1/cdl/hal_arm_awt60.cdl
- mostly removing "rev B/C" stuff and changing cdl_option
CYGBLD_BUILD_GDB_STUBS.
4. Mostly name changes to the files in
.../ecos/ecos-1.3.1/packages/hal/arm/awt60/v1_3_1/src
5. Here is how I rewrote hal_platform_setup.h:
---------start------------
#if CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE==4096
// Override default to a more sensible value
#undef CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE
#define CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE 2048
#endif
// AWT60 has 2MB DRAM, 2/4MB of Flash ROM, 8KB battery backed SRAM+Clock
// and 4KB on-chip SRAM. The cache is broken(LH77790A).
// Move Flash-1 to 0x04000000 segment-1, CE0
// Move Flash-2 to 0x04020000 segment-2, CE1
// Move BBRAM+C to 0x05000000 segment-3, CE4
// On-chip SRAM at 0x60000000 default segment, Cache in SRAM mode at
0x60000800
// Place DRAM at 0x00000000 segment-6, CE2-3
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
#define
PLATFORM_SETUP1 \
ldr
r1,bcr1 ;\
ldr
r2,bcr1+4 ;\
str
r2,[r1] ;\
ldr
r1,sdr1 ;\
ldr
r2,sdr1+4 ;\
str
r2,[r1] ;\
ldr
r1,stop1 ;\
ldr
r2,stop1+4 ;\
str
r2,[r1] ;\
ldr
r1,start1 ;\
ldr
r2,start1+4 ;\
str
r2,[r1] ;\
ldr pc,=NewROM /* Set the Program Counter to New
address */ ;\
mov r0,r1 /* Nop
*/ ;\
mov r0,r1 /* Nop
*/ ;\
;\
NewROM: ldr
r0,=SRStart ;\
SRLoop: ldr
r1,[r0],#4 ;\
ldr
r2,[r0],#4 ;\
str r2,[r1]
;\
cmp r1,#0
;\
bne SRLoop
;\
b
SetupEnd ;\
;\
bcr1: .long 0xFFFFA104,0x00001003 /* Flash1,8bit,2wait-state,CE0
*/ ;\
sdr1: .long 0xFFFFA044,0x00007802 /* S-r/w U-r/w Noncacheable
*/ ;\
start1: .long
0xFFFFA004,0x04000000 ;\
stop1: .long
0xFFFFA024,0x04200000 ;\
SRStart:
;\
bcr2: .long 0xFFFFA108,0x0000100C /* Flash2,8bit,3wait-state,CE1
*/ ;\
sdr2: .long 0xFFFFA048,0x00007804 /* S-r/w U-r/w Noncacheable
*/ ;\
start2: .long
0xFFFFA008,0x04200000 ;\
stop2: .long
0xFFFFA028,0x04400000 ;\
bcr3: .long 0xFFFFA10C,0x00001300 /* BBRAM+Ck,8bit,1 wait-state,CE4
*/ ;\
sdr3: .long 0xFFFFA04C,0x00007808 /* S-r/w U-r/w Noncacheable
*/ ;\
start3: .long
0xFFFFA00C,0x03000000 ;\
stop3: .long
0xFFFFA02C,0x03002000 ;\
bcr4: .long 0xFFFFA110,0x00000000 /* Bad address
*/ ;\
sdr4: .long 0xFFFFA050,0x00007808 /* No access
*/ ;\
start4: .long
0xFFFFA010,0x00200000 ;\
stop4: .long
0xFFFFA030,0x03000000 ;\
bcr6a: .long 0xFFFFA118,0x00009090 /* DRAM 16bit FCAS 1.5 CE2-3
*/ ;\
bcr6b: .long 0xFFFFA120,0x00000033 /* BCAS 1.5,Refresh,1K page,Page
mode */ ;\
sdr6: .long 0xFFFFA058,0x00007840 /* S-r/w U-r/w Noncacheable
*/ ;\
start6: .long
0xFFFFA018,0x00000000 ;\
stop6: .long
0xFFFFA038,0x00200000 ;\
drr: .long 0xFFFFA128,0x00000730 /* DRAM Refresh 1840
*/ ;\
sdr8: .long 0xFFFFA060,0x00007801 /* On-Chip:RAM,Config Reg,I/O
*/ ;\
ccr: .long 0xFFFFA400,0x00000002 /* Cache in SRAM mode
*/ ;\
lscr: .long 0xFFFFA404,0x00000003 /* On-Chip SRAM at 0x60000000
*/ ;\
ppctlr: .long 0xFFFF1C0C,0x00000082 /* Port A and C output, B input
*/ ;\
SREnd: .long
0x00000000 ;\
;\
.balign
4 ;\
SetupEnd:
;
#else
#define PLATFORM_SETUP1
#endif
---------stop----------
6. This is the contents of mlt_arm_awt60_rom.h:
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
#define CYGMEM_REGION_ram (0x00000000)
#define CYGMEM_REGION_ram_SIZE (0x00200000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R |
CYGMEM_REGION_ATTR_W)
#define CYGMEM_REGION_rom (0x04000000)
#define CYGMEM_REGION_rom_SIZE (0x00200000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
extern char CYG_LABEL_NAME (_reserved_vectors) [];
#define CYGMEM_SECTION_reserved_vectors (CYG_LABEL_NAME
(_reserved_vectors))
#define CYGMEM_SECTION_reserved_vectors_SIZE (0x1000)
extern char CYG_LABEL_NAME (_reserved_not_mapped) [];
#define CYGMEM_SECTION_reserved_not_mapped (CYG_LABEL_NAME
(_reserved_not_mapped))
#define CYGMEM_SECTION_reserved_not_mapped_SIZE (0x7000)
If you want to build a stand-alone gdb-stub for your modified AEB I can
send you the other files I have.
One other thing, a warning; the AEB has a poor reset circuit and even if
the processor seems to be executing properly, some of the on board
peripherals; DRAM controller, UARTs; will not function correctly. This
wasted a lot of my time, looking for nonexistent errors in my setup
code. A work-around for that, when ever you reset or power up the AEB,
connect with gdb send a "kill" signal and then reconnect then you can
"load" and debug your code.
--
Ormund
- To: jskov at redhat dot com
- Subject: Re: [ECOS] How to connect GDB with Redboot
- From: ness <root at zh dot t2-design dot com>
- Date: Tue, 31 Oct 2000 23:50:25 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
> ness> Hi Jifl and Jesper. First ,thank you for your advice. I use
> ness> the PMON to debug the redboot.srec. Now the program can go to
> ness> cyg_start, and executes the loop successfully. And the net is
> ness> working right. But I can't input redboot's command. And we just
> ness> need ethernet debug, so I just need the module which can connect
> ness> with GDB, and no input is not problem. Is it right?
>
> ness> But when the program executes the "breakpoint()" ,it stops. Do I
> ness> need to do something for the virtual vector table or other?
>
> If you don't see a prompt, there's a problem with the HAL serial
> driver. Or maybe your PMON interaction is spoiling things.
>
> Jesper
I just want let GDB connect with target, and GDB can load program via
ethernet. Does redboot provide connection with GDB and let GDB can load
program via ethernet?
If it does ,how do I change the redboot.
Many thanks.
ness
- To: ness <root at zh dot t2-design dot com>
- Subject: Re: [ECOS] How to connect GDB with Redboot
- From: Jesper Skov <jskov at redhat dot com>
- Date: Wed, 1 Nov 2000 01:39:16 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com, gthomas at redhat dot com
>>>>> "ness" == ness <root@zh.t2-design.com> writes:
ness> I just want let GDB connect with target, and GDB can load
ness> program via ethernet. Does redboot provide connection with GDB
ness> and let GDB can load program via ethernet?
It does, assuming there is a working driver for your board, but you
may have to set RedBoot to accept connections via ethernet. And that
is done via the fconfig command which you have to use via the serial
line. At least I think you do. Gary?
Jesper
- To: Jesper Skov <jskov at redhat dot com>
- Subject: Re: [ECOS] How to connect GDB with Redboot
- From: Gary Thomas <gthomas at redhat dot com>
- Date: Wed, 1 Nov 2000 04:42:55 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com, ness <root at zh dot t2-design dot com>
On 01-Nov-2000 Jesper Skov wrote:
>>>>>> "ness" == ness <root@zh.t2-design.com> writes:
>
> ness> I just want let GDB connect with target, and GDB can load
> ness> program via ethernet. Does redboot provide connection with GDB
> ness> and let GDB can load program via ethernet?
>
> It does, assuming there is a working driver for your board, but you
> may have to set RedBoot to accept connections via ethernet. And that
> is done via the fconfig command which you have to use via the serial
> line. At least I think you do. Gary?
The defaults (which can be changed via CDL) will have your board allow
connections over the ethernet. It will use BOOTP for the connection
and accept GDB conections on port 9000.
If you include a FLASH driver, then you can control/extend this behaviour
via the 'fconfig' command.
This, I believe, begs the question though. Until you can get the board
to run GDB protocol using RedBoot on the serial port, I would not even
attempt to use the network for same.
- To: jskov at redhat dot com
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Andreas dot Karlsson at combitechsystems dot com
- Date: Wed, 1 Nov 2000 01:48:16 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
hello,
While trying to build a new gdbstub the following error occurred.
# First build version with no checksum.
arm-elf-gcc -c -I//D/ecos-work/aeb/config2_expanded_install/include
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/tests -I.
-Wp,-MD,deps.tmp
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/ -mcpu=arm7di
-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions -fvtable-gc -finit-priority -o src/gdb_module_ncs.o
//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/gdb_module.c
arm-elf-gcc -mcpu=arm7di -Wl,--gc-sections -Wl,-static -g -nostdlib
-L//D/ecos-work/aeb/config2_expanded_install/lib -Ttarget.ld -o
src/gdb_module_ncs.tmp src/gdb_module_ncs.o
arm-elf-objcopy --strip-debug --change-addresses=0xFBFF4000
src/gdb_module_ncs.tmp src/gdb_module_ncs.img
arm-elf-objcopy -O binary src/gdb_module_ncs.img src/gdb_module_ncs.bin
# Prepare dependency file
# Then build version with checksum from previously built image.
arm-elf-gcc -c
-DCHECKSUM=`//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/flash
_cksum.tcl src/gdb_module_ncs.bin`
-I//D/ecos-work/aeb/config2_expanded_install/include
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/tests -I.
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/ -mcpu=arm7di
-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions -fvtable-gc -finit-priority -o src/gdb_module.o
//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/gdb_module.c
exec: tclsh: not found
//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/gdb_module.c:89:
parse error before `,'
make[1]: *** [//D/ecos-work/aeb/config2_expanded_install/bin/gdb_module.bin]
Error 1
make[1]: Leaving directory
`/d/ecos-work/aeb/config2_expanded_build/hal/arm/aeb/v1_3_1'
make: *** [build] Error 2
The area in gdb_module.c looks like this, row 89 is the one with CHECKSUM.
What have I done wrong?
const static struct ModuleHeader __hdr = {
0x4D484944, // MHID
2, // flags = auto start
1, // major
0, // minor
CHECKSUM, // checksum
(cyg_uint32) &__exception_handlers, // start of module
(read-only) image
(cyg_uint32) &__rom_data_end, // end of image
0, // r/w base - unused
0, // bss base - unused
0, // bss limit - unused
(cyg_uint32) &__hdr, // self (for module identification)
(cyg_uint32) &__exception_handlers, // startup
0, // init - unused
0, // final - unused
0, // service - unused
(cyg_uint32) &__title, // title
(cyg_uint32) &__help, // help string
0, // command table - unused
0, // SWI table - unused
0 // SWI handler - unused
};
- To: jskov at redhat dot com
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Andreas dot Karlsson at combitechsystems dot com
- Date: Wed, 1 Nov 2000 02:14:47 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
ok,
I had to modify the call to tclsh in flash_cksum.tcl from
exec tclsh "$0" ${1+"$@"} to
exec cygtclsh80 "$0" ${1+"$@"}
but now the compiler says that it can't find flash_cksum.tcl. But in my
world it definitely is there.
/Andreas
# Then build version with checksum from previously built image.
arm-elf-gcc -c
-DCHECKSUM=`//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/flash
_cksum.tcl src/gdb_module_ncs.bin`
-I//D/ecos-work/aeb/config2_expanded_install/include
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/tests -I.
-I//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/ -mcpu=arm7di
-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef
-Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti
-fno-exceptions -fvtable-gc -finit-priority -o src/gdb_module.o
//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/gdb_module.c
couldn't read file
"//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/flash_cksum.tcl"
: no such file or directory
//D/PROGRA~1/REDHAT~1/eCos/packages/hal/arm/aeb/v1_3_1/src/gdb_module.c:89:
parse error before `,'
make[1]: *** [//D/ecos-work/aeb/config2_expanded_install/bin/gdb_module.bin]
Error 1
make[1]: Leaving directory
`/d/ecos-work/aeb/config2_expanded_build/hal/arm/aeb/v1_3_1'
make: *** [build] Error 2
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Jesper Skov <jskov at redhat dot com>
- Date: Wed, 1 Nov 2000 02:15:22 -0800
- Cc: jskov at redhat dot com, ecos-discuss at sourceware dot cygnus dot com
>>>>> "Andreas" == Andreas Karlsson <Andreas.Karlsson@combitechsystems.com>
writes:
Andreas> exec: tclsh: not found
CHECKSUM is computed in one of the makefile runes using tclsh - but
that part evidently failed. You need to make sure tclsh is in the
PATH.
Jesper
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Jesper Skov <jskov at redhat dot com>
- Date: Wed, 1 Nov 2000 02:21:58 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
>>>>> "Andreas" == Andreas Karlsson <Andreas.Karlsson@combitechsystems.com>
writes:
Andreas> but now the compiler says that it can't find
Andreas> flash_cksum.tcl. But in my world it definitely is there.
Sorry, can't help. I don't grok WinDOS peculiarities. Someone else on
the list may be able to help.
Jesper
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: Re: [ECOS] Modifying memory layout, possible?
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Wed, 1 Nov 2000 05:15:58 -0800
- Cc: jskov at redhat dot com, ecos-discuss at sourceware dot cygnus dot com
Andreas.Karlsson@combitechsystems.com wrote:
>
> ok,
>
> I had to modify the call to tclsh in flash_cksum.tcl from
>
> exec tclsh "$0" ${1+"$@"} to
>
> exec cygtclsh80 "$0" ${1+"$@"}
>
> but now the compiler says that it can't find flash_cksum.tcl. But in my
> world it definitely is there.
Firstly, make sure you do have a /bin/sh.exe. If ls -l /bin/sh.exe doesn't
show something, then you'll probably need to use the cygwin mount command
to put the cygwin bin directory at /bin.
Secondly, just for consistency, replace the blurb at the top of
flash_cksum.tcl with this:
!/bin/sh
# these lines restart using the tcl shell \
exec sh -c "if ( echo | tclsh ) 2>/dev/null ; then \
exec tclsh \"${0}\" ${1+${*}} ; \
elif ( echo | cygtclsh80 ) 2>/dev/null ; then \
exec cygtclsh80 \"${0}\" ${1+${*}} ; \
else \
echo Could not find TCL interpreter ; \
exit 1 ; \
fi"
Yes, there is much magic here.
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: jlarmour at cygnus dot co dot uk
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Andreas dot Karlsson at combitechsystems dot com
- Date: Wed, 1 Nov 2000 05:28:00 -0800
- Cc: jskov at redhat dot com, ecos-discuss at sourceware dot cygnus dot com
Hi,
Well, I thought that the space in my path /d/Program Files/Red Hat/....
fooled cygtclsh80 so I moved flash_cksum.tcl to the same directory as the
gdb_module_ncs.bin, which is input, and then hacked the makefile. This
worked. Then there is no uuencode with Cygwin but I have downloaded one for
windows before that I have used.
But now the problem is that I don't have any contact with my board. So I
thought that maybe I should try first to build a non-modified stub, download
it and see if it works. I choose the template for AEB and compiled and
downloaded but there is no contact with the board.
Only the stub that comes with eCos works.
/Andreas
> e?
Andreas.Karlsson@combitechsystems.com wrote:
> >
> > ok,
> >
> > I had to modify the call to tclsh in flash_cksum.tcl from
> >
> > exec tclsh "$0" ${1+"$@"} to
> >
> > exec cygtclsh80 "$0" ${1+"$@"}
> >
> > but now the compiler says that it can't find
> flash_cksum.tcl. But in my
> > world it definitely is there.
>
> Firstly, make sure you do have a /bin/sh.exe. If ls -l
> /bin/sh.exe doesn't
> show something, then you'll probably need to use the cygwin
> mount command
> to put the cygwin bin directory at /bin.
>
> Secondly, just for consistency, replace the blurb at the top of
> flash_cksum.tcl with this:
>
> !/bin/sh
> # these lines restart using the tcl shell \
> exec sh -c "if ( echo | tclsh ) 2>/dev/null ; then \
> exec tclsh \"${0}\" ${1+${*}} ; \
> elif ( echo | cygtclsh80 ) 2>/dev/null ; then \
> exec cygtclsh80 \"${0}\" ${1+${*}} ; \
> else \
> echo Could not find TCL interpreter ; \
> exit 1 ; \
> fi"
>
> Yes, there is much magic here.
>
> Jifl
> --
> Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44
> (1223) 728762
> "Plan to be spontaneous tomorrow." || These opinions are
> all my own fault
>
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: Re: [ECOS] Modifying memory layout, possible?
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Wed, 1 Nov 2000 05:39:53 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
Andreas.Karlsson@combitechsystems.com wrote:
>
> But now the problem is that I don't have any contact with my board. So I
> thought that maybe I should try first to build a non-modified stub,
download
> it and see if it works. I choose the template for AEB and compiled and
> downloaded but there is no contact with the board.
Is this with clean code? Have you tried it with clean code? And you just
did it with "ecosconfig new aeb stubs" (or config tool equivalent)?
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: jlarmour at cygnus dot co dot uk
- Subject: RE: [ECOS] Modifying memory layout, possible?
- From: Andreas dot Karlsson at combitechsystems dot com
- Date: Wed, 1 Nov 2000 07:50:14 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
First, I think that the first line in
!/bin/sh
# these lines restart using the tcl shell \
exec sh -c "if ( echo | tclsh ) 2>/dev/null ; then \
exec tclsh \"${0}\" ${1+${*}} ; \
elif ( echo | cygtclsh80 ) 2>/dev/null ; then \
exec cygtclsh80 \"${0}\" ${1+${*}} ; \
else \
echo Could not find TCL interpreter ; \
exit 1 ; \
fi"
should be commented away.
Yes, my code should be clean. I downloaded those files I have been changing
from CVS to be sure. It is interesting to notice that if I by mistake choose
revB I will get in contact with the board even if it fails when downloading
.rodata.
/Andreas
> >
> > But now the problem is that I don't have any contact with
> my board. So I
> > thought that maybe I should try first to build a
> non-modified stub, download
> > it and see if it works. I choose the template for AEB and
> compiled and
> > downloaded but there is no contact with the board.
>
> Is this with clean code? Have you tried it with clean code?
> And you just
> did it with "ecosconfig new aeb stubs" (or config tool equivalent)?
>
> Jifl
> --
> Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44
> (1223) 728762
> "Plan to be spontaneous tomorrow." || These opinions are
> all my own fault
>
- To: Andreas dot Karlsson at combitechsystems dot com
- Subject: Re: [ECOS] Modifying memory layout, possible?
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Wed, 1 Nov 2000 08:04:58 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
Andreas.Karlsson@combitechsystems.com wrote:
>
> First, I think that the first line in
>
> !/bin/sh
>
[snip]
> should be commented away.
Sorry, yes it should have a leading #. It was a simple cut and paste error.
I was just trying to tell you what is in CVS, which is an improvement. i.e.
http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/ecos/packages/hal/ar
m/aeb/current/src/flash_cksum.tcl?rev=1.5&cvsroot=ecos
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: yyl <ylyuan at davform dot com>
- Subject: Re: [ECOS] about ram file system and memory management on the cvs
- From: Jonathan Larmour <jlarmour at cygnus dot co dot uk>
- Date: Wed, 1 Nov 2000 07:25:10 -0800
- Cc: eCos discussion <ecos-discuss at sources dot redhat dot com>
yyl wrote:
>
> -----Original Message-----
> From: Jonathan Larmour <jlarmour@redhat.com>
> To: yyl <ylyuan@davform.com>
> Cc: eCos_discuss <ecos-discuss@sourceware.cygnus.com>
> Date: 2000Äê10ÔÂ30ÈÕ 22:58
> Subject: Re: [ECOS] about ram file system and memory management on the cvs
>
> >> yyl wrote:
> >>
> >> Hi,I want to use ram file system from cvs,but I don't know whether the
> >> ram file system depends on the
> >> memory management of cvs?
> >
> >It depends on malloc(), but no specific implementation of it.
> >
> >But I think you'd have a hard job disentangling the file system support
> >from the rest of the CVS world, if that's what you intend to do.
> I don't know your meaning clearly,can you tell me more ?
> Maybe I hadn't express my meaning clearly,I mean that I want to only add
> the
> ram file system from cvs on ecos1.3.1.
That's a virtual impossibility I'm afraid. The ram file system is in cvs
only, and a *lot* has changed there. If you want to try and backport it to
1.3.1 you could try, but you'll just end up with something that looks a lot
like what is in cvs, but with less features :-). What is in CVS is what we
are intending to release publically as a 1.4.x version some time (don't ask
when).
Jifl
--
Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow." || These opinions are all my own fault
- To: jlarmour at redhat dot co dot uk
- Subject: Build Networking Tests (demo programs)
- From: amassa at cts dot com
- Date: Wed, 1 Nov 2000 12:03:50 -0800
- Cc: ecos-discuss at sourceware dot cygnus dot com
I am trying to build the additional networking tests using the ecos config
tool (ver 3.1.1.1). However, I get the following error when I try to do
this - do you know why this would happen?
Thanks.
-I//D/PROGRA~1/REDHAT~1/cvs/ecos/packages/net/tcpip/current/tests/
-msoft-float -mcpu=860 -Wall -Wpointer-arith -Wstrict-prototypes -Winline
-Wundef -Woverloaded-virtual -g -ffunction-sections -fdata-sections
-fno-rtti -fno-exceptions -fvtable-gc -finit-priority -D_KERNEL -D__ECOS
-Wp,-MD,tests/tftp_server_test.tmp -o tests/tftp_server_test.o
//D/PROGRA~1/REDHAT~1/cvs/ecos/packages/net/tcpip/current/tests/tftp_server_
test.c
powerpc-eabi-gcc -msoft-float -mcpu=860 -g -nostdlib -Wl,--gc-sections
-Wl,-static
-L//D/Projects/Blackbird/Tornado/software/ecoslatest/temp/temp_install/lib
-Ttarget.ld -o
//D/Projects/Blackbird/Tornado/software/ecoslatest/temp/temp_install/tests/n
et/tcpip/current/tests/tftp_server_test tests/tftp_server_test.o
/tools/H-i686-pc-cygwin/powerpc-eabi/bin/ld: address 0x54d6a8 of
//D/Projects/Blackbird/Tornado/software/ecoslatest/temp/temp_install/tests/n
et/tcpip/current/tests/tftp_server_test.exe section .bss is not within
region ram
collect2: ld returned 1 exit status
make[1]: ***
[//D/Projects/Blackbird/Tornado/software/ecoslatest/temp/temp_install/tests/
net/tcpip/current/tests/tftp_server_test] Error 1
make[1]: Leaving directory
`/d/Projects/Blackbird/Tornado/software/ecoslatest/temp/temp_build/net/tcpip
/current'
make: *** [tests] Error 2