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.
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.
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
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
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
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
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
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.