Other Parts Discussed in Thread: TMS470R1B1M
I have an older project that I need to make some modifications but I am encountering issues flashing the image using the J-Trace probe.
The flashloader appears to download correctly but stops after this point. This is a blank processor so the protection keys are all 1s or not secured.
Here is the debug output:
Fri Jan 08 10:04:04 2016: Loaded macro file: C:\Projects\scs150\MemoryConfig\FlashTMS470R1B1M.mac
Fri Jan 08 10:04:04 2016: Logging to file: C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0\arm\cspycomm.log
Fri Jan 08 10:04:04 2016: DLL version: V3.72a, compiled Jun 18 2007 18:58:11
Fri Jan 08 10:04:04 2016: Firmware: J-Link ARM V6 compiled Jun 20 2012 19:43:26
Fri Jan 08 10:04:04 2016: JTAG speed is initially set to: 32 kHz
Fri Jan 08 10:04:04 2016: Software reset was performed
Fri Jan 08 10:04:04 2016: Initial reset was performed
Fri Jan 08 10:04:04 2016: J-Link found 1 JTAG device. ARM core Id: 3100E02F(ARM7)
Fri Jan 08 10:04:04 2016: Device at TAP0 selected
Fri Jan 08 10:04:04 2016: execUserFlashInit
Fri Jan 08 10:04:04 2016: Executing memory setup macro B1M Flash
Fri Jan 08 10:04:05 2016: RTCK is not connected
Fri Jan 08 10:04:05 2016: Auto JTAG speed: 8000 kHz
Fri Jan 08 10:04:05 2016: 5494 bytes downloaded and verified (11.46 Kbytes/sec)
Fri Jan 08 10:04:05 2016: Loaded debugee: C:\Projects\scs150\MemoryConfig\FlashTMS470R1B1M.d79
Fri Jan 08 10:04:05 2016: Target reset
Fri Jan 08 10:05:06 2016: Debug session aborted.
The MAC file is mostly like the default with the addition of memory select 5 (external). Here is the MAC file:
PrepareMemory( )
{
__message "Executing memory setup macro B1M Flash\n";
__emulatorStatusCheckOnRead(0);
/* disable illegal address reset */
__writeMemory32( 0x00004007, 0xffffffe0, "Memory" ) ; // SYSECR
/* set memory select 0 block size to 1M */
__writeMemory32( 0x000000B0, 0xfffffe04, "Memory" ) ; // MFBALR0
__writeMemory32( 0x00000000, 0xfffffe00, "Memory"); // MFBAHR0
/* activate RAM at 0x00000000 0k that is connected to memory select 1 */
__writeMemory32(0x00000000, 0xfffffe08, "Memory"); // MFBALR1
__writeMemory32(0x00000000, 0xfffffe0c, "Memory"); // MFBAHR1
/* activate RAM at 0x00400000 32k that is connected to memory select 2 */
__writeMemory32( 0x00000040, 0xfffffe10, "Memory" ) ; // MFBAHR2
__writeMemory32( 0x00000070, 0xfffffe14, "Memory" ) ; // MFBALR2
/* activate RAM at 0x00000000 0k that is connected to memory select 3 */
__writeMemory32( 0x00000000, 0xfffffe18, "Memory" ) ; // MFBAHR3
__writeMemory32( 0x00000000, 0xfffffe1c, "Memory" ) ; // MFBALR3 0K
/* activate HET RAM at 0x00800000 1k that is connected to memory select 4 */
__writeMemory32( 0x00000080, 0xfffffe20, "Memory" ) ; // MFBAHR4
__writeMemory32( 0x00000020, 0xfffffe24, "Memory" ) ; // MFBALR4
/* activate External RAM at 0x00500000 2M that is connected to memory select 5
__writeMemory32( 0x00000050, 0xfffffe40, "Memory" ) ; // MCBAHR2 Added by RB for SCS150
__writeMemory32( 0x00000070, 0xfffffe44, "Memory" ) ; // MCBALR2
__writeMemory32( 0x00000034, 0xfffffd14, "Memory" ) ; // SMCR5 */
/* activate new mapping by writing 1 to MFBALR0.8 */
__writeMemory32( 0x000001B0, 0xfffffe04, "Memory" ) ; // MFBALR0
__writeMemory32(0x80000000, 0xfffff724, "Memory");
// Only need when keys are modified
//__writeMemory32(0xFFFFFFFF, 0xfffff700, "Memory");
//__writeMemory32(0xFFFFFFFF, 0xfffff704, "Memory");
//__writeMemory32(0xFFFFFFFF, 0xfffff708, "Memory");
//__writeMemory32(0xFFFFFFFF, 0xfffff70c, "Memory");
__readMemory32(0x0000ffe0, "Memory");
__readMemory32(0x0000ffe4, "Memory");
__readMemory32(0x0000ffe8, "Memory");
__readMemory32(0x0000ffec, "Memory");
__emulatorStatusCheckOnRead(1);
__writeMemory32( 0x00000003, 0xffffffdc, "Memory" ) ; // GCR SYSCLK *8 and /4 = SYSCLK /1
}
execUserFlashInit( )
{
__message "execUserFlashInit\n" ;
PrepareMemory( ) ;
}
execUserReset( )
{
__message "execUserReset\n" ;
PrepareMemory( ) ;
}
Any ideas on how to troubleshoot this issue?
Thank you.