<?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: gdb / x86_64 / chroot friendly debugger launch script in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/gdb-x86-64-chroot-friendly-debugger-launch-script/m-p/545201#M9105</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by culyun on Fri Dec 30 05:42:36 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Well the good news is integrated vim debugging with the LPC-Link works a charm..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To start a vim hosted debugging session,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run pyclewn from the tty.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;pyclewn -p arm-eabi-gdb -g async&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pyclewn will bootstrap vim and present you with an empty buffer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NB. I'm not using Code Red's GCC tool chain here..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'll automate this soon, but for the moment run &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cmapkeys&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; from the vim console.&amp;nbsp; This script adds some nice key bindings for typical debugging stuff (step, breakpoints, continue, etc.).&amp;nbsp; More on Pyclewn's site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The buffer should now be showing Pyclewn's console, which is a mixture of gdb and its own goodness.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, load an executable file into the debugger using the &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cfile&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; command.&amp;nbsp; Pyclewn exports all (most?) of gdb's commands under the ":C" prefix, so for example gdb's list command is exported as ":Clist", etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, connect to the LPC-Link&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Ctarget extended-remote \| ./initArmTarget crt_emu_lpc11_13_nxp -4 -pLPC1227/301 -wire=winusb&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NB. The initArmTarget script should be put in a more sensible location, but I'm still developing the tools...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Wait... Anywhere from 1 s to 15 s on my PC.&amp;nbsp; The variation depends on whether the LPC-Link dfu code needs to be downloaded to the USB-debugger&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Voila, main.c should be shown in all its glory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point you should refer to the Pyclewn documentation, but I have to say that it works really well... Well almost.&amp;nbsp; There is currently one caveat.&amp;nbsp; The current Pyclewn release (1.7) has a bug that crashes vim when issuing the &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cdbgvar&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; command.&amp;nbsp; This has been fixed in trunk.&amp;nbsp; I couldn't wait for another release, so I just hack-installed Pyclewn trunk into my system.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a contingency, you can use :Cprint (ie. gdb) to inspect variables, but it's a pain..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Happy hacking.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:34:32 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:34:32Z</dc:date>
    <item>
      <title>gdb / x86_64 / chroot friendly debugger launch script</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/gdb-x86-64-chroot-friendly-debugger-launch-script/m-p/545200#M9104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by culyun on Tue Dec 27 05:32:07 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Code Red has a couple of wiki pages that talk about using the LPC-Link under Linux:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://support.code-red-tech.com/CodeRedWiki/UsingGDB&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://support.code-red-tech.com/CodeRedWiki/LPCLinkDiagnostics&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This bash script (see below) is used to bootstrap the backend debugger for gdb.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;eg.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;(gdb) target extended-remote | /home/me/scripts/initArmTarget crt_emu_lpc11_13_nxp -p2 -pLPC1227/301 -wire=winusb&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Why??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using an x86_64 ArchLinux distribution.&amp;nbsp; I installed LPCXpresso in a i686 chroot, but wanted to use vim, bash, make, and Code-Sourcerie's cross compiler instead of the LPCxpresso eclipse-bundle...&amp;nbsp; Anyway enough blabber.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the script.&amp;nbsp; It may be a bit buggy, but it's 1.20 am (yawns)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#!/bin/bash

script=`readlink -f $BASH_SOURCE`

if [ `arch` != 'i686' ] ; then exec schroot -p -- "$script" "$@" ; fi

debuggerBinPath='/usr/local/lpcxpresso_4.1.0_164/lpcxpresso/bin'
debugger="$1" ; shift ; 

# Reattach the LPC Link USB debugger, if required
&lt;SPAN&gt;# See &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fsupport.code-red-tech.com%2FCodeRedWiki%2FLPCLinkDiagnostics" rel="nofollow noopener noreferrer" target="_blank"&gt;http://support.code-red-tech.com/CodeRedWiki/LPCLinkDiagnostics&lt;/A&gt;

dfuDevices=`"$debuggerBinPath"/dfu-util -l`

if [ "${dfuDevices/0x0471:0xdf55/found it}" != "$dfuDevices" ] ; then
&amp;nbsp; "$debuggerBinPath"/dfu-util -d 0x471:0xdf55 -c 0 -t 2048 -R -D "$debuggerBinPath"/LPCXpressoWIN.enc
&amp;nbsp; sleep 1 
fi

# Start the debugger backend

exec "$debuggerBinPath"/"$debugger" "$@"&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;ok chaps, i hope this helps..&amp;nbsp; Next step is to hook this up to pyclewn and vim!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:34:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/gdb-x86-64-chroot-friendly-debugger-launch-script/m-p/545200#M9104</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:34:32Z</dc:date>
    </item>
    <item>
      <title>Re: gdb / x86_64 / chroot friendly debugger launch script</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/gdb-x86-64-chroot-friendly-debugger-launch-script/m-p/545201#M9105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by culyun on Fri Dec 30 05:42:36 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Well the good news is integrated vim debugging with the LPC-Link works a charm..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To start a vim hosted debugging session,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;run pyclewn from the tty.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;pyclewn -p arm-eabi-gdb -g async&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Pyclewn will bootstrap vim and present you with an empty buffer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NB. I'm not using Code Red's GCC tool chain here..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'll automate this soon, but for the moment run &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cmapkeys&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; from the vim console.&amp;nbsp; This script adds some nice key bindings for typical debugging stuff (step, breakpoints, continue, etc.).&amp;nbsp; More on Pyclewn's site.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The buffer should now be showing Pyclewn's console, which is a mixture of gdb and its own goodness.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, load an executable file into the debugger using the &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cfile&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; command.&amp;nbsp; Pyclewn exports all (most?) of gdb's commands under the ":C" prefix, so for example gdb's list command is exported as ":Clist", etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, connect to the LPC-Link&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Ctarget extended-remote \| ./initArmTarget crt_emu_lpc11_13_nxp -4 -pLPC1227/301 -wire=winusb&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;NB. The initArmTarget script should be put in a more sensible location, but I'm still developing the tools...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Wait... Anywhere from 1 s to 15 s on my PC.&amp;nbsp; The variation depends on whether the LPC-Link dfu code needs to be downloaded to the USB-debugger&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Voila, main.c should be shown in all its glory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At this point you should refer to the Pyclewn documentation, but I have to say that it works really well... Well almost.&amp;nbsp; There is currently one caveat.&amp;nbsp; The current Pyclewn release (1.7) has a bug that crashes vim when issuing the &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;:Cdbgvar&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; command.&amp;nbsp; This has been fixed in trunk.&amp;nbsp; I couldn't wait for another release, so I just hack-installed Pyclewn trunk into my system.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a contingency, you can use :Cprint (ie. gdb) to inspect variables, but it's a pain..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Happy hacking.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:34:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/gdb-x86-64-chroot-friendly-debugger-launch-script/m-p/545201#M9105</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:34:32Z</dc:date>
    </item>
  </channel>
</rss>

