Hello Catalin,

The combination large memory model and stack-auto is not built (and
tested) in the sdcc distributions. So there are no libraries for it by
default. You can create them yourself or you might be able to find them on
the web (contiki site?). To create them you can modify device/lib/Makefile
if you build from source.

Greets,
Maarten

> Hello!
>
> I am trying to build Contiki-OS using sdcc.
>
> But, I have an error that I cannot track down.
>
> sdcc --stack-auto --model-large --stack-auto --out-fmt-ihx --xram-loc
> 0x0000 --xram-size 0x1F00 --code-loc 0x00000 --code-size 0x10000 -o
> sniffer.ihx obj_cc2530dk/contiki-main.rel obj_cc2530dk/sniffer.app.rel
> -llibsdcc.lib -lcontiki-cc2530dk.lib
>
> ?ASlink-Warning-Undefined Global '__mcs51_genRAMCLEAR' referenced by
> module 'contiki_main'
> ?ASlink-Warning-Undefined Global '__mcs51_genXINIT' referenced by module
> 'contiki_main'
> ?ASlink-Warning-Undefined Global '__gptrput' referenced by module
> 'sniffer'
> ?ASlink-Warning-Undefined Global '__gptrput' referenced by module
> 'usb_serial'
> [...]
>
> Seems that sdld gives this errors (I used strace):
> /usr/bin/sdld -nf sniffer.lk
>
> sniffer.lk contains:
> -muwx
> -i sniffer.ihx
> -M
> -Y
> -X 0x1f00
> -C 0x10000
> -b HOME = 0x0000
> -b ISEG = 0x0000
> -b BSEG = 0x0000
> -k /usr/bin/../share/sdcc/lib/large-stack-auto
> -k /usr/share/sdcc/lib/large-stack-auto
> -l libsdcc.lib
> -l contiki-cc2530dk.lib
> -l mcs51
> -l libsdcc
> -l libint
> -l liblong
> -l libfloat
> obj_cc2530dk/contiki-main.rel
> obj_cc2530dk/sniffer.app.rel
>
> -e
>
> One of the symbols (__mcs51_genRAMCLEAR) I found it in mcs51.lib:
> grep __mcs51_genRAMCLEAR /usr/share/sdcc/lib/large-stack-auto/mcs51.lib:
> S __mcs51_genRAMCLEAR Def000000
>
> sdld opens mcs51.lib (and the rest of the libs) with success:
> open("/usr/bin/../share/sdcc/lib/large-stack-auto/mcs51.lib", O_RDONLY) =
> 3
> open("/usr/share/sdcc/lib/large-stack-auto/mcs51.lib", O_RDONLY) = 3
> open("/usr/bin/../share/sdcc/lib/large-stack-auto/libsdcc.lib", O_RDONLY)
> = 3
> open("/usr/share/sdcc/lib/large-stack-auto/libsdcc.lib", O_RDONLY) = 3
> open("/usr/bin/../share/sdcc/lib/large-stack-auto/libint.lib", O_RDONLY) =
> 3
> open("/usr/share/sdcc/lib/large-stack-auto/libint.lib", O_RDONLY) = 3
> open("/usr/bin/../share/sdcc/lib/large-stack-auto/liblong.lib", O_RDONLY)
> = 3
> open("/usr/share/sdcc/lib/large-stack-auto/liblong.lib", O_RDONLY) = 3
> open("/usr/bin/../share/sdcc/lib/large-stack-auto/libfloat.lib", O_RDONLY)
> = 3
> open("/usr/share/sdcc/lib/large-stack-auto/libfloat.lib", O_RDONLY) = 3
>
> Please give me a hint why it cannt find that symbol.
>
> Thank you very much!
>
> P.S. Please keep me in CC. Thank you.
>
> --
> Catalin Boie


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to