103 lines
3.1 KiB
Diff
103 lines
3.1 KiB
Diff
diff -rub lpc21isp-1.60/lpc21isp.c lpc21isp-Linux//lpc21isp.c
|
|
--- lpc21isp-1.60/lpc21isp.c 2008-07-21 15:17:06.000000000 -0600
|
|
+++ lpc21isp-Linux//lpc21isp.c 2008-09-16 09:21:20.000000000 -0600
|
|
@@ -22,6 +22,7 @@
|
|
#include "adprog.h"
|
|
#include "lpcprog.h"
|
|
#include "lpcterm.h"
|
|
+#include "errno.h"
|
|
|
|
/*
|
|
Change-History:
|
|
@@ -319,10 +320,7 @@
|
|
|
|
if (IspEnvironment->fdCom < 0)
|
|
{
|
|
- int* p_err = __error();
|
|
- int err;
|
|
- if (p_err) { err = *p_err; }
|
|
- DebugPrintf(1, "Can't open COM-Port %s ! (Error: %dd (0x%X))\n", IspEnvironment->serial_port, err, err);
|
|
+ DebugPrintf(1, "Can't open COM-Port %s ! (Error: %dd (0x%X))\n", IspEnvironment->serial_port, errno, errno);
|
|
exit(2);
|
|
}
|
|
|
|
diff -rub lpc21isp-1.60/lpc21isp.h lpc21isp-Linux//lpc21isp.h
|
|
--- lpc21isp-1.60/lpc21isp.h 2008-05-10 17:35:00.000000000 -0600
|
|
+++ lpc21isp-Linux//lpc21isp.h 2008-09-16 09:18:42.000000000 -0600
|
|
@@ -165,6 +165,7 @@
|
|
#endif
|
|
|
|
unsigned serial_timeout_count; /**< Local used to track timeouts on serial port read. */
|
|
+ unsigned char DoNotStart; /* Do not start Code if this is set*/
|
|
|
|
} ISP_ENVIRONMENT;
|
|
|
|
@@ -173,7 +174,6 @@
|
|
#define DebugPrintf(in, ...)
|
|
|
|
#else
|
|
-extern int debug_level;
|
|
|
|
#if defined INTEGRATED_IN_WIN_APP
|
|
|
|
@@ -191,7 +191,6 @@
|
|
|
|
#else
|
|
void DebugPrintf(int level, const char *fmt, ...);
|
|
-//#define DebugPrintf(level, ...) if (level <= debug_level) { TRACE( __VA_ARGS__ ); }
|
|
#endif
|
|
|
|
void ClearSerialPortBuffers(ISP_ENVIRONMENT *IspEnvironment);
|
|
diff -rub lpc21isp-1.60/lpcprog.c lpc21isp-Linux//lpcprog.c
|
|
--- lpc21isp-1.60/lpcprog.c 2008-07-21 14:39:50.000000000 -0600
|
|
+++ lpc21isp-Linux//lpcprog.c 2008-09-16 08:52:46.000000000 -0600
|
|
@@ -1062,15 +1062,16 @@
|
|
}
|
|
else
|
|
{
|
|
+ if (IspEnvironment->DoNotStart == 0)
|
|
+ {
|
|
DebugPrintf(2, "Now launching the brand new code\n");
|
|
fflush(stdout);
|
|
-
|
|
if (IspEnvironment->HalfDuplex == 0)
|
|
sprintf(tmpString, "G %ld A\r\n", IspEnvironment->StartAddress);
|
|
else
|
|
sprintf(tmpString, "G %ld A\n", IspEnvironment->StartAddress);
|
|
-
|
|
SendComPort(IspEnvironment, tmpString); //goto 0 : run this fresh new downloaded code code
|
|
+
|
|
if (IspEnvironment->BinaryOffset < LPC_RAMSTART)
|
|
{ // Skip response on G command - show response on Terminal instead
|
|
ReceiveComPort(IspEnvironment, Answer, sizeof(Answer)-1, &realsize, 2, 5000);
|
|
@@ -1099,6 +1100,7 @@
|
|
return (FAILED_RUN + GetAndReportErrorNumber(Answer));
|
|
}
|
|
}
|
|
+ }
|
|
|
|
fflush(stdout);
|
|
}
|
|
Only in lpc21isp-Linux/: lpcprog.c.orig
|
|
diff -rub lpc21isp-1.60/Makefile lpc21isp-Linux//Makefile
|
|
--- lpc21isp-1.60/Makefile 2008-04-07 00:23:00.000000000 -0600
|
|
+++ lpc21isp-Linux//Makefile 2008-09-16 09:23:02.000000000 -0600
|
|
@@ -3,9 +3,9 @@
|
|
GLOBAL_DEP = adprog.h lpc21isp.h lpcprog.h lpcterm.h
|
|
CC = gcc
|
|
|
|
-ifneq ($findstring("freebsd", $(OSTYPE)),"")
|
|
-CFLAGS+=-D__FREEBSD__
|
|
-endif
|
|
+#ifneq ($findstring("freebsd", $(OSTYPE)),"")
|
|
+#CFLAGS+=-D__FREEBSD__
|
|
+#endif
|
|
|
|
adprog.o: adprog.c $(GLOBAL_DEP)
|
|
$(CC) $(CDEBUG) $(CFLAGS) -c -o adprog.o adprog.c
|
|
@@ -21,3 +21,4 @@
|
|
|
|
clean:
|
|
$(RM) adprog.o lpcprog.o lpcterm.o lpc21isp
|
|
+ $(RM) *~
|