<?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>topic Re: Can openocd read call stack and local variable correct on i.mx6?Help in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477946#M75934</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;static int cortex_a_read_memory(struct target *target,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t address,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t size,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t count,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *buffer)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int mmu_enabled = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //uint32_t virt, phys;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct armv7a_common*&amp;nbsp;&amp;nbsp;&amp;nbsp; armv7a&amp;nbsp;&amp;nbsp;&amp;nbsp; = target_to_armv7a(target);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //struct adiv5_dap*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swjdp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = armv7a-&amp;gt;arm.dap;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //uint8_t apsel = swjdp-&amp;gt;apsel;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* cortex_a handles unaligned memory access */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOG_DEBUG("Reading memory at address 0x%" PRIx32 "; size %" PRId32 "; count %" PRId32, address, size, count);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* determine if MMU was enabled on target stop */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!armv7a-&amp;gt;is_armv7r)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_mmu(target, &amp;amp;mmu_enabled);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /////when I mark this section the local pointer variable is correct, but local variable is wrong too&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*if (armv7a-&amp;gt;memory_ap_available &amp;amp;&amp;amp; (apsel == armv7a-&amp;gt;memory_ap))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mmu_enabled)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virt = address;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_virt2phys(target, virt, &amp;amp;phys);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOG_DEBUG("Reading at virtual address. Translating v:0x%" PRIx32 " to r:0x%" PRIx32,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virt, phys);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address = phys;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_read_phys_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mmu_enabled)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_check_address(target, address);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable MMU as we could have disabled it for phys access */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_mmu_modify(target, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_read_apb_ab_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Jan 2016 09:20:35 GMT</pubDate>
    <dc:creator>fatalfeel</dc:creator>
    <dc:date>2016-01-12T09:20:35Z</dc:date>
    <item>
      <title>Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477942#M75930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;//debug source section&lt;/P&gt;&lt;P&gt;static void pl2303_gpio_set(struct gpio_chip *chip, unsigned offset, int value)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; struct pl2303_gpio *gpio = to_pl2303_gpio(chip);&lt;/P&gt;&lt;P&gt;&amp;nbsp; struct pl2303_gpio_desc *desc;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; mutex_lock(&amp;amp;gpio-&amp;gt;lock);&lt;/P&gt;&lt;P&gt;&amp;nbsp; desc = gpio-&amp;gt;descs + offset;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (value) //---&amp;gt;break here&lt;/P&gt;&lt;P&gt;&amp;nbsp; gpio-&amp;gt;data[desc-&amp;gt;value_offset] |= desc-&amp;gt;value_mask;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; gpio-&amp;gt;data[desc-&amp;gt;value_offset] &amp;amp;= ~desc-&amp;gt;value_mask;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; pl2303_vendor_write(desc-&amp;gt;value_ctrl, gpio-&amp;gt;data[desc-&amp;gt;value_offset], gpio-&amp;gt;serial);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; mutex_unlock(&amp;amp;gpio-&amp;gt;lock);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;////////////////////////////////////////openocd&lt;/P&gt;&lt;P&gt;/root/project_board/free_imx/myandroid/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-gdb&lt;/P&gt;&lt;P&gt;(gdb) target remote localhost:3333&lt;/P&gt;&lt;P&gt;(gdb) symbol-file /root/project_board/free_imx/out/matrix_io/kernel/vmlinux&lt;/P&gt;&lt;P&gt;(gdb) mon halt&lt;/P&gt;&lt;P&gt;(gdb) break /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:297&lt;/P&gt;&lt;P&gt;(gdb) continue&lt;/P&gt;&lt;P&gt;Breakpoint 1, pl2303_gpio_set (chip=0x800719bc, offset=3159793204, value=-2114730436)&lt;/P&gt;&lt;P&gt;&amp;nbsp; at /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:297&lt;/P&gt;&lt;P&gt;297 if (value)&lt;/P&gt;&lt;P&gt;(gdb) p value&lt;/P&gt;&lt;P&gt;$7 = -2114730436&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Breakpoint 1, pl2303_vendor_write (value=65535, index=65535, serial=0x0)&lt;/P&gt;&lt;P&gt;&amp;nbsp; at /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:218&lt;/P&gt;&lt;P&gt;218 return res;&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;index&lt;/P&gt;&lt;P&gt;$1 = (__u16 *) 0xbccb9d9c&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;value&lt;/P&gt;&lt;P&gt;$2 = (__u16 *) 0xbccb9d9e&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;res&lt;/P&gt;&lt;P&gt;$3 = (int *) 0xbccb9dac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6237342838164287378" title="https://picasaweb.google.com/106185541018774360364/IMx6#6237342838164287378"&gt;Picasa Web Albums - Jesse Stone - i.mx6&lt;/A&gt; -A&lt;/P&gt;&lt;P&gt;///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;(gdb) target remote /dev/ttyUSB0&lt;/P&gt;&lt;P&gt;Remote debugging using /dev/ttyUSB0&lt;/P&gt;&lt;P&gt;kgdb_breakpoint ()&lt;/P&gt;&lt;P&gt;&amp;nbsp; at /root/project_board/free_imx/myandroid/kernel_imx/kernel/debug/debug_core.c:1025&lt;/P&gt;&lt;P&gt;1025 arch_kgdb_breakpoint();&lt;/P&gt;&lt;P&gt;(gdb) break /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:297&lt;/P&gt;&lt;P&gt;Breakpoint 1 at 0x8075bfd0: file /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c, line 297.&lt;/P&gt;&lt;P&gt;(gdb) continue&lt;/P&gt;&lt;P&gt;Continuing.&lt;/P&gt;&lt;P&gt;Breakpoint 1, pl2303_gpio_set (chip=0xbc5e99e4, offset=0, value=0)&lt;/P&gt;&lt;P&gt;&amp;nbsp; at /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:297&lt;/P&gt;&lt;P&gt;(gdb) p value&lt;/P&gt;&lt;P&gt;$1 = 0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Breakpoint 1, pl2303_vendor_write (value=1, index=48, serial=0xbc5d7980)&lt;/P&gt;&lt;P&gt;&amp;nbsp; at /root/project_board/free_imx/myandroid/kernel_imx/drivers/usb/serial/pl2303.c:218&lt;/P&gt;&lt;P&gt;218 return res;&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;index&lt;/P&gt;&lt;P&gt;$10 = (__u16 *) 0xbccb9d9c&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;value&lt;/P&gt;&lt;P&gt;$11 = (__u16 *) 0xbccb9d9e&lt;/P&gt;&lt;P&gt;(gdb) p &amp;amp;res&lt;/P&gt;&lt;P&gt;$12 = (int *) 0xbccb9dac&lt;BR /&gt;&lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6237342837029124338" title="https://picasaweb.google.com/106185541018774360364/IMx6#6237342837029124338"&gt;Picasa Web Albums - Jesse Stone - i.mx6&lt;/A&gt;&amp;nbsp; -B&lt;BR /&gt;//////////////////////////////////////////////////////////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;value = 0 is correct on kgdb&lt;/P&gt;&lt;P&gt;openocd and kgdb symbol address are the same&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;openocd global variable is good, only local variable is wrong. can fixed it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and call stack jsut can see 2 or 3 layer.&lt;/P&gt;&lt;P&gt;kgdb can read all struct variable and call stacks&lt;/P&gt;&lt;P&gt;can make openocd like kgdb?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bug similar as this but not sure~~~how to fix openocd&lt;/P&gt;&lt;P&gt;&lt;A class="postlink" href="https://code.google.com/p/go/issues/detail?id=8256"&gt;&lt;/A&gt;&lt;A href="https://code.google.com/p/go/issues/detail?id=8256" target="test_blank"&gt;https://code.google.com/p/go/issues/detail?id=8256&lt;/A&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;/////////////////////////////////////////////&lt;/P&gt;&lt;P&gt;here is a way debug openocd with eclipse&lt;/P&gt;&lt;P&gt;c/c++ application: /root/openocd-0.9.0/src/openocd&lt;/P&gt;&lt;P&gt;arguments: -f /opt/openocd/share/openocd/scripts/interface/ftdi/dp_busblaster.cfg -f /opt/openocd/share/openocd/scripts/target/imx6.cfg&lt;/P&gt;&lt;P&gt;&lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6236887128760449330" title="https://picasaweb.google.com/106185541018774360364/IMx6#6236887128760449330"&gt;Picasa Web Albums - Jesse Stone - i.mx6&lt;/A&gt;- C&lt;BR /&gt;//////////////////////////////////////&lt;/P&gt;&lt;P&gt;i compare global and local variable in openocd&lt;/P&gt;&lt;P&gt;static int gdb_read_memory_packet(struct connection *connection, char const *packet, int packet_size)&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;into cortex_a_read_phys_memory&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get value is wrong on local variable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any idea for me?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 09 Jan 2016 01:18:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477942#M75930</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-09T01:18:39Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477943#M75931</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;That is something that is related to the openOCD features. I suggest you to ask in the openOCD forum&lt;/P&gt;&lt;P&gt;&lt;A href="http://openocd.org/discussion/forum/" title="http://openocd.org/discussion/forum/"&gt;Forum « Open On-Chip Debugger&lt;/A&gt; &lt;/P&gt;&lt;P&gt;There should not be a problem with the imx6q, J-Link, DStream tools are capable to get the call stack and local variables from the device.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alejandro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 00:40:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477943#M75931</guid>
      <dc:creator>alejandrolozan1</dc:creator>
      <dc:date>2016-01-12T00:40:58Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6 ?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477944#M75932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;tks Already asked, no response yet~~~~&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 05:24:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477944#M75932</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-12T05:24:40Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477945#M75933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I write local variable 0x03, address=0x4ccd7d86, buffer={0x03, 0x00}&lt;/P&gt;&lt;P&gt;retval = cortex_a_write_phys_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then Read local variable, address= 0x4ccd7d86&lt;/P&gt;&lt;P&gt;retval = cortex_a_read_phys_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;buffer = {0x03,0x00}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the value is 0x03 is ok~~~&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;get local variable still wrong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 06:04:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477945#M75933</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-12T06:04:39Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477946#M75934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;static int cortex_a_read_memory(struct target *target,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t address,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t size,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t count,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t *buffer)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int mmu_enabled = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //uint32_t virt, phys;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct armv7a_common*&amp;nbsp;&amp;nbsp;&amp;nbsp; armv7a&amp;nbsp;&amp;nbsp;&amp;nbsp; = target_to_armv7a(target);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //struct adiv5_dap*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swjdp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = armv7a-&amp;gt;arm.dap;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //uint8_t apsel = swjdp-&amp;gt;apsel;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* cortex_a handles unaligned memory access */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOG_DEBUG("Reading memory at address 0x%" PRIx32 "; size %" PRId32 "; count %" PRId32, address, size, count);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* determine if MMU was enabled on target stop */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!armv7a-&amp;gt;is_armv7r)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_mmu(target, &amp;amp;mmu_enabled);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /////when I mark this section the local pointer variable is correct, but local variable is wrong too&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*if (armv7a-&amp;gt;memory_ap_available &amp;amp;&amp;amp; (apsel == armv7a-&amp;gt;memory_ap))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mmu_enabled)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virt = address;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_virt2phys(target, virt, &amp;amp;phys);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LOG_DEBUG("Reading at virtual address. Translating v:0x%" PRIx32 " to r:0x%" PRIx32,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virt, phys);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address = phys;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_read_phys_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (mmu_enabled)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_check_address(target, address);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* enable MMU as we could have disabled it for phys access */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_mmu_modify(target, 1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (retval != ERROR_OK)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = cortex_a_read_apb_ab_memory(target, address, size, count, buffer);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 09:20:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477946#M75934</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-12T09:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477947#M75935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;/root/openocd-0.9.0/src/target/cortex_a.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;modify &lt;/P&gt;&lt;P&gt;armv7a-&amp;gt;memory_ap_available = true;&lt;/P&gt;&lt;P&gt;to&lt;/P&gt;&lt;P&gt;armv7a-&amp;gt;memory_ap_available = false;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;watch local variable of address value is correct.... still have local variable wrong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 11:38:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477947#M75935</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-12T11:38:36Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477948#M75936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use&amp;nbsp; Advanced Highperformance Bus can not read local address value&lt;/P&gt;&lt;P&gt;but use Advanced Peripheral Bus can read local address value&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jan 2016 12:22:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477948#M75936</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-12T12:22:51Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477949#M75937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://forum.sparkfun.com/viewtopic.php?f=18&amp;amp;t=42737&amp;amp;p=187296&amp;amp;sid=bac8323e4687157a7ef2147eee6b94dd#p187296" title="https://forum.sparkfun.com/viewtopic.php?f=18&amp;amp;t=42737&amp;amp;p=187296&amp;amp;sid=bac8323e4687157a7ef2147eee6b94dd#p187296"&gt;SparkFun Electronics • View topic - Can openocd read call stack and local variable correct?&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I fixed it&amp;nbsp; ~~~~~~~~~~~~~~~~~~~~&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;demo photo:&lt;/P&gt;&lt;P&gt; 1. &lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6233220201048247058"&gt;https://picasaweb.google.com/106185541018774360364/IMx6#6233220201048247058&lt;/A&gt; &lt;/P&gt;&lt;P&gt; 2. &lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6240074819468163938"&gt;https://picasaweb.google.com/106185541018774360364/IMx6#6240074819468163938&lt;/A&gt;&lt;/P&gt;&lt;P&gt; 3. &lt;A href="https://picasaweb.google.com/106185541018774360364/IMx6#6239524844608161106"&gt;https://picasaweb.google.com/106185541018774360364/IMx6#6239524844608161106&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jan 2016 11:04:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477949#M75937</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-13T11:04:45Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477950#M75938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://arttools.blogspot.tw/2009/09/debugging-on-cortex-a8-system.html" title="http://arttools.blogspot.tw/2009/09/debugging-on-cortex-a8-system.html"&gt;Tools for Art and Microcomputers: Debugging on the Cortex-A8, System Components&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;For configuring systems at start up, such as setting memory controller parameters, clocks and PLL registers, memory access through the AHB access port is good. This should also work well for writing to flash memories.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; For debugging code running on the MPU, the APB and access through the MPU core probably should be used, since this method avoids problems with virtual to physical address translations and also helps avoid cache coherency problems.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 Jan 2016 13:05:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477950#M75938</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-01-20T13:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: Can openocd read call stack and local variable correct on i.mx6?Help</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477951#M75939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;openocd debug linux kernel on i.mx6&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://www.youtube.com/watch?v=8K1qY3St06k" rel="nofollow"&gt;https://www.youtube.com/watch?v=8K1qY3St06k&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;openocd debug u-boot on i.mx6&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://www.youtube.com/watch?v=2L1vr_LA8Nc" rel="nofollow"&gt;https://www.youtube.com/watch?v=2L1vr_LA8Nc&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Feb 2016 05:57:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Can-openocd-read-call-stack-and-local-variable-correct-on-i-mx6/m-p/477951#M75939</guid>
      <dc:creator>fatalfeel</dc:creator>
      <dc:date>2016-02-24T05:57:42Z</dc:date>
    </item>
  </channel>
</rss>

