<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LayerscapeのトピックRe: CWTAP connection failed when using CW to debug LS1043A</title>
    <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599689#M1634</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your reminder &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/ufedor"&gt;ufedor&lt;/A&gt;‌.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Root cause is that I didn't stop the U-Boot count down, and the board goes to a 32-bit Linux kernel before my debug.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Apr 2017 06:41:33 GMT</pubDate>
    <dc:creator>uncoldice</dc:creator>
    <dc:date>2017-04-12T06:41:33Z</dc:date>
    <item>
      <title>CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599683#M1628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using CW to debug LS1043ardb, and CWTAP is used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After building source code, and trying to debug the application on the board, I will met below error when dowloading:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Errors in Debug Server&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;---------------------------------&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Target connection failed. Please re-check the settings.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Processor: LS1043A&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Probe: //&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Additional error details:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;[CCS: subcore error during multicore operation]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the default &lt;STRONG&gt;LS1043A_RDB&amp;nbsp;&lt;/STRONG&gt;target connection configuration which is provided in CW. version of CW is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CodeWarrior Development Studio for QorIQ LS series - ARM V8 ISA&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;(c) Freescale Semiconductor, Inc. 2014. All rights reserved.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Learn more about CodeWarrior at&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.freescale.com%2Fcodewarrior" rel="nofollow" target="_blank"&gt;http://www.freescale.com/codewarrior&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Version: 11.2.0&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Build Id: 160115&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also I tried to run "source IDcode.tcl" on ccs, below is the output:&lt;/P&gt;&lt;P&gt;(bin) 57 % source IDcode.tcl&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Scanning for available TAPs connected via USB.....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+ Available Remote Connections&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+ 1 - CodeWarriorTAP - 00:04:9f:03:ae:f8&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+ 2 - CodeWarriorTAP - &amp;lt;Specify IP Address&amp;gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+ 3 - GigabitTAP - &amp;lt;Specify IP Address&amp;gt;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+ x - Exit Script without Changes&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;+&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Specify connection:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Configuring TAP Interface....&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Configured Connection: cwtap : 00:04:9f:03:ae:f8&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;TDO -----&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; | &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * Device 0 IDCODE: 5BA00477 Device: Unknown Device&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; * Device 1 IDCODE: 06B1001D Device: Unmapped FSL Device&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt; | &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;TDI -----&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;###################################################&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;# configTAP - Redefine TAP interface&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;# scanboard - Scans the target system&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;# and returns the JTAG IDCode &lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;# ir - Loopback test&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;#&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;###################################################&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please help to have a look what's the problem. Thank you very much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 03:53:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599683#M1628</guid>
      <dc:creator>uncoldice</dc:creator>
      <dc:date>2017-04-12T03:53:01Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599684#M1629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please run "Diagnose Connection" and provide the log&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="DC.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2261i5CCBC2F66A1195CC/image-size/large?v=v2&amp;amp;px=999" role="button" title="DC.jpg" alt="DC.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 04:44:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599684#M1629</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2017-04-12T04:44:20Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599685#M1630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the diagnose result, please help to have a look.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2342i3278ED33FE1A54AB/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2289i1EEF4274E4A92855/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, the connection configuration is:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2344i0AC8B0B70D66804D/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 04:55:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599685#M1630</guid>
      <dc:creator>uncoldice</dc:creator>
      <dc:date>2017-04-12T04:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599686#M1631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please try to modify the LS1043A_RDB Target Initialization File in the Main change the line:&lt;/P&gt;&lt;P&gt;useSafeRCW = False&lt;/P&gt;&lt;P&gt;to&lt;/P&gt;&lt;P&gt;useSafeRCW = True&lt;/P&gt;&lt;P&gt;and run "Diagnose Connection"&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 05:38:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599686#M1631</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2017-04-12T05:38:43Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599687#M1632</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;After that change, I will meet this problem when "connect":&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Errors in Debug Server&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;---------------------------------&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Target connection failed. Please re-check the settings.&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Processor: LS1043A&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Probe: CodeWarrior TAP (00:04:9f:03:ae:f8)&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;Additional error details:&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;[GTA: all targeted cores are in unsupported aarch32 mode]&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"diagnose connection" will return same result as I attached in last reply.&lt;/P&gt;&lt;P&gt;BTW, the initialization file content is like below:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;python&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# Copyright (C) 2015, Freescale Semiconductor, Inc.&lt;BR /&gt;# All Rights Reserved&lt;BR /&gt;###################################################################&lt;/P&gt;&lt;P&gt;import gdb&lt;BR /&gt;import time&lt;BR /&gt;import ctypes&lt;/P&gt;&lt;P&gt;CORE_CONTEXT = ":ccs:LS1043A:CortexA53#0"&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;###################################################################&lt;BR /&gt;# Utility functions&lt;BR /&gt;###################################################################&lt;/P&gt;&lt;P&gt;#This function should be used instead of gdb.execute in all cases when the value returned is used in the script&lt;BR /&gt;def gdb_exec(command, from_tty, to_string):&lt;BR /&gt; """Execute a gdb command, remove the echo if it appears, handle the exception"""&lt;BR /&gt; try:&lt;BR /&gt; string = gdb.execute(command, from_tty, to_string)&lt;BR /&gt; echo_command = "+++" + command + "\n"&lt;BR /&gt; if string is not None and string.startswith(echo_command):&lt;BR /&gt; return string[len(echo_command):]&lt;BR /&gt; else:&lt;BR /&gt; return string&lt;BR /&gt; except StandardError as msg:&lt;BR /&gt; print("\nError when executing gdb command: " + command)&lt;BR /&gt; print(msg)&lt;BR /&gt; return None&lt;/P&gt;&lt;P&gt;# Swap utility function&lt;BR /&gt;def Swap32(x):&lt;BR /&gt; return (((x &amp;lt;&amp;lt; 24) &amp;amp; 0xFF000000) |&lt;BR /&gt; ((x &amp;lt;&amp;lt; 8) &amp;amp; 0x00FF0000) |&lt;BR /&gt; ((x &amp;gt;&amp;gt; 8) &amp;amp; 0x0000FF00) |&lt;BR /&gt; ((x &amp;gt;&amp;gt; 24) &amp;amp; 0x000000FF))&lt;/P&gt;&lt;P&gt;# Memory Modify&lt;BR /&gt;def MM(context, address, accessSize, space, value):&lt;BR /&gt; gdb.execute("monitor mem write %s %#x %d %s %#x" % (context, address, accessSize, space, value))&lt;BR /&gt; return&lt;/P&gt;&lt;P&gt;# Memory Display&lt;BR /&gt;def MD(context, address, accessSize, space):&lt;BR /&gt; return int(gdb_exec("monitor mem read %s %#x %d %s 1" % (context, address, accessSize, space), False, True), 16)&lt;/P&gt;&lt;P&gt;# CCSR BigEndian Modify&lt;BR /&gt;def CCSR_BE_M(address, value):&lt;BR /&gt; MM(CORE_CONTEXT, address, 4, "physical_noncoherent", value)&lt;BR /&gt; return&lt;/P&gt;&lt;P&gt;# CCSR BigEndian Display&lt;BR /&gt;def CCSR_BE_D(address):&lt;BR /&gt; return MD(CORE_CONTEXT, address, 4, "physical_noncoherent")&lt;/P&gt;&lt;P&gt;# CCSR LittleEndian Modify&lt;BR /&gt;def CCSR_LE_M(address, value):&lt;BR /&gt; return CCSR_BE_M(address, Swap32(value))&lt;/P&gt;&lt;P&gt;# CCSR LittleEndian Display&lt;BR /&gt;def CCSR_LE_D(address):&lt;BR /&gt; return Swap32(CCSR_BE_D(address))&lt;/P&gt;&lt;P&gt;# Register Modify&lt;BR /&gt;def RM(context, registerId, size, value):&lt;BR /&gt; gdb.execute("monitor reg write %s %#x %d %#x" % (context, registerId, size, value))&lt;BR /&gt; return&lt;/P&gt;&lt;P&gt;# Register Display&lt;BR /&gt;def RD(context, registerId, size):&lt;BR /&gt; return int(gdb_exec("monitor reg read %s %#x %d" % (context, registerId, size), False, True), 16)&lt;/P&gt;&lt;P&gt;# Template Config&lt;BR /&gt;def TMP_CFG(context, reg, data):&lt;BR /&gt; gdb.execute("monitor template config %s %#x %#x" % (context, reg, data))&lt;BR /&gt; return&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;###################################################################&lt;BR /&gt;# Reset&lt;BR /&gt;###################################################################&lt;BR /&gt;def Reset(useSafeRCW):&lt;BR /&gt; if useSafeRCW:&lt;BR /&gt; # Set rcw_src to hard-coded RCW option&lt;BR /&gt; gdb.execute("monitor rcw source set 0x9F")&lt;BR /&gt; # add here if you need to override other particular RCW values&lt;BR /&gt; # gdb.execute("monitor rcw data set RCW1 0x40282830 RCW9-10 0x00C12980 0x00002580")&lt;BR /&gt; gdb.execute("monitor rcw apply")&lt;/P&gt;&lt;P&gt;else:&lt;BR /&gt; try:&lt;BR /&gt; # This init requires target reset, irrespective of the user preference&lt;BR /&gt; #user_reset = gdb.parse_and_eval ("$reset")&lt;BR /&gt; userResetDelay = int(gdb.parse_and_eval ("$delay"))&lt;BR /&gt; except gdb.error:&lt;BR /&gt; userResetDelay = 0&lt;BR /&gt; gdb.execute("py-reset %d" % userResetDelay)&lt;/P&gt;&lt;P&gt;# RCPM_CESRD sticky bit which will get set when you deassert EVT_B0&lt;BR /&gt; # REMOVE EXTERNAL DEBUG REQUEST which we issue in ccs on ccs::reset_to_debug&lt;BR /&gt; CCSR_BE_M(0x20160704, 0x80000000)&lt;BR /&gt; CCSR_BE_M(0x20160708, 0x80000000)&lt;BR /&gt; CCSR_BE_M(0x2016070C, 0x80000000)&lt;/P&gt;&lt;P&gt;# Safeguard against reset skid on CMSISDAP&lt;BR /&gt; # Clear PC&lt;BR /&gt; RM(CORE_CONTEXT, 0x1DA29, 8, 0)&lt;BR /&gt; # Clear MMU, caches, aligment checks, WNX in SCTLR_EL3&lt;BR /&gt; SCTLR_EL3 = RD(CORE_CONTEXT, 0x1F080, 4)&lt;BR /&gt; SCTLR_EL3 = SCTLR_EL3 &amp;amp; 0xFFF7EFF0&lt;BR /&gt; RM(CORE_CONTEXT, 0x1F080, 4, SCTLR_EL3)&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# CCI Initialization&lt;BR /&gt;###################################################################&lt;BR /&gt;def Init_CCI():&lt;BR /&gt; # Set Terminate all barrier transactions bit of CCI-400 Control Register&lt;BR /&gt; # (needed for dsb instruction to succeed when doing coherent reads/writes)&lt;BR /&gt; # It will be disabled after DDR is initialized&lt;BR /&gt; CCSR_LE_M(0x01180000, 0x00000008)&lt;/P&gt;&lt;P&gt;# Enable snoop requests and DVM messages for A53 cluster slave interface 4&lt;BR /&gt; CCSR_LE_M(0x01185000, 0x00000003)&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# Boot Release&lt;BR /&gt;###################################################################&lt;BR /&gt;def Init_BRR():&lt;BR /&gt; # TODO: when we can detect the current context,&lt;BR /&gt; # release all cores for SMP, current core for AMP&lt;/P&gt;&lt;P&gt;# Write to BRR to release cores&lt;BR /&gt; CCSR_BE_M(0x1EE00E4, 0x0000000F)&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# DDR Initialization&lt;BR /&gt;###################################################################&lt;BR /&gt;def Init_DDRC():&lt;BR /&gt; # SDRAM_CFG&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x110, 0x450C000C)&lt;/P&gt;&lt;P&gt;# CS0_BNDS&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x000, 0x0000007f)&lt;BR /&gt; # CS0_CONFIG&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x080, 0x80010322)&lt;/P&gt;&lt;P&gt;# TIMING_CFG_0&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x104, 0xD0550018)&lt;BR /&gt; # TIMING_CFG_1&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x108, 0xC2C68C42)&lt;BR /&gt; # TIMING_CFG_2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x10C, 0x0048C114)&lt;BR /&gt; # TIMING_CFG_3&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x100, 0x020C1000)&lt;BR /&gt; # TIMING_CFG_4&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x160, 0x00000002)&lt;BR /&gt; # TIMING_CFG_5&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x164, 0x04401400)&lt;BR /&gt; # TIMING_CFG_7&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x16C, 0x13300000)&lt;BR /&gt; # TIMING_CFG_8&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x250, 0x03115600)&lt;/P&gt;&lt;P&gt;# SDRAM_CFG_2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x114, 0x00401010)&lt;/P&gt;&lt;P&gt;# SDRAM_MODE&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x118, 0x01010214)&lt;BR /&gt; # SDRAM_MODE_2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x11C, 0x0)&lt;/P&gt;&lt;P&gt;# SDRAM_INTERVAL&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x124, 0x18600618)&lt;/P&gt;&lt;P&gt;# DDR_WRLVL_CNTL&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x174, 0x8655F606)&lt;/P&gt;&lt;P&gt;# DDR_WRLVL_CNTL_2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x190, 0x05070600)&lt;BR /&gt; # DDR_WRLVL_CNTL_3&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x194, 0x0)&lt;/P&gt;&lt;P&gt;# DDR_CDR1&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0xB28, 0x80040000)&lt;BR /&gt; # DDR_CDR2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0xB2C, 0x0000A181)&lt;/P&gt;&lt;P&gt;# SDRAM_CLK_CNTL&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x130, 0x02000000)&lt;BR /&gt; # DDR_ZQ_CNTL&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x170, 0x8A090705)&lt;/P&gt;&lt;P&gt;# SDRAM_MODE_9&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x220, 0x00000400)&lt;BR /&gt; # SDRAM_MODE_10&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x224, 0x04000000)&lt;/P&gt;&lt;P&gt;# CS0_CONFIG_2&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x0C0, 0)&lt;/P&gt;&lt;P&gt;# SDRAM_CFG&lt;BR /&gt; CCSR_BE_M(0x1080000 + 0x110, 0xC50C000C)&lt;/P&gt;&lt;P&gt;# Poll for DDR to be initialized&lt;BR /&gt; count = 0&lt;BR /&gt; while True:&lt;BR /&gt; time.sleep(0.2)&lt;BR /&gt; SDRAM_CFG2 = CCSR_BE_D(0x01080114)&lt;BR /&gt; D_INIT = SDRAM_CFG2 &amp;amp; 0x10&lt;BR /&gt; count = count + 1&lt;BR /&gt; if (D_INIT == 0):&lt;BR /&gt; break&lt;BR /&gt; if (count &amp;gt; 20):&lt;BR /&gt; print "DDRC: Time out waiting for D_INIT"&lt;BR /&gt; break&lt;/P&gt;&lt;P&gt;ERR_DETECT = CCSR_BE_D(0x01080E40)&lt;/P&gt;&lt;P&gt;if (ERR_DETECT != 0):&lt;BR /&gt; print "Memory initialization error on DDRC!"&lt;BR /&gt; print format(ERR_DETECT, '08x')&lt;/P&gt;&lt;P&gt;time.sleep(1)&lt;/P&gt;&lt;P&gt;# Clear Terminate all barrier transactions bit of CCI-400 Control Register&lt;BR /&gt; CCSR_BE_M(0x01180000, 0x00000000)&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# IFC Initialization&lt;BR /&gt;###################################################################&lt;BR /&gt;def Init_IFC():&lt;BR /&gt; # Reset IFC&lt;BR /&gt; # GCR&lt;BR /&gt; CCSR_BE_M(0x0153040C, 0x8000F000)&lt;BR /&gt; time.sleep(0.1)&lt;BR /&gt; CCSR_BE_M(0x0153040C, 0x0000F000)&lt;BR /&gt; # Poll for reset to finish&lt;BR /&gt; count = 0&lt;BR /&gt; while True:&lt;BR /&gt; time.sleep(0.2)&lt;BR /&gt; GCR = CCSR_BE_D(0x0153040C)&lt;BR /&gt; SOFT_RESET = GCR &amp;amp; 0x80000000&lt;BR /&gt; count = count + 1&lt;BR /&gt; if (SOFT_RESET == 0):&lt;BR /&gt; break&lt;BR /&gt; if (count &amp;gt; 20):&lt;BR /&gt; print "IFC: Time out waiting for soft reset"&lt;BR /&gt; break&lt;/P&gt;&lt;P&gt;# CCR&lt;BR /&gt; CCSR_BE_M(0x0153044C, 0x04008000)&lt;BR /&gt; # Poll for stable clock&lt;BR /&gt; count = 0&lt;BR /&gt; while True:&lt;BR /&gt; time.sleep(0.2)&lt;BR /&gt; CSR = CCSR_BE_D(0x01530450)&lt;BR /&gt; count = count + 1&lt;BR /&gt; if ((CSR &amp;amp; 0x80000000) != 0):&lt;BR /&gt; break&lt;BR /&gt; if (count &amp;gt; 20):&lt;BR /&gt; print "IFC: Clock not stable"&lt;BR /&gt; break&lt;/P&gt;&lt;P&gt;NOR_CS = 0&lt;BR /&gt; NAND_CS = 1&lt;/P&gt;&lt;P&gt;# Check IFC_CSPR0. CPLD Chip select is assumed to be always 2.&lt;BR /&gt; CSPR0 = CCSR_BE_D(0x1530010)&lt;BR /&gt; # Check MSEL to see if NAND is on CS 0, otherwise assume NOR.&lt;BR /&gt; if ((CSPR0 &amp;amp; 0x7) == 0x3):&lt;BR /&gt; NOR_CS = 1&lt;BR /&gt; NAND_CS = 0&lt;/P&gt;&lt;P&gt;# CSPR_EXT&lt;BR /&gt; CCSR_BE_M(0x0153000C + NOR_CS * 12, 0x00000000)&lt;BR /&gt; # CSPR&lt;BR /&gt; CCSR_BE_M(0x01530010 + NOR_CS * 12, 0x60000101)&lt;BR /&gt; # AMASK&lt;BR /&gt; CCSR_BE_M(0x015300A0 + NOR_CS * 12, 0xF8000000)&lt;BR /&gt; # CSOR&lt;BR /&gt; CCSR_BE_M(0x01530130 + NOR_CS * 12, 0x0000800C)&lt;/P&gt;&lt;P&gt;# IFC_FTIM0&lt;BR /&gt; CCSR_BE_M(0x015301C0 + NOR_CS * 48, 0x1001000C)&lt;BR /&gt; # IFC_FTIM1&lt;BR /&gt; CCSR_BE_M(0x015301C4 + NOR_CS * 48, 0x1C000B09)&lt;BR /&gt; # IFC_FTIM2&lt;BR /&gt; CCSR_BE_M(0x015301C8 + NOR_CS * 48, 0x01102010)&lt;BR /&gt; # IFC_FTIM3&lt;BR /&gt; CCSR_BE_M(0x015301CC + NOR_CS * 48, 0x00000000)&lt;/P&gt;&lt;P&gt;# CSPR_EXT&lt;BR /&gt; CCSR_BE_M(0x0153000C + NAND_CS * 12, 0x00000000)&lt;BR /&gt; # CSPR&lt;BR /&gt; CCSR_BE_M(0x01530010 + NAND_CS * 12, 0x7E800083)&lt;BR /&gt; # AMASK&lt;BR /&gt; CCSR_BE_M(0x015300A0 + NAND_CS * 12, 0xFFFF0000)&lt;BR /&gt; # CSOR&lt;BR /&gt; CCSR_BE_M(0x01530130 + NAND_CS * 12, 0x85082100)&lt;/P&gt;&lt;P&gt;# IFC_FTIM0&lt;BR /&gt; CCSR_BE_M(0x015301C0 + NAND_CS * 48, 0x0E18070A)&lt;BR /&gt; # IFC_FTIM1&lt;BR /&gt; CCSR_BE_M(0x015301C4 + NAND_CS * 48, 0x32390E18)&lt;BR /&gt; # IFC_FTIM2&lt;BR /&gt; CCSR_BE_M(0x015301C8 + NAND_CS * 48, 0x01E0501E)&lt;BR /&gt; # IFC_FTIM3&lt;BR /&gt; CCSR_BE_M(0x015301CC + NAND_CS * 48, 0x00000000)&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;###################################################################&lt;BR /&gt;# Adds Flash devices for this board&lt;BR /&gt;###################################################################&lt;BR /&gt;def Config_Flash_Devices():&lt;BR /&gt; # Add NOR device&lt;BR /&gt; gdb.execute("monitor flash device alias nor name MT28EW01 address 0x60000000 ws_address 0x10000000 ws_size 0x1FFFF geometry 16x1 controller IFC")&lt;/P&gt;&lt;P&gt;# Add NAND device&lt;BR /&gt; gdb.execute("monitor flash device alias nand name MT29F4G08ABBDAv1 address 0x7E800000 ws_address 0x10000000 ws_size 0x1FFFF geometry 8x1 controller IFC")&lt;/P&gt;&lt;P&gt;# Add SD/eMMC device&lt;BR /&gt; gdb.execute("monitor flash device alias sd name SDSP16GB_LSCH2 address 0x00000000 ws_address 0x80000000 ws_size 0x1FFFF geometry 8x1 controller IFC")&lt;/P&gt;&lt;P&gt;#set nor as current device&lt;BR /&gt; gdb.execute("monitor flash current nor")&lt;/P&gt;&lt;P&gt;return&lt;/P&gt;&lt;P&gt;###################################################################&lt;BR /&gt;# Main&lt;BR /&gt;###################################################################&lt;/P&gt;&lt;P&gt;# Uncomment to enable RCW override&lt;BR /&gt;useSafeRCW = True&lt;BR /&gt;Reset(useSafeRCW)&lt;/P&gt;&lt;P&gt;Init_CCI()&lt;/P&gt;&lt;P&gt;Init_IFC()&lt;/P&gt;&lt;P&gt;Init_DDRC()&lt;/P&gt;&lt;P&gt;Init_BRR()&lt;/P&gt;&lt;P&gt;Config_Flash_Devices()&lt;/P&gt;&lt;P&gt;end&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 06:10:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599687#M1632</guid>
      <dc:creator>uncoldice</dc:creator>
      <dc:date>2017-04-12T06:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599688#M1633</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the future please attach big texts instead of "inline".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is the board capable to boot?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 06:14:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599688#M1633</guid>
      <dc:creator>ufedor</dc:creator>
      <dc:date>2017-04-12T06:14:10Z</dc:date>
    </item>
    <item>
      <title>Re: CWTAP connection failed when using CW to debug LS1043A</title>
      <link>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599689#M1634</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your reminder &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/ufedor"&gt;ufedor&lt;/A&gt;‌.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Root cause is that I didn't stop the U-Boot count down, and the board goes to a 32-bit Linux kernel before my debug.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Apr 2017 06:41:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/CWTAP-connection-failed-when-using-CW-to-debug-LS1043A/m-p/599689#M1634</guid>
      <dc:creator>uncoldice</dc:creator>
      <dc:date>2017-04-12T06:41:33Z</dc:date>
    </item>
  </channel>
</rss>

