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.

Global addressing and NDK client.pjt

Hi,

 I am using C6474 EVM,CCS3.3 and NDK 2.0.0.  If I use global addressing for L2RAM (Instead of 0x00800000 ,0x10800000) in evmboard.tcf in client.pjt(NDK example project),ping gives request time out error.With L2RAM  local address of 0x00800000 ,everything works fine.Let me know how can I correct it?

Regards,

OCV

  • Can you let me know how are you changing the memory map in tcf.

    Thanks,

    Arun.

  •  Hi,

          Opened evmboard.tcf .Expand Memory Section Manager.Right click on L2RAM properties.Changed the base address in the text box given(instead of 0x00800000 to 0x10800000).

          I could see the changes in the .map file.

    Regards,

    OCV.

  • OCV,

    It is not totally clear what you are trying to do. But if it is working with the Local L2 address then why do you want to change it?

    RandyP

  • Hi,

    My team is  building the application which has NDK+DSP algorithms(core 0) and DSP algorithms in core 1and core2.If we need to do multicore booting through ethernet ,It should be global addressing.

    If I keep .far section as global L2 address,it doesn't ping and not able to communicate with the processor.

    regards,

    OCV.

  • When you load the Global L2 addressed version using CCS and start it running, stop it after a few seconds and see where it is running. Do this a few times to understand where it is idling. Try the same thing using the Local L2 addressed version and compare the two. Is the Global version lost or running in strange places?

    With the Global version, do you find any Local L2 addresses remaining in the .map file?

    In one post, you said you change the L2RAM starting address in the .tcf file, but above you said "If I keep .far section as global L2 address". These two statements imply a contradiction or else incomplete information.

    Your two version should be identical, except for a few places where the full address has to be specified. Have you tried any method to look for differences? I cannot think of an easy way to do that, but perhaps you have tried something?

    Regards,
    RandyP

  • Hi,

    When you load the Global L2 addressed version using CCS and start it running, stop it after a few seconds and see where it is running. Do this a few times to understand where it is idling. Try the same thing using the Local L2 addressed version and compare the two. Is the Global version lost or running in strange places?

      With global address,if I stop after a few seconds, PC points to  somewhere in .bios section (did multiple times,every time PC value  was different ).

    With the Global version, do you find any Local L2 addresses remaining in the .map file?

    There is no Local L2 addresses in the .map file in the global version.

    In one post, you said you change the L2RAM starting address in the .tcf file, but above you said "If I keep .far section as global L2 address". These two statements imply a contradiction or else incomplete information.

    Initially I was trying by changing only L2RAM address and it was not working.Later on I tried  with different combinations  and if I keep .far section in DDR2 and  all other sections in L2SRAM  with base  address as global,everything works fine.

    Your two version should be identical, except for a few places where the full address has to be specified. Have you tried any method to look for differences? I cannot think of an easy way to do that, but perhaps you have tried something?

    Only difference is evmboard.tcf modification which i mentioned in the earlier posts.

    Regards,

    OCV.


  • OCV,

    Please tell me if I have this understanding correct:

    1. With L2RAM=0x00800000 and .far in L2RAM, it works.

    2. With L2RAM=0x00800000 and .far in DDR2, it works.

    3. With L2RAM=0x10800000 and .far in L2RAM, it fails.

    4. With L2RAM=0x10800000 and .far in DDR2, it works.

    This is difficult to explain. After you confirm my understanding, we may move this thread to the BIOS forum where someone more familiar with NDK may be able to comment.

    RandyP

  • Hi,

     Whatever you mentioned is correct...

    Regards,

    OCV.

  • OCV,

    I am looking for someone more familiar with the NDK than I am.

    In the meantime, can you put together the .map and .cmd files for the four cases above to help with possible analysis, please? If that is too much work, then at least those files for the cases 3 and 4, but all of them if you can. Please name them identifiably and put all the files into a zip file. You can attach it using the Options link and giving the filename.

    Regards,
    RandyP

  • Hi,

    .map and .cmd files for all the four cases are attached.

    Regards,

    OCV.

    MAP&CMDFILES.rar
  • I find no reason to explain why the Global L2 with DDR2 fails and the other three all work.

    Do you have the tools to debug this down to a function call that fails and then to determine why it fails? We will look into it on our side, but if it is not easily duplicated then the debugging will need to be done on your end.