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