This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Error ina dding a packeg: only .h visible!
- From: Gary Thomas <gary at mlbassoc dot com>
- To: Michele Portolan <micheleportolan at yahoo dot it>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Sat, 11 Nov 2006 05:26:30 -0700
- Subject: Re: [ECOS] Error ina dding a packeg: only .h visible!
- References: <4555BF33.5010408@yahoo.it>
Michele Portolan wrote:
I try once more because I am really stuck and my deadline
is....tomorrow!!!!
I still cannot use the functions I added in a new package: I will try to
be as clear as possible:
-- when building eCos my .c file is compiled
-- when I compile e progrma linking on ecos libraries everything is fine
too (I can call my functions)
-- when executing I get error
If I debug with DDD I notice that the function defined in my packages
are empty! Looking up the souirce list I can find the .h, but not the
.c!! I think that is the problem, I charge only the prototype and not
the real functions...But where I am wrong? The file is compiled? Maybe
something amiss in the cdl file?
Please someone help me, I cannto really go any further by myself!!!
Michele
Ps: here is the cdl file for my package:
cdl_package CYGPKG_TIMA_FT {
display "Tima funtionalities"
description " Blah blah blah 1"
# ====================================================================
# OPTIONS
cdl_component CYGPKG_TIMA_FT {
display "Blah blah 2"
flavor bool
compile rollback.c intr_rollback.S
default_value 1
requires CYGPKG_LIBC_SETJMP
description " Blah blah blah 2.1"
cdl_option CYGPKG_TIMA_FT_TRACE {
display "Enables Trace assertions"
default_value 0
description "
Blah blah 3"
}
}
}
And here how I call it up from ecos.db
package CYGPKG_TIMA_FT {
alias { "blah blah 0" tima_ft rollback }
directory tima_ft
script tima_ft.cdl
description "Blah blah 0.1"
}
Are your functions ending up in the final eCos application?
Do you have an applications that calls [at least one] directly?
If not, the linker may be throwing them out.
Try changing your "compile" directive to look like this:
compile -library=libextras.a rollback.c intr_rollback.S
Then
ecosconfig tree
make clean; make
Query: what's up with the "intr_rollback.S" file? eCos is designed
such that it's *very* rare to ever need to write anything in assembly.
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss