Makefile ERROR for Cygnal 8051 Port

klvsajay wrote on Thursday, March 27, 2008:

Hi, I am trying to compile the sources for Cygnal 8051 port. The steps are given in the port documentation in the website http://www.FreeRTOS.org/portcygn.html
When I follow the exact steps in the website I am encountering the following error.

sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent ParTest/ParTest.c
process_begin: CreateProcess((null), sdcc -c --model-large -I. -I…/Common/inclu
de -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --x
ram-size 8448 --stack-auto --no-peep --int-long-reent --float-reent ParTest/ParT
est.c, …) failed.
make (e=2): The system cannot find the file specified.
make: *** [ParTest/ParTest.rel] Error 2

I am unable to understand the makefile. Can someone please help?

Thanking you
Ajay

rtel wrote on Friday, March 28, 2008:

I have just tried building a clean installation and it seemed to work fine.  Below is my output.  On your system does the file ParTest/ParTest.c exist off the directory in which the makefile is located?  Could it be the version of make you are using is not compatible with the makefile or your system?

Regards.

Output:
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent ParTest/ParTest.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent serial/serial.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Full/flash.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Full/print.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Minimal/integer.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Minimal/PollQ.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Minimal/comtest.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/Common/Full/semtest.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/…/Source/tasks.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/…/Source/queue.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/…/Source/list.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/…/Source/portable/MemMang/heap_1.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --s
tack-auto --no-peep --int-long-reent --float-reent …/…/Source/portable/SDCC/Cygnal/port.c
sdcc --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stac
k-auto --no-peep --int-long-reent --float-reent main.c ParTest/ParTest.rel serial/serial.rel …/Common/Full/flash.rel …/Common/Full/print.r
el …/Common/Minimal/integer.rel …/Common/Minimal/PollQ.rel …/Common/Minimal/comtest.rel …/Common/Full/semtest.rel …/…/Source/tasks.rel
…/…/Source/queue.rel …/…/Source/list.rel …/…/Source/portable/MemMang/heap_1.rel …/…/Source/portable/SDCC/Cygnal/port.rel

klvsajay wrote on Friday, March 28, 2008:

hi richard,

yes, the partest/partest.c exists in the same folder as that of the makefile.

i am using the gnu make suggested in the freeRTOS website. i downloaded it from http://unxutils.sourceforge.net/

i am not sure of the version of the makefile i am using. can u please forward me the makefile u are using and also the gnu make that u use to run the makefile?

my email address is xxxx@xxxx.com

please send me both the gnu make setup/zip file as well as the makefile you use to compile freeRTOS.

Thanking you
Ajay

klvsajay wrote on Wednesday, April 02, 2008:

dear barry,

i used the make file you sent.  it is able to compile a few files and give some output also…this is the output. but it still doesn’t compile completely. pls check the error that is thrown at the bottom.

C:\FreeRTOSV4.4.0\FreeRTOS\Demo\Cygnal>make
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent ParTest/ParTest.c
ParTest/ParTest.c:171: warning 84: ‘auto’ variable ‘ucBit’ may be used before in
itialization
ParTest/ParTest.c:173: warning 84: ‘auto’ variable ‘ucBit’ may be used before in
itialization
ParTest/ParTest.c:177: warning 84: ‘auto’ variable ‘ucBit’ may be used before in
itialization
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent serial/serial.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Full/flash.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Full/print.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Minimal/integer.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Minimal/PollQ.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Minimal/comtest.c
…/Common/Minimal/comtest.c:236: warning 84: ‘auto’ variable ‘cByteRxed’ may be
used before initialization
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/Common/Full/semtest.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/…/Source/tasks.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/…/Source/queue.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/…/Source/list.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/…/Source/portable/MemMang/heap_1.c
sdcc -c --model-large -I. -I…/Common/include -I…/include -I…/…/Source/includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …/…/Source/portable/SDCC/Cygnal/port.c
sdcc --model-large -I. -I…/Common/include -I…/include -I…/…/Source/include -
DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep --i
nt-long-reent --float-reent main.c ParTest/ParTest.rel serial/serial.rel …/Comm
on/Full/flash.rel …/Common/Full/print.rel …/Common/Minimal/integer.rel …/Comm
on/Minimal/PollQ.rel …/Common/Minimal/comtest.rel …/Common/Full/semtest.rel …
/…/Source/tasks.rel …/…/Source/queue.rel …/…/Source/list.rel …/…/Source/p
ortable/MemMang/heap_1.rel …/…/Source/portable/SDCC/Cygnal/port.rel
?ASlink-Warning-Couldn’t find library ‘mcs51’
?ASlink-Warning-Couldn’t find library ‘libsdcc’
?ASlink-Warning-Couldn’t find library ‘libint’
?ASlink-Warning-Couldn’t find library ‘liblong’
?ASlink-Warning-Couldn’t find library ‘libfloat’
ParTest/ParTest.rel: cannot open.
make: *** [main] Error 1

please look at ParTest/ParTest.rel again. I can find this file in the folder after i run make. but it sill throws the error. please look at the sdcc lib errors as well.
pls help

thanks
ajay

eoldynski wrote on Saturday, July 31, 2010:

I just started tring out FreeRTOS and have a project in mind, based using the 8051 Si Labs( Cygnal)  F120
and have the same problem stated in this post but I haven’t seen any resolution

Has there been a solution posted for this problem?

ed.

maartenbrock wrote on Friday, August 27, 2010:

The error about not found libraries is due to the fact that SDCC does not come with precompiled libraries for the -model-large -stack-auto combination. You need to build them yourself or download them as explained in the article. When using a recent version of SDCC unzip the files into “sdcc/lib/large-stack-auto”.