public inbox for sid@sourceware.org
 help / color / mirror / Atom feed
* error building SID
@ 2003-06-20 21:17 Partha Palit
  2003-06-20 21:31 ` Frank Ch. Eigler
  0 siblings, 1 reply; 7+ messages in thread
From: Partha Palit @ 2003-06-20 21:17 UTC (permalink / raw)
  To: sid

Hello everyone,

I am new to embedded systems programming, and want to
use SID as a simulator for Intel Strong Arm. However,I
am facing problem with building SID.I  downloaded the
latest snapshot of SID and then followed the
instructions in SID Faq-O-Matic. 

My platform-
Linux Redhat 9 (2.4.20-8) on i686;
gcc version 3.2.2;

Specifically I am facing problem while building the
sid-vga-wrapper.The output is attched below.
I would be deeply grateful if anyone can help me to
rectiffy the error.
Thanks in advance.
-Partha

--
configuring in voice-pager
running /bin/sh
/opt/sid/sourcetree/src/sid/demos/voice-pager/configure
 --build
=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--target=i686-pc-linux-gnu --prefix=
/opt/sid/installtree
--cache-file=../../.././config.cache
--srcdir=/opt/sid/sour
cetree/src/sid/demos/voice-pager
loading cache ../../.././config.cache
checking for a BSD compatible install... (cached)
/usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for a BSD compatible install...
/usr/bin/install -c
checking whether to enable maintainer-specific
portions of Makefiles... no
checking host system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works...
yes
checking whether the C compiler (gcc -g -O2 ) is a
cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for ld used by GCC... (cached) ld
checking if the linker (ld) is GNU ld... (cached) yes
checking for BSD-compatible nm... (cached) nm
checking whether ln -s works... (cached) yes
checking for ar... (cached) ar
checking for ranlib... (cached) ranlib
loading cache ../../.././config.cache within ltconfig
checking whether ln -s works... (cached) yes
checking for ranlib... (cached) ranlib
checking for strip... (cached) strip
checking for objdir... .libs
checking for object suffix... (cached) o
checking for executable suffix... (cached) no
checking for gcc option to produce PIC... (cached) 
-fPIC -DPIC
checking if gcc PIC flag  -fPIC -DPIC works...
(cached) yes
checking if gcc static flag -static works... (cached)
yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ...
yes
checking if the linker (ld) is GNU ld... yes
checking whether the linker (ld) supports shared
libraries... yes
checking how to hardcode library paths into
programs... immediate
checking whether stripping libraries is possible...
yes
checking for ld option to reload object files... -r
checking dynamic linker characteristics... Linux ld.so
checking command to parse nm output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
loading cache ../../.././config.cache
checking for Cygwin environment... (cached) no
checking for mingw32 environment... (cached) no
checking for executable suffix... (cached) no
checking for c++... (cached) c++
checking whether the C++ compiler (c++ -g -O2 )
works... yes
checking whether the C++ compiler (c++ -g -O2 ) is a
cross-compiler... no
checking whether we are using GNU C++... (cached) yes
checking whether c++ accepts -g... (cached) yes
checking how to run the C++ preprocessor... (cached)
c++ -E
checking whether make sets ${MAKE}... (cached) yes
creating ./config.status
creating Makefile
creating voice-pager-demo
creating voice-pager-demo.conf
creating config.h
make[1]: Entering directory `/opt/sid/buildtree/sid'
Making all in .
make[2]: Entering directory `/opt/sid/buildtree/sid'
rm -f version.h
echo '#define SID_RELEASE "0.1-net"' > version.h
make[2]: Leaving directory `/opt/sid/buildtree/sid'
Making all in include
make[2]: Entering directory
`/opt/sid/buildtree/sid/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/opt/sid/buildtree/sid/include'
Making all in component
make[2]: Entering directory
`/opt/sid/buildtree/sid/component'
Makefile:417: warning: overriding commands for target
`check-recursive'
Makefile:195: warning: ignoring old commands for
target `check-recursive'
make  all-recursive
make[3]: Entering directory
`/opt/sid/buildtree/sid/component'
Makefile:417: warning: overriding commands for target
`check-recursive'
Makefile:195: warning: ignoring old commands for
target `check-recursive'
Making all in bochs
make[4]: Entering directory
`/opt/sid/buildtree/sid/component/bochs'
make  all-recursive
make[5]: Entering directory
`/opt/sid/buildtree/sid/component/bochs'
Making all in vga
make[6]: Entering directory
`/opt/sid/buildtree/sid/component/bochs/vga'
/bin/sh ../libtool --mode=compile c++ -DHAVE_CONFIG_H
-I. -I/opt/sid/sourcetree/
src/sid/component/bochs/vga -I.. -I../../../include
-I/opt/sid/sourcetree/src/si
d/component/bochs/vga
-I/opt/sid/sourcetree/src/sid/component/bochs/vga/..
-I/op
t/sid/sourcetree/src/sid/component/bochs/vga/../../../include
-I/opt/sid/sourcet
ree/src/sid/component/bochs/vga/../cpu
-I/opt/sid/sourcetree/src/sid/component/b
ochs/vga/../../memory    -g -O2 -c
/opt/sid/sourcetree/src/sid/component/bochs/v
ga/sid-vga-wrapper.cc
mkdir .libs
c++ -DHAVE_CONFIG_H -I.
-I/opt/sid/sourcetree/src/sid/component/bochs/vga -I..
-
I../../../include
-I/opt/sid/sourcetree/src/sid/component/bochs/vga
-I/opt/sid/s
ourcetree/src/sid/component/bochs/vga/..
-I/opt/sid/sourcetree/src/sid/component
/bochs/vga/../../../include
-I/opt/sid/sourcetree/src/sid/component/bochs/vga/..
/cpu
-I/opt/sid/sourcetree/src/sid/component/bochs/vga/../../memory
-g -O2 -Wp,-
MD,.deps/sid-vga-wrapper.pp -c  -fPIC -DPIC -DPIC
/opt/sid/sourcetree/src/sid/co
mponent/bochs/vga/sid-vga-wrapper.cc -o
.libs/sid-vga-wrapper.lo
In file included from
/opt/sid/sourcetree/src/sid/component/bochs/vga/sid-vga-wr
apper.h:15,
                 from
/opt/sid/sourcetree/src/sid/component/bochs/vga/sid-vga-wr
apper.cc:7:
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:720:
  overriding `virtual
  
sidutil::fixed_attribute_map_component::~fixed_attribute_map_component()
   throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidpinutil.h:378: 
 overriding `virtual
  
sidutil::fixed_pin_map_component::~fixed_pin_map_component()
throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidcomp.h:177:  
overriding `virtual
   sid::component::~component() throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidcomp.h:177:  
overriding `virtual
   sid::component::~component() throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:720:
  overriding `virtual
  
sidutil::fixed_attribute_map_component::~fixed_attribute_map_component()
   throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:720:
  overriding `virtual
  
sidutil::fixed_attribute_map_component::~fixed_attribute_map_component()
   throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidpinutil.h:378: 
 overriding `virtual
  
sidutil::fixed_pin_map_component::~fixed_pin_map_component()
throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidpinutil.h:378: 
 overriding `virtual
  
sidutil::fixed_pin_map_component::~fixed_pin_map_component()
throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidcomp.h:177:  
overriding `virtual
   sid::component::~component() throw ()'
/opt/sid/sourcetree/src/sid/include/sidattrutil.h:1045:
looser throw specifier
   for `virtual
  
sidutil::fixed_attribute_map_with_logging_component::~fixed_attribute_map_wit
               h_logging_component()
   '
/opt/sid/sourcetree/src/sid/include/sidcomp.h:177:  
overriding `virtual
   sid::component::~component() throw ()'
make[6]: *** [sid-vga-wrapper.lo] Error 1
make[6]: Leaving directory
`/opt/sid/buildtree/sid/component/bochs/vga'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory
`/opt/sid/buildtree/sid/component/bochs'
make[4]: *** [all-recursive-am] Error 2
make[4]: Leaving directory
`/opt/sid/buildtree/sid/component/bochs'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/opt/sid/buildtree/sid/component'
make[2]: *** [all-recursive-am] Error 2
make[2]: Leaving directory
`/opt/sid/buildtree/sid/component'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/sid/buildtree/sid'
make: *** [all-sid] Error 2



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: error building SID
  2003-06-20 21:17 error building SID Partha Palit
@ 2003-06-20 21:31 ` Frank Ch. Eigler
       [not found]   ` <20030623211200.20420.qmail@web12903.mail.yahoo.com>
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Ch. Eigler @ 2003-06-20 21:31 UTC (permalink / raw)
  To: Partha Palit; +Cc: sid

[-- Attachment #1: Type: text/plain, Size: 1682 bytes --]

Hi -


On Fri, Jun 20, 2003 at 02:17:41PM -0700, Partha Palit wrote:
> I am new to embedded systems programming, and want to
> use SID as a simulator for Intel Strong Arm. [...]

Just to set expectations, while sid's plain arm model is
pretty functional, there are no strongarm extensions added
to sid (more specifically, to the cgen cpu model) yet.


> [...]
> Specifically I am facing problem while building the
> sid-vga-wrapper.The output is attched below.

This should be corrected by the following patch, about to
be committed to CVS.


Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/sid/include/ChangeLog,v
retrieving revision 1.46
diff -u -r1.46 ChangeLog
--- ChangeLog	10 Jun 2003 18:33:50 -0000	1.46
+++ ChangeLog	20 Jun 2003 21:28:33 -0000
@@ -1,3 +1,8 @@
+2003-06-20  Frank Ch. Eigler  <fche@redhat.com>
+
+	* sidattrutil.h (fixed_attribute_map_with_logging_component):
+	Add throw() decoration to dtor.
+
 2003-06-10  Dave Brolley  <brolley@redhat.com>
 
 	* sidattrutil.h (sidpinutil.h): #include it.
Index: sidattrutil.h
===================================================================
RCS file: /cvs/src/src/sid/include/sidattrutil.h,v
retrieving revision 1.4
diff -u -r1.4 sidattrutil.h
--- sidattrutil.h	10 Jun 2003 18:33:50 -0000	1.4
+++ sidattrutil.h	20 Jun 2003 21:28:33 -0000
@@ -1041,7 +1041,7 @@
 	buffer = new char[buffer_size];
 #endif
       }
-    ~fixed_attribute_map_with_logging_component () /* throw() */
+    ~fixed_attribute_map_with_logging_component () throw()
       {
 	// Output any saved messages.
 	output_saved_messages ();

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: how to generate external interrupts
       [not found]   ` <20030623211200.20420.qmail@web12903.mail.yahoo.com>
@ 2003-06-24 16:18     ` Frank Ch. Eigler
  2003-06-24 19:01       ` Partha Palit
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Ch. Eigler @ 2003-06-24 16:18 UTC (permalink / raw)
  To: Partha Palit; +Cc: sid

[-- Attachment #1: Type: text/plain, Size: 469 bytes --]

Hi -

> [...] I have a very basic question regarding interrupts.I
> was wondering how to simulate an external interrupt in
> SID?  Can we use some script/program to continuously
> generate interrupts ? Or do I have to use the system
> monitor GUI.

All of these are possible.  Scripts, GUIs, glue components
intercepting memory accesses are all ways of triggering sid pin
signals for a simulated interrupt controller.  How would you
prefer to cause interrupts?

- FChE

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: how to generate external interrupts
  2003-06-24 16:18     ` how to generate external interrupts Frank Ch. Eigler
@ 2003-06-24 19:01       ` Partha Palit
  2003-06-24 20:26         ` Frank Ch. Eigler
  0 siblings, 1 reply; 7+ messages in thread
From: Partha Palit @ 2003-06-24 19:01 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: sid

Hello,

Thanks Frank for the reply. 

>How would you prefer to cause interrupts?

I want to simulate a periodic interrupt( specifically,
I want to be able to count the heart beats which is
assumed to come as interrupts from and external
sensor). Hence, I guess a script or a program would be
a suitable way to do it.
 
Presently,I am reading through the SID user manual. Is
there any other documentation, which can be helpful?

Thank you very much.

-Partha



--- "Frank Ch. Eigler" <fche@redhat.com> wrote:
> Hi -
> 
> > [...] I have a very basic question regarding
> interrupts.I
> > was wondering how to simulate an external
> interrupt in
> > SID?  Can we use some script/program to
> continuously
> > generate interrupts ? Or do I have to use the
> system
> > monitor GUI.
> 
> All of these are possible.  Scripts, GUIs, glue
> components
> intercepting memory accesses are all ways of
> triggering sid pin
> signals for a simulated interrupt controller.  How
> would you
> prefer to cause interrupts?
> 
> - FChE
> 

> ATTACHMENT part 2 application/pgp-signature 



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: how to generate external interrupts
  2003-06-24 19:01       ` Partha Palit
@ 2003-06-24 20:26         ` Frank Ch. Eigler
  2003-06-26 22:47           ` Partha Palit
  0 siblings, 1 reply; 7+ messages in thread
From: Frank Ch. Eigler @ 2003-06-24 20:26 UTC (permalink / raw)
  To: Partha Palit; +Cc: sid

[-- Attachment #1: Type: text/plain, Size: 1283 bytes --]

Hi -

> >How would you prefer to cause interrupts?
> 
> I want to simulate a periodic interrupt( specifically,
> I want to be able to count the heart beats [...]

OK.

> Hence, I guess a script or a program would be
> a suitable way to do it.

That's possible, but not necessary for this context.

Probably the easiest thing to do is to use one of the
sid scheduler objects to supply the periodic interrupt.
You would have to decide whether you would like these
interrupts based on the progression of host (real) time,
versus target (simulated) time.  Then, you'd pick a
suitable time interval, in milliseconds or clock ticks
respectively.  Then you'd arrange to get the chosen
scheduler to send out a ping at the chosen interval
to the appropriate interrupt input pin.  This latter
bit is most easily done by emitting and editing the
sid configuration file that otherwise models your
desired system.


> Presently,I am reading through the SID user manual. Is
> there any other documentation, which can be helpful?

The other two families of documentation that you may find
helpful consist of a guide on developing sid components and
the set of individual component reference pages.  These may
all be found on the sid project web page.


- FChE

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: how to generate external interrupts
  2003-06-24 20:26         ` Frank Ch. Eigler
@ 2003-06-26 22:47           ` Partha Palit
  2003-06-27  2:33             ` Frank Ch. Eigler
  0 siblings, 1 reply; 7+ messages in thread
From: Partha Palit @ 2003-06-26 22:47 UTC (permalink / raw)
  To: Frank Ch. Eigler; +Cc: sid

Hello,

Thank you Frank for showing the direction to
generating an external interrupt. 

Kindly advise if my approach is correct. I edited the
sid.conf as follows-

new sid-sched-sim sensor-sched

//then I set the num clients to 5...
//then connected the sched event to the intrctrl...

connect-pin sensor-sched 1-event -> intrctrl source-16

//then I appropriately set the 'regular' and 'time'
attributes.

The problem is that I am unable to catch the
interrupt.I am using eCos as the RTOS. In my program,
I register an ISR at "vector 16". Is this correct ? I
saw some memory mapping for the timers and UART in the
SID config file. Do I have to do somehing like that? 

Also, when I checked the eCos header file
(hal_intr.h), max interrupts were set to 8.If,possible
could you kindly comment on this?
P.S: my platform - ARM-PID.

Thanks for your time.

-Partha

--- "Frank Ch. Eigler" <fche@redhat.com> wrote:
> Hi -
> 
> > >How would you prefer to cause interrupts?
> > 
> > I want to simulate a periodic interrupt(
> specifically,
> > I want to be able to count the heart beats [...]
> 
> OK.
> 
> > Hence, I guess a script or a program would be
> > a suitable way to do it.
> 
> That's possible, but not necessary for this context.
> 
> Probably the easiest thing to do is to use one of
> the
> sid scheduler objects to supply the periodic
> interrupt.
> You would have to decide whether you would like
> these
> interrupts based on the progression of host (real)
> time,
> versus target (simulated) time.  Then, you'd pick a
> suitable time interval, in milliseconds or clock
> ticks
> respectively.  Then you'd arrange to get the chosen
> scheduler to send out a ping at the chosen interval
> to the appropriate interrupt input pin.  This latter
> bit is most easily done by emitting and editing the
> sid configuration file that otherwise models your
> desired system.
> 
> 
> > Presently,I am reading through the SID user
> manual. Is
> > there any other documentation, which can be
> helpful?
> 
> The other two families of documentation that you may
> find
> helpful consist of a guide on developing sid
> components and
> the set of individual component reference pages. 
> These may
> all be found on the sid project web page.
> 
> 
> - FChE
> 

> ATTACHMENT part 2 application/pgp-signature 



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: how to generate external interrupts
  2003-06-26 22:47           ` Partha Palit
@ 2003-06-27  2:33             ` Frank Ch. Eigler
  0 siblings, 0 replies; 7+ messages in thread
From: Frank Ch. Eigler @ 2003-06-27  2:33 UTC (permalink / raw)
  To: Partha Palit; +Cc: sid

Hi -

> [...]
> Kindly advise if my approach is correct. I edited the
> sid.conf as follows-
> new sid-sched-sim sensor-sched

This part is not necessary.  You could reuse the existing
sim-sched-sim instance - just use a new unused client number.
(If were to use a new scheduler instance, you would have to
connect its upstream "advance" pin to an appropriate source.)

> //then I set the num clients to 5...
> //then connected the sched event to the intrctrl...
> connect-pin sensor-sched 1-event -> intrctrl source-16
> //then I appropriately set the 'regular' and 'time'
> attributes.

All correct, I'm impressed!


> The problem is that I am unable to catch the
> interrupt.I am using eCos as the RTOS. [...]
> Also, when I checked the eCos header file
> (hal_intr.h), max interrupts were set to 8.If,possible
> could you kindly comment on this?

I am sorry, but I'm not familiar with that low-level aspect
of eCos.  I suspect choosing a lower interrupt number would
help, as might putting breakpoints into eCos functions for
setting interrupt masks and dispatching received interrupts.
If you suspect a sid (rather than eCos) problem, consider
monitoring the interrupt controller with tksm, and manually
sending interrupts from the pin view.


> P.S: my platform - ARM-PID.

This suggests that you should be using the an arm-cpu
configuration for sid that includes models for selected
peripherals of the pid board, like the sid/pregen/arm-pid.conf
file.  Sending a diff between that file and your modified
version would help diagnose problems in the future.


- FChE

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-06-27  2:33 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-20 21:17 error building SID Partha Palit
2003-06-20 21:31 ` Frank Ch. Eigler
     [not found]   ` <20030623211200.20420.qmail@web12903.mail.yahoo.com>
2003-06-24 16:18     ` how to generate external interrupts Frank Ch. Eigler
2003-06-24 19:01       ` Partha Palit
2003-06-24 20:26         ` Frank Ch. Eigler
2003-06-26 22:47           ` Partha Palit
2003-06-27  2:33             ` Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).