lpcware

LPCxpresso, Linux, LPC-Link connection problems

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by jaromir on Sun Aug 11 06:06:49 MST 2013
Hello,
I bougnt a few LPCXpresso boards and it worked with LPCXpresso IDE flawlessly under Microsoft Windows, both XP and 7 versions on three different PCs. I cut one of boards and use its head as handy debugger of external targets with no problems.

However I've run into problems when working under Linux. I use Lubuntu 13.04 (official Canonical supported release). Installation of LPCXpresso IDE was smooth as usual, as well as first loading/debugging external target (first after plugging LPCXpresso head into USB port). I can run/pause target, do single stepping or set breakpoints.
After stopping debug session, editing sources and starting debug session again, problems arise. This http://i.imgur.com/ipJPjxI.png is what I get. I can do as many retries as I want, but situation is all the same. Resetting target doesn't help, forcing target into ISP (holding boot pin low and hitting reset - the board is definitely in ISP mode, as program execution stops and I can do connection from FlashMagic or similar tool) mode doesn't help too. The ONLY thing that helps is removing and reinserting LPCXpresso head into USB port - leaving target powered or unpowered doesn't make any difference. Then I can do one debug session and problem returns.

Target is LPC-P1227 board from Olimex https://www.olimex.com/Products/ARM/NXP/LPC-P1227/ powered by external 5V source. Target is connected to LPCXpresso head by short (cca 10cm) flying wires - see images http://i.imgur.com/cMxOeEk.jpg http://i.imgur.com/tTZ8l9l.jpg Power supply is sufficient, I tried different USB cables for LPCXpresso head, as well as inserting powered USB hub, but no joy.
My LPCXpresso IDE is version "LPCXpresso v5.2.4 [Build 2122] [2013-04-29]" on Linux or Windows machines.
I tried it again with Windows machine and it gives perfect match as before. On Linux, it fails again after first successful hit.

My source code is quick-and-dirty blink a led program:

#include "LPC122x.h"
#include <cr_section_macros.h>
#include <NXP/crp.h>

// Variable to store CRP value in. Will be placed automatically
// by the linker when "Enable Code Read Protect" selected.
// See crp.h header for more information
__CRP const unsigned int CRP_WORD = CRP_NO_CRP ;

void dly (void);

int main(void)
{
LPC_GPIO1->DIR=(1<<5)|(1<<4);
while(1)
{
LPC_GPIO1->OUT = 0x55;
dly();
LPC_GPIO1->OUT = 0xAA;
dly();
}
return 0 ;
}

void dly (void)
{
volatile unsigned long i;
for (i=0;i<100000;i++)
{
}
}



Different target was tested too - custom board with LPC1114 and it fails in the same way. On Windows host it works flawlessly.

I feel like there is problem with connection between LPCXpresso and IDE. Target seems to be out of suspect.
I searched on the web and there were a few topics with similar issues, but I'm not quite sure whether it is related to problems I'm experiencing and I haven't found any solution to this problem.

Any help is very appreciated.

Outcomes