Technical discussions related to Analog Devices DSPs (including Blackfin, TigerSHARC, SHARC and ADSP-21xx DSPs).
Hello I'm working with VisualDSP++ 5.0 and an DSP TigerSharc TS-101. Just now, I'm working to implement an protocol based in "semaphores". To implement it I use an example code provided with my card. But the problem is that when I compile, I obtain the follow error: [Error li1021] The following symbols referenced in processor 'p0' could not be resolved: 'server_terminate [_server_terminate]' referenced from '.\Debug\semaphore.doj' 'ts_barrier [_ts_barrier]' referenced from '.\Debug\semaphore.doj' 'ts_fsema_release [_ts_fsema_release]' referenced from '.\Debug\semaphore.doj' ... Searching on Internet and in this forum, I've found that the problem is in my LDF file. But I don't know how I can create .ldf file that works in this situation. Can you help me? Can you indicate me some reference to solve it? Thanks a lot for your help Eduardo MÉNDEZ ------------------------------------
I am getting the same linker error! I'm using Visual DSP++ 5.0 with an ADSP 21369. The
error reads:
[Error li1021] The following symbols referenced in processor 'p0' could not be resolved:
'wavtable [_wavtable]' referenced from '.\Debug\blockProcess.doj'
'wavtable [_wavtable]' referenced from '.\Debug\sininit.doj'
Someone please help us! I am new to DSP in general and when I searched this error on line, it
does seem that many people run into it, but I was unable to find a solution that I understood.
Something involving LDF files and overloading. One recommendation was to go into project
options and check the box to "Use C++ exceptions libraries" for the Linker, but that
didn't stop the error. Is there anyone who can explain what is happenning and/or tell me how to
fix it? Thank you so much!!
------------------------------------
Hi, This error message is happening because the linker cannot find a symbol that is referenced. This could be because you forgot to include a file in the build, or that you are using section names in your source files that have no corresponding command in the LDF to map them to memory. From the Expert Linker, you could identify these unmapped input sections by seeing that they have a big red X through them. What you do is to expand the input section, then drag $OBJECTS (from the left pane in the Expert Linker) to the appropriate output section (in the right pane of the Expert Linker). This can also be done by opening the LDF in a text editor and including the sections() command in the appropriate output section. You should check out the Linker and Utilities manual and read up on the LDF (Linker Description File). Incidentally, this topic of understanding the linking process for Analog Devices processors is one of many we discuss in our 3.5 day workshops on developing for either Blackfin, Sharc, or TigerSharc processors. Please visit our website for more info. Cheers, George Kadziolka Kaztek Systems www.kaztek.com From: a...@yahoogroups.com [mailto:a...@yahoogroups.com] On Behalf Of a...@bluetomato.us Sent: Monday, April 28, 2008 11:39 AM To: a...@yahoogroups.com Subject: [adsp] Re: Error li1021 I am getting the same linker error! I'm using Visual DSP++ 5.0 with an ADSP 21369. The error reads: [Error li1021] The following symbols referenced in processor 'p0' could not be resolved: 'wavtable [_wavtable]' referenced from '.\Debug\blockProcess.doj' 'wavtable [_wavtable]' referenced from '.\Debug\sininit.doj' Someone please help us! I am new to DSP in general and when I searched this error on line, it does seem that many people run into it, but I was unable to find a solution that I understood. Something involving LDF files and overloading. One recommendation was to go into project options and check the box to "Use C++ exceptions libraries" for the Linker, but that didn't stop the error. Is there anyone who can explain what is happenning and/or tell me how to fix it? Thank you so much!! ------------------------------------
Thanks you for your responses
But, I think it's not the solution for me because I've not any item with a big red X through
them in my ExpertLinker. So, I think that my only solution is that my "symbols" are
not in included in the .ldf file: not unmapped, simply not included. But I don't find any way
to include them in the .ldf file. And I don't find any document with the precis instructions to
do this.
Thanks you a lot of for your help.
Eduardo Méndez
Hello
>
>I'm working with VisualDSP++ 5.0 and an DSP TigerSharc TS-101. Just now, I'm working to
implement an protocol based in "semaphores". To implement it I use an example code
provided with my card. But the problem is that when I compile, I obtain the follow error:
>
>[Error li1021] The following symbols referenced in processor 'p0' could not be resolved:
>'server_terminate [_server_terminate]' referenced from '.\Debug\semaphore.doj'
>'ts_barrier [_ts_barrier]' referenced from '.\Debug\semaphore.doj'
>'ts_fsema_release [_ts_fsema_release]' referenced from '.\Debug\semaphore.doj'
>...
>
>Searching on Internet and in this forum, I've found that the problem is in my LDF file.
But I don't know how I can create .ldf file that works in this situation.
>
>Can you help me? Can you indicate me some reference to solve it?
>Thanks a lot for your help
>
>Eduardo MÉNDEZ
>
>------------------------------------
------------------------------------
The symbols are associated with the sections defined explicitly (eg with se=
ction("section_name") ) or implicitly (ie default section names for code an=
d data). In order to see the unmapped sections, you need to have tried to =
build the application (which you must have done, otherwise you would not ha=
ve seen the li1021 error). The only reason I can think of why the unmapped=
sections do not appear is that possibly the files containing the symbols a=
re not included as part of the project list of source files.
You could open up the LDF in a text editor window and add the section names=
yourself. See the example below.
Example:
Output_section { // output section named here
INPUT_SECTION_ALIGN(4)=20=20=20=20=20=20=20=20=20=09
INPUT_SECTIONS(myFnc.doj(default_section)) // specific file mapped first =
using default section name
INPUT_SECTIONS($OBJECTS(default_section)) // then rest of default
INPUT_SECTIONS($OBJECTS(my_section)) // custom section name
INPUT_SECTIONS($OBJECTS(program) $LIBRARIES(program)) =
=20=20=20=20=20=20=09
} > MEM_SEGMENT // all mapped to the named memory segment
Cheers,
George Kadziolka
Kaztek Systems
www.kaztek.com
-----Original Message-----
From: a...@yahoogroups.com [mailto:a...@yahoogroups.com] On Behalf Of fired=
o...@yahoo.es
Sent: Tuesday, April 29, 2008 4:33 AM
To: a...@yahoogroups.com
Subject: [adsp] Re: Error li1021
Thanks you for your responses
But, I think it's not the solution for me because I've not any item with a =
big red X through them in my ExpertLinker. So, I think that my only solutio=
n is that my "symbols" are not in included in the .ldf file: not unmapped, =
simply not included. But I don't find any way to include them in the .ldf f=
ile. And I don't find any document with the precis instructions to do this.
Thanks you a lot of for your help.
Eduardo M=C3=83=C2=A9ndez
Hello=20
>
>I'm working with VisualDSP++ 5.0 and an DSP TigerSharc TS-101. Just now, I=
'm working to implement an protocol based in "semaphores". To implement it =
I use an example code provided with my card. But the problem is that when =
I compile, I obtain the follow error:=20
>
>[Error li1021] The following symbols referenced in processor 'p0' could n=
ot be resolved:=20=20=20=20=20=20=20=20
>'server_terminate [_server_terminate]' referenced from '.\Debug\semaphore.=
doj'=20=20=20=20=20=20=20=20
>'ts_barrier [_ts_barrier]' referenced from '.\Debug\semaphore.doj' =
=20
>'ts_fsema_release [_ts_fsema_release]' referenced from '.\Debug\semaphore.=
doj'=20=20=20=20=20=20=20=20
>...=20
>
>Searching on Internet and in this forum, I've found that the problem is in=
my LDF file. But I don't know how I can create .ldf file that works in thi=
s situation.=20
>
>Can you help me? Can you indicate me some reference to solve it?
>Thanks a lot for your help=20
>
>Eduardo M=C3=83=E2=80=B0NDEZ
>
>------------------------------------
------------------------------------
------------------------------------
Hello First of all, thanks you for all your responses. But I've not yet solved the problem. I think that the problem is not a problem about mapped or unmapped sections. With the help of Analog and Vmetro support I've solved certains errors. The problem's solution was this: In my LDF file, where you can read: $LIBRARIES = $LIBC, $IOLIB, $LIBDSP, $LIBCPP, $LIBSIM; You have to add "libbhl.dlb". So: $LIBRARIES = $LIBC, $IOLIB, $LIBDSP, $LIBCPP, $LIBSIM, libbhl.dlb; If I do this, I solve almost all errors of indefined symbols, except one. Now, the message error is: [Error li1021] The following symbols referenced in processor 'p0' could not be resolved: 'server_terminate [_server_terminate]' referenced from'.\Debug\semaphore.doj' And I don't know how I can solve this last error. Do you have any suggestion? Or do you know any reference useful to understand the ExpertLinker? Because I don't understand very well what's a .doj, or a .dlb file. Can you help me? Thanks a lot of for your help ------------------------------------