Not Mapped Symbols on Blackfin 609

I declared my Video Buffers as follows in a source file:

/* Video buffers */ #pragma section ("DecoderBuf0", DM) static VIDEO_BUF VideoBuf0; #pragma section ("DecoderBuf1", DM) static VIDEO_BUF VideoBuf1;

while I declared in the header file :

typedef struct VIDEO_BUF { uint8_t               Data[VIDEO_BUF_SIZE] ; bool                  bIsEmpty ; struct VIDEO_BUF      *pNext; } VIDEO_BUF;

I keep having a problem of compilation when I am compiling my program... It says : The following Symbols are referenced, but not mapped

[Error li1060]  The following symbols are referenced, but not mapped:

        '_VideoBuf0' referenced from .\main.doj(program)

        '_VideoBuf1' referenced from .\main.doj(program)

What does it mean exactly?

  • Hi,

    The li1060 error is always preceded by an li2060 warning. Pay closer attention to the warning than the error, as the error is a symptom, while the cause is indicated by the warning.

    Your video buffer is given a custom section name using the #pragma section() directive. It is being placed in a section called "DecodeBuf0'. The li2060 warning will tell you there is data tagged as "DecodeBuf0", but there are no commands in the LDF to place this data.

    In order to place this buffer, your LDF needs to have an INPUT_SECTIONS command that handles the placement or "DecodeBuf0" data. Something like:

    INPUT_SECTIONS($OBJECTS(DecodeBuf0) $LIBRARIES(DecodeBuf0))

    If you are copying any code from an example, I recommend taking a look at the LDF for the example you are copying, as it will have custom INPUT_SECTIONS commands to map data that has a custom section name through a section pragma.

    Please ensure that you only make changes to your LDF within the generated $VDSG sections - any changes outside of a VDSG section will be discarded when the LDF is regenerated by the System Builder.

    Regards,

    Craig.

  • I have also moved this to the BF60x community, as it is specifically related to the ADSP-BF609.

    Regards,

    Craig.

  • Hi,


    I'm not sure I understand the question. If you are asking how to open LDF files, they can be opened in the VisualDSP++ editor by right-clicking and selecting "Open with Source Window", or it can be opened/edited in any text editor such as wordpad or programmers notepad, for example.

    Regards,

    Craig.

  • My apologies - of course you are using CrossCore Embedded Studio; you're using the BF609. Sorry for explaining the VDSP method.

    In CCES you can open the LDF file - "app.ldf" - by expanding your project in the Project in the Project Explorer pane. You will find the LDF in the "system\startup_ldf\" folder.

    Regards,

    Craig.

  • Hi,

    I would like to ask you then how to look at the LDF INPUT_SECTIONS commands to map data in the other examples so I could do the same for my new source files?

    B.R