This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: IPC linker error

Part Number: AM5728

RTOS Processor SDK 5.03

I can build and run these two examples:

ex02_messageq per SDK LINUX Software Developers Guide (SDG): 3.7.2  Build IPC Linux examples

GPIO_LedBlink_evmAM572x_c66xExampleProject per SDK RTOS  SDG: 1.4.5.1.5. Steps to run example and/or unit test projects on C66x/A15 Target

However I am having problem with the next step of combining above two examples per instructions in SDK RTOS SDG 10.2.4.1.5. Adding IPC to an Existing TI-RTOS Application on slave cores.

I am getting the following linker error:

#10099-D  program will not fit into available memory.  run placement with alignment fails for section ".fardata" size 0x4001801 .  Available memory ranges: linker.cmd /GPIO_LedBlink_evmAM572x_c66xExample_w_ipc/Debug/configPkg    line 240 C/C++ Problem

Are there known corrections to be made in the 10.2.4.1.5 sections for successful build?

I have tried to build the "zipped" version referenced in the SDG - GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.zip.

This didn't get past the XDCtools build stage.

  • Hello,

    I'm not sure why you are getting that error. You can try increasing the size of the memory section or turning on optimization.

    I downloaded the zip file and was able to build the project after making a couple changes:

    1. Resolved paths for the linked files.

    2. Added "evmAM572x" to the predefined symbols list.

    I've attached the project below for your use.

    1346.GPIO_LedBlink_evmAM572x_c66xExampleProject_with_ipc.zip

  • Thank you Sahin for looking at this.

    Your attachment of the "1346.GPIO ....zip"  built successfully when I changed the XDCtools version to 3.51.1.18_core.

    It produced build errors when using 3.32.2.25_core (to replace the 3.32.0.06_core setting in your zip) 

    I am running CCS 8.3.0 with SDK version 5.03 for both Linux and RTOS.

    Second,

    Has someone at TI verified the instructions in SDK RTOS SDG 10.2.4.1.5. Adding IPC to an Existing TI-RTOS Application on slave cores.

    I would still like to know why my project made per above instruction is failing to build with a linker error.

    I checked my edits several times.

    Is there a way for me to send you my zipped project for examination?

    Thanks again.

  • AnotherEmbeddedGuy said:

    Your attachment of the "1346.GPIO ....zip"  built successfully when I changed the XDCtools version to 3.51.1.18_core.

    It produced build errors when using 3.32.2.25_core (to replace the 3.32.0.06_core setting in your zip) 

    That's my mistake. XDCtools version 3.51.01.18 is the correct version to build with for PRDSK 5.3, per the Component Version table in the Release Notes.

    AnotherEmbeddedGuy said:

    Has someone at TI verified the instructions in SDK RTOS SDG 10.2.4.1.5. Adding IPC to an Existing TI-RTOS Application on slave cores.

    I would still like to know why my project made per above instruction is failing to build with a linker error.

    I checked my edits several times.

    Is there a way for me to send you my zipped project for examination?

    They were verified at the time this article was published, but we suspect the project's dependencies have gotten bigger since then which is causing the linker to complain about not having enough memory. A quick test would be to turn on optimization and see if the problem goes away. You can also zip up your project and attach it here so I can take a look myself. 

  • I tried three optimization settings - Local, Global, and Interprocedure.  All produced the same linker error.

    In the attached project I've included the build console output named "build.log".

    I am noting that there's quite a bit of difference in the "gpio_test_evmAM572x.cfg" between what I created per SPG and what you sent.

    Thank you.

    GPIO_LedBlink_evmAM572x_c66xExample_w_ipc.zip

  • Thank you for uploading your project. It looks like the guide needs to be updated.

    And thank you for bringing this to our attention. In the meantime, please use the project that comes zipped with the document or the one I attached above.

    Regards,
    Sahin

  • Thank you Sahin for your attention,

    Given the huge amount of information there is for you (TI) to communicate to users (on Sitara/SDK), you are doing an admirable job in organizing and packaging manuals and examples.  However, because of that large volume of information, it’s easy for a user like me to feel lost and stuck when we encounter information that’s outdated and/or incorrect.

    I was wondering if TI would/could organize and offer hands-on lab based classes on Linux-ARM/RTOS-DSP/IPC ?  

    With a live instructor, many hang ups arising from mistakes by learners or errors in published materials can be quickly addressed.

    I would be much interested in such multi-day, fee-based classes.

    You can close this issue report.

    Thanks again.

  • Aren't we all just "another embedded guy?" Hah. So Sahin and the multi-core team forwarded me this forum message. I will be brief. The answer is YES, we can create and deliver is training. Right now, my company, Mindshare Advantage has labs/solutions/self-paced workshops for MCUs, DSPs, C674x - but not multi-core devices in the area embedded Linux on ARM, IPC. We already have the solution for DSP (C674x) and RTOS. However, these are all based on old tools, software and IDEs.

    Recently, we have picked up our pace on re-designing this workshop to be both self-paced and taught live. We are launching with SimpleLink devices first followed by C2000,  C6000, AM572x ICE, AM335x ICE and AWR. This assumes a SINGLE core running TI-RTOS.

    We will then expand our reach to AM572x Linux/ARM and IPC in terms of training. What we have already done and is finished - is our ability to contract with companies to design and implement their AM572x code ourselves. We have been so busy designing software for Automotive and Industrial accounts that we have not formalized any training based on this - but we can contract with companies to write the software (and design the hardware) for them.

    So the direct answer to your question is...it will be a year or two before we have standardized workshops (live or online) based on the topics you mentioned. But starting yesterday, we can consult with companies and/or build their software/hardware for them if based on AM572x.

    You can contact us via my email address ericw@mindshareadvantage.com and let's chat. Sahin and his managers at TI can vouch for our services. FYI - myself and a few others at Mindshare Advatnage were part of the old Technical Training Organization at TI who used to design, develop and teach these workshops worldwide for TI up until 2015.

    So if the need is training online, we won't have a product for a while. If it is live training for any client in the US, we can support that today. If the client needs consulting and/or contract services, we can supply this today on all topics - Linux/ARM, DSP/RTOS and IPC. We can even show them working code examples inside our own framework that solve these problems easily and quickly. Our estimate is that the framework alone can save users /comapanies 8-12 weeks of engineering time.