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.

6678L memory problem

Hi

I'm trying to do a multi-core programming test on 6678L.  My code is based on the image processing demo and the CFG file is basicly the same.  When I compile, the following errors happen. Can anybody tell me what causes those errors?

ERRORS:

#10251: ("xdc.meta:multi_master_pe66.oe66") INTERNAL ERROR: C:\Program Files\Texas Instruments\ccsv5\tools\compiler\c6000\bin\lnk6x.exe aborted This is a serious problem.  Please contact Customer Support with this message and a copy of the input file and help us to continue to make the tools more robust.

Linking failed. Check the Console window for details.

no valid memory range(NULL) available for placement of ".cinit"

no valid memory range(NULL) available for placement of ".const"

no valid memory range(NULL) available for placement of ".far:NDK_OBJMEM"

no valid memory range(NULL) available for placement of ".far:NDK_PACKETMEM"

no valid memory range(NULL) available for placement of ".switch"

no valid memory range(NULL) available for placement of ".text"

no valid memory range(NULL) available for placement of ".vecs"

placement fails for object ".cinit", size 0x21a6 (page 0) res_mgr_init_qmss       ./master.obj slave_main              C:\Documents and Settings\Administrator\workspace\multi_master\Debug\configPkg\package\cfg\multi_master_pe66.oe66

placement fails for object ".const", size 0x633c (page 0)

placement fails for object ".switch", size 0x230 (page 0)

placement fails for object ".text", size 0x5fb40 (page 0)

placement fails for object ".vecs", size 0x200 (page 0)

placement fails for object "xdc.meta", size 0x128 (page 0)

run placement fails for object ".far:NDK_OBJMEM", size 0x600 (page 0)

run placement fails for object ".far:NDK_PACKETMEM", size 0x52b00 (page 0)

unresolved symbol Osal_platformFree, first referenced in C:\Program

unresolved symbol Osal_platformMalloc, first referenced in C:\Program

unresolved symbol Osal_platformSpiCsEnter, first referenced in C:\Program

unresolved symbol Osal_platformSpiCsExit, first referenced in C:\Program

unresolved symbol Please, first referenced in contact

unresolved symbol res_mgr_init_cppi, first referenced in ./master.obj

unresolved symbol res_mgr_init_pass, first referenced in ./master.obj

unresolved symbol This, first referenced in application

  • Yang Lu

    First you notice that the errors came from file with extension xxx.oe66. This is internal file that is generated by the system and not by you.  So it looks to me that the RTSC system is not configured correctly.

    1.     First try and see if you can build the image processing demo exactly as it is.  If you have problem building the original project without any change, let me know.
    2.   Next try to copy the image processing demo to a different location and build it. See the results.
    3.  If you can build the demo code look at the cfg files and see the differences between your file and the demo file. This can give you a hint what is wrong.  Do you have a different linker command file?
    4. And as last resort, zip the entire directory of your project and attach it to the e2e post.  I will have a look.

     

    Ran

  • Usually, the "placement fails" errors are due to the program/data not fitting into the memory segments defined by the platform.

    The linker "INTERNAL ERROR" is a little troubling but could simply be a very ugly manifestation of the placement errors.

    Can you upload a project.zip file for us to have a look at?

    Alan

  • Hi Ran,

    Thank you for you reply!  As you mentioned, I have tried to build the image processing demo exactly as it is.  When I import the whole project as the doc 'MCSDK Image Processing Demonstration Guide' guided, it can be built successfully.  However, if I create an empty RTSC project and just copy all the .C and .head files and the CFG file in, the same kind of errors will show up as I build the project.  I have compared the generated files in the Debug folder with the successfully built case and I found that there is no 'Linker Address Map' with the case that I create the project myself.  Yet copying the 'Linker Address Map' into the folder still doesn't work to solve the problem.  Are there other files that I have to added to the project?  Or are there other settings I have to take care with?

    Regards,

    Yang

  • Hi Alan,

    Thank you for your reply!  I believe that the errors are due to my lacks of certain files or settings.  Currently I'm trying to build the image processing demo exactly as it is.  Anyway I still meet the same kind of errors.  The problem is as I mentioned above in the reply to Ran.  Could you help me to find out what I lack?  Thanks!

    Regards,

    Yang

  • Hi Yang

     

    One more thing.  When you start your RTSC project,  look at the RTSC components and see if there are repository that do not exist in the original example.

    Sometimes the system picks up repositories that should not be picked up.  If this is the case, uncheck the new repositories and try to build again

     

    Ran

  • Hi Ran,

    Thank you for your reply!  I have tried the way you mentioned which is to uncheck the new respositories, but it doesn't help.  However, when I do this, I find that the content in the tag "RTSC platform(-p)" which is in Property -> C/C++ Build -> Settings -> XDCtools -> Basic Options -> RTSC platform(-p) is different from that in the original project.  In the project I create, I choose the platform ti.platforms.evm6678, and the platform of the original project is demos.image_processing.ipc.evmc6678l.platform, which doesn't exist in the platform choice blank when create a project.  So I change the platform in my project to be the original one, and at the same time I have to add "${TI_MCSDK_INSTALL_DIR}" to the Package Repositories tag in order to enable the platform (this isn't automatically generated by using default Package Repositories), and this time the project is built successfully!  So is it that I must use demos.image_processing.ipc.evmc6678l.platform as the RTSC platform to run the demo?  What should I do if want to utilize ti.platforms.evm6678 to run my multi-core application?

    Regards,

    Yang

  • Yang, 

     

    This is very interesting.  Thank you for the posting.

    To understand what happends you must look at the target platform.  The special target platform defines memories with certain memory names that are used by the build.

    To see it  go in the debug prospective to the tool tab -> RTSC tools -> platform -> edit/view    and look at teh two platform and see the differences

    The code might have reference (pragma for example) to a memory name that is in the special platform and not in the standard platform.  Or there might be a different memory region that is not cacheable (to use the shared memory to communicate between cores) or something like this

    Then you can think about how to use the standard platform.

    Ran

  • Hi Ran,

    Thank you for your prompt response!  I tried your suggestion, but I don't know what should I put in the Platform Package Repository blank.  I tried to browse various folders, but they all seem incorrect.

    Regards,

    Yang

  • Find the repository where the platform is defined.  (One way to do it is to try and define new platform, and see what type of extension is defined by the platform, and then look for files with the same extension).  remember that the repository location is the packages directory location. 

     

    When you allocate the repository,  continue

     

    Ran

  • Hi Ran,

    Thank you for your reply!  I have compared the two target platforms and find the differences between them.  The special target platform does define memories with special memory names.  Also the capacity of L2 Cache in the special platform is set to be 256k, while in the standard platform is 0k.  I create a new platform exactly as the special one and use it to build the image_processing demo and it works successfully!  I will next try to do my own application under the framework of the image_processing demo.  Thank you so much for your help!

    Regards,

    Yang