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.

SW Download to EVM6472

Dear all, 

We use the CCS Version 5.1.  We can not download a BIOS program to the specified above EVM. Even the Hello World can not be downloaded and executed.

 

  • Dr. Singer,

    Can you attach the hello world .out file?  What's the error message that you are getting?  You're headline says "SW Download to EVM6742", I just want to clarify that this is the right number, and you don't really mean the EVM6472?

    Regards,

    Dan

     

  • Dear Dan, 

    I mean the EVMC6472 manufactore by EInfochip.

    Sorry about the typos.

     

    Best regards,

    Yehuda

     

  • Thanks.  Can you describe the problem in more detail?  Are you getting an error message? 

    Regards,

    Dan

     

  • Dear Dan,

    Here is the error message.

    C64XP_A: GEL Output: PLL1 has been configured.

    C64XP_A: GEL Output: PLL2 has been configured.

    C64XP_A: GEL Output: PLL3 has been configured.

    C64XP_A: 2: GEL StartUp Complete (Primary Core).

    C64XP_A: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_A: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_A: GEL Output: Turn off cache segment

    C64XP_A: GEL Output: Disable EDMA events

    C64XP_B: 2: GEL StartUp Complete.

    C64XP_B: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_B: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_B: GEL Output: Turn off cache segment

    C64XP_B: GEL Output: Disable EDMA events

    C64XP_C: 2: GEL StartUp Complete.

    C64XP_C: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_C: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_C: GEL Output: Turn off cache segment

    C64XP_C: GEL Output: Disable EDMA events

    C64XP_D: 2: GEL StartUp Complete.

    C64XP_D: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_D: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_D: GEL Output: Turn off cache segment

    C64XP_D: GEL Output: Disable EDMA events

    C64XP_E: 2: GEL StartUp Complete.

    C64XP_E: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_E: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_E: GEL Output: Turn off cache segment

    C64XP_E: GEL Output: Disable EDMA events

    C64XP_F: 2: GEL StartUp Complete.

    C64XP_F: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

    C64XP_F: Trouble Writing Register PC: (Error -1176 @ 0x6040) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_F: GEL Output: Turn off cache segment

    C64XP_F: GEL Output: Disable EDMA events

    C64XP_D: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_E: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_F: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_D: Trouble Halting Target CPU: (Error -1139 @ 0x0) Lost debug connection to device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_E: Trouble Halting Target CPU: (Error -1139 @ 0x0) Lost debug connection to device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_F: Trouble Halting Target CPU: (Error -1139 @ 0x0) Lost debug connection to device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_A: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_B: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_C: Error: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.0.470.0) 

    C64XP_A: Power Failure on Target CPU 

    C64XP_B: Trouble Halting Target CPU: (Error -1139 @ 0x0) Lost debug connection to device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_C: Trouble Halting Target CPU: (Error -1139 @ 0x0) Lost debug connection to device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.0.470.0) 

    C64XP_A: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging

    THanks,
    Yehuda

  • Are you using a GEL file to initialize your memory prior to trying to load an application?  This looks like a either a case of the memory not being initialize properly before trying to write to it, or the application being linked to the incorrect locations.  Can you attach a .out file and the associated .map file for one of the applications you are having problems with?

     

    Regards,
    Dan

     

  • Dear Dan, 

    I have problems in attaching the files.

    PLease send me your Email. 

     

    Best regards,

    Yehuda

     

  • I don't think your Linker Command file is correct. The 6472 Memory Map shows the address range from 0x00000000 - 0x001FFFFF as reserved. 

     

    The .map file shows you have only 1 Memory Section defined, starting at 0x00000001. 

     

    MEMORY CONFIGURATION

             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      RAM                   00000001   fffffffe  00007502  ffff8afc  RWIX

     

    And the section allocation map shows that .text is linked starting at address 0x00000020.

    .text      0    00000020    00006420    
                      00000020    00000580     rts64plus.lib : _printfi.obj (.text:__getarg_diouxp)
                      000005a0    00000540                   : divd.obj (.text:__divd)
                      00000ae0    00000480                   : _printfi.obj (.text:__setfield)
                      00000f60    00000440                   : _printfi.obj (.text:__printfi)
                      000013a0    00000300                   : _printfi.obj (.text:_ecvt)

    Regards,
    Dan

     

     

  • Dear Dan, 

    Do you have a lnker  command file which suits the EVM?

     

    Thanks, 

    Yehuda

     

     

     

  • Addresses 0x800000-0x897FFF are L2SRAM.  If you just change the RAM section in your existing linker command file to have a start address of 0x800000 and a length of 0x20000, that should get you going initially, with everything in one big output section.

    Also, there should be some 6472 examples in MCSDK1.0 that have appropriate linker command files.  At some point, you may want to tweak it depending on the optimal placement of code and data sections in your application.  Refer to the memory map in the 6472 Datasheet for internal memory specifications.  The EVM documentation should document what external memory is implemented on the board, and may also document the internal memory map.

    Regards,

    Dan

     

  • Dr. Singer,

    Your linker command file is still not correct. As I mentioned earlier in this thread, The 6472 Memory Map shows the address range from 0x00000000 - 0x001FFFFF as reserved. You can't link code to this memory.  But when I check the memory allocation in the .map file,I see 6720 bytes still linked here.  Those bytes are all from the .text section (your program code).  The rest is linked at address 0x80000000 (BMEM).  This memory isn't implemented on my EVM.  My external memory starts at 0xE00000000.

     

    MEMORY CONFIGURATION

             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      PMEM                  00000020   0020ffe0  00006720  002098c0  RWIX
      EXT0                  00400000   01000000  00000000  01000000  RWIX
      EXT1                  01400000   00400000  00000000  00400000  RWIX
      EXT2                  02000000   01000000  00000000  01000000  RWIX
      EXT3                  03000000   01000000  00000000  01000000  RWIX
      BMEM                  80000000   02000000  00009818  01ff67e8  RWIX

    .text      0    00000020    00006720    

    This is still going to be the problem.  If the code isn't linked where memory is available, there will be errors when loading the code.  After you build a .out file, please check the .map file that is created and make sure that everythign is being put into a reasonable location that matches up witht he memory map of the board/device that you are using.

     

    Regards,

    Dan

     

  • Dear Dan, 

    The link command file generated automatically when creating a new project leads to this map file.

    Also, previous example from TI led to the same map file.

     

    Best regards,

    Yehuda

     

     

  • Which examples?  Were they specifically for this EVM?  The Linker Command file has to represent the actual memory map of the target board.   In a simulator, or some other target, this linker command file may work.  But on the EVM that you have, this doesn't match.  

     

  • Dear Dan, 

    The project is intended for target EVM6472. 

    More than that: 

    1. Take an older example for this EVM.

    2. Create a new project (nn empty) for this EVM.

    Best regards,

    Yehuda