[ECOS] Error ina dding a packeg: only .h visible!

Gary Thomas gary@mlbassoc.com
Sat Nov 11 12:26:00 GMT 2006


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



More information about the Ecos-discuss mailing list