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.

Uneffective changes in TCF memory configuration

Hi everybody!

I'm working with DM6435. Right now I'm having some memory issues so I'm changing memory configuration by means of the TCF in my project. I have no problem about this because I know what I have to change, but after building the whole project (which doesn't retrieve errors) I check the generated .map file and I can see the changes have not been aplicated. Any idea why this is happening? Might it be a CCS issue? I've checked the paths and I think everything is ok.

Thanks in advance!

  • Can you post some examples of what you change and what the MAP file shows? Keep in mind that changes in the TCF file are appended when using the GUI (although the BIOS builder will use the last parameter it sees).

  • Thanks for your answer!

    I make changes in L1DSRAM (length and heap), CACHE_L1D (base and length) and DDR2 (heap) but they make no effect. The MAP file shows always the same values and they are different to the ones I set. It looks like the builder is not considering the TCF file. Nevertheless the MAP file is being generated each time I build the application.

    I knew about the appending when using the GUI. I will try erasing all the configurations I don't use.

  • R&D,

    If you can not make it work, please attach a simple test case were the issue occurs.

  • Thanks for your interest too.

    Ok, for example I set the following values in the .tcf graphic editor:

    · L1DSRAM:   length: 0x12000

    · CACHE_L1D:   length: 0x2000

    But after building the .map shows the following:

    · L1DSRAM:   length: 0x10000

    · CACHE_L1D:   length: 0x4000

    I have checked that the .map file has been generated again, so it's a matter of not considering the changes.

    After searching I found out that in the .tcf  "File specific options..." menu it was set the "Exclude file from build" checkbox. It might be due to this that the changes I make don't take effect. So I've tried unchecking this option but then, when building, I get 139 errors like this: "error: symbol (...) is defined multiple times". Any ideas what's going on?

  • In your project, are you using the cmd file generated by the tcf file? Do you have 2 cmd files?

    Also, the tcf file adds the rts library. So make sure that you are not adding another rts library in your project-> Build Options... Linker, Libraries...

    Can you post just the first few lines of the error for us to have an idea of what symbols it is duplicating?

  • I think I do have two cmd files (link.cmd and linker.cmd). What could be the problem about this?

    On the other hand, so far I found nothing about rts libraries.

    Here you are the first errors:

    >>   error: symbol trace$buf is defined multiple times:     
    >>   error: symbol TSK2$sts$sumfmt is defined multiple times:
    >>   error: symbol _BIOS_init is defined multiple times:
    >>   error: symbol TSK2$stack is defined multiple times:
    >>   error: symbol __HOOK_switchFxnTable is defined multiple times:
    >>   error: symbol DDR2 is defined multiple times:
    >>   error: symbol LOG_system$buf is defined multiple times:
    >>   error: symbol DVTEvent_Log$buf is defined multiple times:
    >>   error: symbol UDEV_I2C0$obj is defined multiple times:
    >>   error: symbol RTA_toHost$pipe$dtab is defined multiple times:
    >>   error: symbol TSK0 is defined multiple times:
    >>   error: symbol TSK1 is defined multiple times:
    >>   error: symbol TSK2 is defined multiple times:
    >>   error: symbol __HOOK_exitFxnTable is defined multiple times:

    etc.

    Thanks again!

  • Those symbols are not from rts, but DSP/BIOS.

    R&D said:
    I think I do have two cmd files (link.cmd and linker.cmd). What could be the problem about this?

    There is no problem in using more then one .cmd file, as long as they do not conflict. For example, there should be only one cmd file that is generated by the tcf file, and the other one should be for additional custom configurations.

    The .tcf file when compiled, generates a .cmd file. For example, if your tcf is called "myproject.tcf", when compiled it will generate a file "myprojectcfg.cmd". In order for the configurations in the tcf file to take effect, you need to add this cmd file to your project. Can you check if that is being added? It does not seem that it is looking at the names.

    What intrigues me is that the tcf file was being excluded from build before. That could mean that someone got a cmd file generated by the tcf and renamed and added to the file. So I think someone intentionally did not want the tcf configurations to change. But this is just speculation from my part.

    So make sure that the cmd generated by the tcf is there and that it does not conflict with the other cmd files.

     

  • Thank you very much for your tips!

    On the one hand, after having a look at them I don't think the .cmd files are conflicting.

    On the other hand, I've checked that a "myprojectcfg.cmd" file is being generated when building the application  with .tcf file set as not excluded. Then I tried adding this new .cmd file to the project but the errors keep on being the same after building again.  

    I'm absolutely lost...

  • R&D,

    If your project is not too big, you can attach it here so I can take a look. If it is big or you do not want to share all of it, try reducing it and attaching it.

  • I'm sorry, but I'm not allowed to attach it due to my company policy.

  • I searched a little more and I think you are probably using an XDC build, that is why your tcf file has to be excluded from build. Because the XDC is going to build it for you so you do not need CCS to build it again. That is why you are getting the double symbols.

    So your problem is that with the XDC build the changes in the tcf file are not taking effect (back to the beginning). Let me search a little more as I'm not an specialist on XDC.

    In the mean time, try to confirm if your project looks like its using XDC build.

     

  • Thanks again for your help!

    I guess I'm using the XDC build as long as the errors report a conflict between files contained in the XDC and files generated during the .tcf compilation. In that case, my question would be: where else can I change the memory configuration (base, length, heaps, etc.) apart from the .tcf? If there is another way to do it maybe that is my best option right now.

    Did I say thanks? [:)]

  • R&D,

    To confirm that you are using  XDC build you simple see if you have *.cfg file included in the project.  When using a combination of CFG and TCF in a single CCS3.3 project, you must make sure of a few things:

    1. The CFG and TCF have the same name: myApp.tcf and myApp.cfg

    2. Both TCF and CFG files should reside in the same directory.

    3. The TCF file should be excluded from the CCS project build.

    4. The correct options to build the project are set (see bellow).  Set the "Include a tconf *.tcf file in the build" option and make sure the appropriate Target and Platform are set for the device.

     

  • Thank you very much Mariana! It was an issue about the CFG file.

  • Hi R&D,

     I've got exactly the same problem, could you tell me how you correct it please ?

  • Can annyone help me,thank you

  • Are you saying that if you tell the .tcf file to locate the .text in ISRAM, then change it to locate the .bss in SDRAM that the change does not occur as verified by the .map file? Can you send me a copy of the .tcf and .map files from both before and after? I need a way to review or reproduce what is going on.

  • My project has .tcf and .cfg  file,.tcf  "File specific options..." menu it was set the "Exclude file from build" checkbox,the project is using XDC build, I don't know how to use L1D and L2D,

  • Have you read Mariana's suggestions posted on the first page?

    http://e2e.ti.com/forums/p/11021/44173.aspx#44173

  • thank you,TimHarron

    Yes, I have read it ,and my project options to build the project are set  as he said.

    R&D replied on 10-19-2009 9:55 AM

    Thank you very much Mariana! It was an issue about the CFG file.

    but I don't know how to crrect cfg file?

    thank you, expect your timely reply.