This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error ina dding a packeg: only .h visible!


Please keep your replies on the list so that all may benefit.

Michele Portolan wrote:
Thank you very much for the quick reponde. I tryied your suggestion and I get this at compilation time:

make[1]: Entering directory `/d/cygwin/home/portolan/testbenches/build/mingw_ecos/new_CR/tima_ft/current'

make[1]: *** No rule to make target `src/compile', needed by `libtarget.a.stamp'. Stop.

what does it mean?

I think you typed the line incorrectly. Compare what you've done with similar lines in other CDL files - you'll see how to fix it. For example, look at the RedBoot CDL file .../redboot/current/cdl/redboot.cdl


Query reponse: it was just an old file I used when I started tapering with interruptions,and no more used. I forgot to exclude it from the cdl.


Gary Thomas wrote:
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]