You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(79) |
Aug
(27) |
Sep
(64) |
Oct
(202) |
Nov
(31) |
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(125) |
Feb
(173) |
Mar
(13) |
Apr
(140) |
May
(75) |
Jun
(1) |
Jul
(37) |
Aug
(14) |
Sep
|
Oct
(20) |
Nov
(9) |
Dec
(2) |
2003 |
Jan
(51) |
Feb
(12) |
Mar
(18) |
Apr
(24) |
May
(1) |
Jun
|
Jul
|
Aug
(72) |
Sep
(12) |
Oct
(18) |
Nov
(60) |
Dec
(26) |
2004 |
Jan
(1) |
Feb
(40) |
Mar
(3) |
Apr
(3) |
May
|
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(5) |
2006 |
Jan
(13) |
Feb
(5) |
Mar
(8) |
Apr
(13) |
May
(7) |
Jun
(6) |
Jul
(10) |
Aug
(6) |
Sep
(6) |
Oct
(35) |
Nov
(20) |
Dec
(10) |
2007 |
Jan
(13) |
Feb
(9) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(54) |
Jun
(78) |
Jul
(35) |
Aug
(21) |
Sep
(21) |
Oct
(29) |
Nov
(10) |
Dec
(5) |
2010 |
Jan
|
Feb
|
Mar
(26) |
Apr
(55) |
May
(73) |
Jun
(63) |
Jul
(38) |
Aug
(39) |
Sep
(19) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Christopher H. <ch...@mu...> - 2002-02-07 02:46:16
|
> also if a flash block is locked and I try to flash something > I have to reboot to reset the flash. both unlock and further > flashes will fail. Seen on IDR with cvs. Yeah, I know about this one -- sort of. For me, the following sequence does succeeed: <locked partition, e.g., after power cycle with C3 flash> xdownload partition flash partition {flames out, oops} unlock partition flash partition Except that unlock complains that it isn't happy. But it does work. This is with the C3 flash. I quickly eyeball'ed the code again, but I don't see anything obviously wrong. Time to pore over the CFI docs again ... sigh. I suppose a workaround is to check for locks before attempting flashing ... -ch |
From: Tim R. <Ti...@Ri...> - 2002-02-07 02:34:03
|
also if a flash block is locked and I try to flash something I have to reboot to reset the flash. both unlock and further flashes will fail. Seen on IDR with cvs. -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Tim R. <Ti...@Ri...> - 2002-02-07 02:32:34
|
I see the same on IDR. Christopher Hoover wrote: > > Is it just me? If I type characters to blob when blob isn't reading > them (e.g. in the midst of flashing or erasing), the serial i/o hangs. > When the command prompt comes back, blob won't accept any input. > > This is on BadgePAD 4 which is SA-1110/SA-1111. > > I'm running at 115k2,8N1 with no flow control. > > -ch > > _______________________________________________ > blob-cvs-commit mailing list > blo...@li... > https://lists.sourceforge.net/lists/listinfo/blob-cvs-commit -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Christopher H. <ch...@mu...> - 2002-02-07 01:56:27
|
Is it just me? If I type characters to blob when blob isn't reading them (e.g. in the midst of flashing or erasing), the serial i/o hangs. When the command prompt comes back, blob won't accept any input. This is on BadgePAD 4 which is SA-1110/SA-1111. I'm running at 115k2,8N1 with no flow control. -ch |
From: Erik M. <J.A...@it...> - 2002-02-06 08:33:16
|
On Wed, Feb 06, 2002 at 09:31:30AM +0200, Abraham vd Merwe wrote: > Hi Erik! > > > > Update of /cvsroot/blob/blob/src/lib > > > In directory usw-pr-cvs1:/tmp/cvs-serv15305/src/lib > > > > > > Modified Files: > > > serial.c > > > Log Message: > > > Added a printf()-like function for printing to the serial port. Also some > > > minor code cleanup in the memory checking routines. > > > > I'd prefer if you could move it to src/lib/printf.c and just call the > > function printf(). No difference in functionality, but it makes the > > source easier to browse and to read. > > As you might have seen, I backed out the changes in anycase since there's no > portable way to do variable arguments (I realised that after I wrote the > damn function) and we don't include the standard C library headers. Yeah, I realised that too late. > I looked at the way diet libc does it's stdarg.h, but that is a great > example of why you don't want to write your own stdarg routines :P (Besides > the fact that those routines doesn't work for uncast numeric parameters e.g. > printf("%x",15); ) > > > PS: If this is Brad Parker's printf() be sure to put a correct > > copyright on top of the file. The last thing we want is copyright > > issues. > > No, I wrote that one yesterday. You might want to look at Brad's IDE code, it contains a printf() implementation and he somehow solved the stdarg problem. IIRC he posted the URL to the LART mailing list. Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Abraham vd M. <ab...@2d...> - 2002-02-06 07:34:11
|
Hi Erik! > > Update of /cvsroot/blob/blob/src/lib > > In directory usw-pr-cvs1:/tmp/cvs-serv15305/src/lib > >=20 > > Modified Files: > > serial.c=20 > > Log Message: > > Added a printf()-like function for printing to the serial port. Also so= me > > minor code cleanup in the memory checking routines. >=20 > I'd prefer if you could move it to src/lib/printf.c and just call the > function printf(). No difference in functionality, but it makes the > source easier to browse and to read. As you might have seen, I backed out the changes in anycase since there's no portable way to do variable arguments (I realised that after I wrote the damn function) and we don't include the standard C library headers. I looked at the way diet libc does it's stdarg.h, but that is a great example of why you don't want to write your own stdarg routines :P (Besides the fact that those routines doesn't work for uncast numeric parameters e.g. printf("%x",15); ) > PS: If this is Brad Parker's printf() be sure to put a correct > copyright on top of the file. The last thing we want is copyright > issues. No, I wrote that one yesterday. --=20 Regards Abraham He knows not how to know who knows not also how to unknow. -- Sir Richard Burton __________________________________________________________ Abraham vd Merwe - 2d3D, Inc. Device Driver Development, Outsourcing, Embedded Systems Cell: +27 82 565 4451 Snailmail: Tel: +27 21 761 7549 Block C, Antree Park Fax: +27 21 761 7648 Doncaster Road Email: ab...@2d... Kenilworth, 7700 Http: http://www.2d3d.com South Africa |
From: Erik M. <J.A...@it...> - 2002-02-05 16:49:02
|
On Tue, Feb 05, 2002 at 05:40:48AM -0800, Abraham vd Merwe wrote: > Update of /cvsroot/blob/blob/src/lib > In directory usw-pr-cvs1:/tmp/cvs-serv15305/src/lib > > Modified Files: > serial.c > Log Message: > Added a printf()-like function for printing to the serial port. Also some > minor code cleanup in the memory checking routines. I'd prefer if you could move it to src/lib/printf.c and just call the function printf(). No difference in functionality, but it makes the source easier to browse and to read. Erik PS: If this is Brad Parker's printf() be sure to put a correct copyright on top of the file. The last thing we want is copyright issues. -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Erik M. <J.A...@it...> - 2002-02-05 16:47:37
|
On Tue, Feb 05, 2002 at 02:04:11PM +0200, Abraham vd Merwe wrote: > Why don't we move chkmem, peek, poke, etc. (all the debugging stuff) out of > blob and put it into diag instead? That's exactly my idea. I also want to move some commands that are now in libblob into libcommands. Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Erik M. <J.A...@it...> - 2002-02-05 16:45:40
|
On Tue, Feb 05, 2002 at 05:40:48AM -0800, Abraham vd Merwe wrote: > Update of /cvsroot/blob/blob/include/blob > In directory usw-pr-cvs1:/tmp/cvs-serv15305/include/blob > > Modified Files: > serial.h > Log Message: > Added a printf()-like function for printing to the serial port. Also some > minor code cleanup in the memory checking routines. > > > Index: serial.h > =================================================================== > RCS file: /cvsroot/blob/blob/include/blob/serial.h,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -u -d -r1.5 -r1.6 > --- serial.h 2002/01/05 20:14:34 1.5 > +++ serial.h 2002/02/05 13:40:46 1.6 > @@ -94,6 +94,9 @@ > void SerialOutputHex(const u32 h); > void SerialOutputDec(const u32 d); > void SerialOutputBlock(const char *buf, int bufsize); > +void SerialOutputChar (const char c); Not necessary, we already have exactly the same functionality in serial_write(). Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Abraham vd M. <ab...@us...> - 2002-02-05 14:48:01
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv29649 Modified Files: ChangeLog acconfig.h configure.in Log Message: 1. Backed out my printf() function again because I realised if we don't include the C library stdarg.h there is no portable way to handle variable arguments :P If someone comes up with a hack for this, I'll add the printf() stuff again - would be useful... 2. Made UU Codec support optional. Index: ChangeLog =================================================================== RCS file: /cvsroot/blob/blob/ChangeLog,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- ChangeLog 2002/02/05 13:40:46 1.19 +++ ChangeLog 2002/02/05 14:47:54 1.20 @@ -8,8 +8,8 @@ - Added a script to automate uploading of images Abraham van der Merwe - Changed Xmodem support to be optional Abraham van der Merwe - 2d3D SA-1110 Dev Board support Abraham van der Merwe -- Added printf() support Abraham van der Merwe - First stage loader modularisation Erik Mouw +- Changed UU Codec support to be optional Abraham van der Merwe blob-2.0.5-pre2: - MD5 support Christopher Hoover Index: acconfig.h =================================================================== RCS file: /cvsroot/blob/blob/acconfig.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- acconfig.h 2002/02/04 18:02:40 1.16 +++ acconfig.h 2002/02/05 14:47:54 1.17 @@ -113,6 +113,9 @@ /* Define if Xmodem support is wanted */ #undef CONFIG_XMODEM_SUPPORT +/* Define if UU Codec support is wanted */ +#undef CONFIG_UUCODEC_SUPPORT + /* Define if JFFS2 support is wanted */ #undef CONFIG_JFFS2_SUPPORT Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- configure.in 2002/02/04 18:02:40 1.41 +++ configure.in 2002/02/05 14:47:54 1.42 @@ -332,6 +332,11 @@ [xmodem_flag=$enable_xmodem], [xmodem_flag=no]) +AC_ARG_ENABLE(uucodec, +[ --enable-uucodec Enable UU Codec support ], +[uucodec_flag=$enable_uucodec], +[uucodec_flag=no]) + AC_ARG_ENABLE(jffs2, [ --enable-jffs2 Enable support for loading kernel from jffs2], [jffs2_flag=$enable_jffs2], @@ -356,6 +361,7 @@ lcd_flag=yes md5_flag=yes xmodem_flag=yes + uucodec_flag=yes jffs2_flag=yes cramfs_flag=yes fi @@ -416,6 +422,11 @@ AC_DEFINE(CONFIG_XMODEM_SUPPORT) fi +dnl Check wether or not UU Codec support is wanted +if test "x$uucodec_flag" = "xyes"; then + AC_DEFINE(CONFIG_UUCODEC_SUPPORT) +fi + dnl Check wether or not JFFS2 support is wanted if test "x$jffs2_flag" = "xyes" ; then AC_MSG_WARN("JFFS2 support is only dummy code") @@ -537,6 +548,7 @@ echo "LCD support ${lcd_flag}" echo "MD5 support ${md5_flag}" echo "Xmodem support ${xmodem_flag}" +echo "UU Codec support ${uucodec_flag}" echo "JFFS2 support ${jffs2_flag}" echo "cramfs support ${cramfs_flag}" echo "Run-time debug information ${blob_debug_flag}" |
From: Abraham vd M. <ab...@us...> - 2002-02-05 14:48:01
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv29649/src/lib Modified Files: serial.c Log Message: 1. Backed out my printf() function again because I realised if we don't include the C library stdarg.h there is no portable way to handle variable arguments :P If someone comes up with a hack for this, I'll add the printf() stuff again - would be useful... 2. Made UU Codec support optional. Index: serial.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/serial.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- serial.c 2002/02/05 13:40:46 1.8 +++ serial.c 2002/02/05 14:47:54 1.9 @@ -239,76 +239,6 @@ /* - * Very primitive printf() support. This version can - * do the following conversions: - * - * c char - * s char * - * d,i int - * u unsigned int - * x unsigned int (hex) - * p void * - * - * There is no floating point support and no modifiers. - */ -void SerialPrintf(const char *fmt, ...) -{ - va_list ap; - int d; - - va_start (ap,fmt); - while (*fmt) - { - if (*fmt == '%') - { - switch (*++fmt) - { - case '%': - SerialOutputChar (*fmt); - break; - - case 'c': - SerialOutputChar (va_arg (ap,const char)); - break; - - case 's': - SerialOutputString (va_arg (ap,const char *)); - break; - - case 'd': - case 'i': - d = va_arg (ap,int); - if (d < 0) - { - SerialOutputChar ('-'); - d = -d; - } - SerialOutputDec (d); - break; - - case 'u': - SerialOutputDec (va_arg (ap,unsigned int)); - break; - - case 'x': - SerialOutputHex (va_arg (ap,unsigned int)); - break; - - case 'p': - SerialOutputHex ((unsigned int) va_arg (ap,void *)); - break; - } - } - else SerialOutputChar (*fmt); - fmt++; - } - va_end (ap); -} - - - - -/* * read a string with maximum length len from the serial port * using a timeout of timeout seconds * |
From: Abraham vd M. <ab...@us...> - 2002-02-05 14:48:01
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv29649/src/blob Modified Files: main.c uucodec.c Log Message: 1. Backed out my printf() function again because I realised if we don't include the C library stdarg.h there is no portable way to handle variable arguments :P If someone comes up with a hack for this, I'll add the printf() stuff again - would be useful... 2. Made UU Codec support optional. Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- main.c 2002/02/04 18:02:42 1.29 +++ main.c 2002/02/05 14:47:54 1.30 @@ -250,6 +250,7 @@ +#ifdef CONFIG_UUCODEC_SUPPORT static int Download(int argc, char *argv[]) { u32 startAddress; @@ -327,7 +328,7 @@ "Download <argument> image to RAM using uuencode\n"; __commandlist(Download, "download", downloadhelp); - +#endif /* #ifdef CONFIG_UUCODEC_SUPPORT */ #ifdef CONFIG_XMODEM_SUPPORT Index: uucodec.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/uucodec.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- uucodec.c 2002/01/03 16:07:18 1.3 +++ uucodec.c 2002/02/05 14:47:54 1.4 @@ -37,6 +37,8 @@ # include <blob/config.h> #endif +#ifdef CONFIG_UUCODEC_SUPPORT + #include <blob/errno.h> #include <blob/serial.h> #include <blob/util.h> @@ -195,3 +197,6 @@ } /* UUEncode */ #endif + +#endif /* #ifdef CONFIG_UUCODEC_SUPPORT */ + |
From: Abraham vd M. <ab...@us...> - 2002-02-05 14:48:01
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv29649/include/blob Modified Files: serial.h Log Message: 1. Backed out my printf() function again because I realised if we don't include the C library stdarg.h there is no portable way to handle variable arguments :P If someone comes up with a hack for this, I'll add the printf() stuff again - would be useful... 2. Made UU Codec support optional. Index: serial.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/serial.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- serial.h 2002/02/05 13:40:46 1.6 +++ serial.h 2002/02/05 14:47:54 1.7 @@ -96,8 +96,6 @@ void SerialOutputBlock(const char *buf, int bufsize); void SerialOutputChar (const char c); -void SerialPrintf(const char *fmt, ...); - int SerialInputString(char *s, const int len, const int timeout); int SerialInputBlock(char *buf, int bufsize, const int timeout); |
From: Abraham vd M. <ab...@us...> - 2002-02-05 14:48:01
|
Update of /cvsroot/blob/blob/doc In directory usw-pr-cvs1:/tmp/cvs-serv29649/doc Removed Files: developers.txt Log Message: 1. Backed out my printf() function again because I realised if we don't include the C library stdarg.h there is no portable way to handle variable arguments :P If someone comes up with a hack for this, I'll add the printf() stuff again - would be useful... 2. Made UU Codec support optional. --- developers.txt DELETED --- |
From: Abraham vd M. <ab...@us...> - 2002-02-05 13:40:51
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv15305/src/blob Modified Files: chkmem.c Log Message: Added a printf()-like function for printing to the serial port. Also some minor code cleanup in the memory checking routines. Index: chkmem.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/chkmem.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- chkmem.c 2001/10/29 11:49:48 1.6 +++ chkmem.c 2002/02/05 13:40:46 1.7 @@ -57,7 +57,7 @@ /* more readable IMHO */ #define MEM( x ) (*((u32 *)x)) -#define MAKE32FROM8(X) (u32) (X | X << 8 | X << 16 | X << 24) +#define MAKE32FROM8(x) (u32) ((x) | ((x) << 8) | ((x) << 16) | ((x) << 24)) #define CHKMEM_ERR (-1) #define CHKMEM_OK (0) @@ -75,7 +75,7 @@ # define SHOWFUNC() SerialOutputString("chkmem: method: "__FUNCTION__ "\n" ); #endif -#define SKIPBLOBMEM( STARTADR ) while ( STARTADR < (BLOB_RAM_BASE + 0x00100000) ) STARTADR++; +#define SKIPBLOBMEM(x) if ((x) < BLOB_RAM_BASE + 0x00100000) x = BLOB_RAM_BASE + 0x00100000 #define CHKMEM_MAXERR 64 #define CHKMEM_PUSHERR( ADR ) { chkmem_errlist[ chkmem_errs % CHKMEM_MAXERR ] = ADR; \ @@ -222,7 +222,8 @@ return CHKMEM_OK; } -static char chkmemhelp[] = "chkmem [method] {verbosity:1..F} {repeat-count}\nmethod=0: move-inverse test\n" +static char chkmemhelp[] = "chkmem [method] {verbosity:1..F} {repeat-count}\n" +"method=0: move-inverse test\n" "method=1: address test\n" "method=2: hardcore test\n" "verbosity: display every 2^n address during test\n"; |
From: Abraham vd M. <ab...@us...> - 2002-02-05 13:40:51
|
Update of /cvsroot/blob/blob/doc In directory usw-pr-cvs1:/tmp/cvs-serv15305/doc Added Files: developers.txt Log Message: Added a printf()-like function for printing to the serial port. Also some minor code cleanup in the memory checking routines. --- NEW FILE: developers.txt --- Some notes for developers: 1. About SerialPrintf(): Please note that SerialPrintf() only provide very primitive printf() support. The idea was to get rid of things like this: SerialOutputString("chkmem: method: "__FUNCTION__ "\n" ); SerialOutputString(" p1=0x"); SerialOutputHex((u32)bp1); SerialOutputString(" p2=0x"); SerialOutputHex((u32)bp2); SerialOutputString(" count=0x"); SerialOutputHex((u32)count); SerialOutputString("\n"); and replace it instead with: SerialPrintf ("chkmem: method: %s\n" " p1=0x%x p2=0x%x count=0x%x\n", __FUNCTION__,(u32) bp1,(u32) bp2,(u32) count); Currently SerialPrintf() can do the following conversions: c char s char * d,i int u unsigned int x unsigned int (hex) p void * There is no floating point support and no modifiers. Also, please note that if you port blob to some 8-bit or 16-bit platform, you might run into some trouble with the conversions (easy to change/fix though). |
From: Abraham vd M. <ab...@us...> - 2002-02-05 13:40:51
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv15305/src/lib Modified Files: serial.c Log Message: Added a printf()-like function for printing to the serial port. Also some minor code cleanup in the memory checking routines. Index: serial.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/serial.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- serial.c 2002/01/05 20:14:34 1.7 +++ serial.c 2002/02/05 13:40:46 1.8 @@ -6,7 +6,7 @@ * Description: Serial utilities for blob * Created at: Tue Aug 24 20:25:00 1999 * Modified by: Erik Mouw <J.A...@it...> - * Modified at: Mon Oct 4 20:11:14 1999 + * Abraham van der Merwe <ab...@2d...> *-----------------------------------------------------------------------*/ /* * serial.c: Serial utilities for blob @@ -222,6 +222,87 @@ { while(bufsize--) serial_write(*buf++); +} + + + + +/* + * Write a single character to the serial port. + */ +void SerialOutputChar (const char c) +{ + serial_write (c); +} + + + + +/* + * Very primitive printf() support. This version can + * do the following conversions: + * + * c char + * s char * + * d,i int + * u unsigned int + * x unsigned int (hex) + * p void * + * + * There is no floating point support and no modifiers. + */ +void SerialPrintf(const char *fmt, ...) +{ + va_list ap; + int d; + + va_start (ap,fmt); + while (*fmt) + { + if (*fmt == '%') + { + switch (*++fmt) + { + case '%': + SerialOutputChar (*fmt); + break; + + case 'c': + SerialOutputChar (va_arg (ap,const char)); + break; + + case 's': + SerialOutputString (va_arg (ap,const char *)); + break; + + case 'd': + case 'i': + d = va_arg (ap,int); + if (d < 0) + { + SerialOutputChar ('-'); + d = -d; + } + SerialOutputDec (d); + break; + + case 'u': + SerialOutputDec (va_arg (ap,unsigned int)); + break; + + case 'x': + SerialOutputHex (va_arg (ap,unsigned int)); + break; + + case 'p': + SerialOutputHex ((unsigned int) va_arg (ap,void *)); + break; + } + } + else SerialOutputChar (*fmt); + fmt++; + } + va_end (ap); } |
From: Abraham vd M. <ab...@us...> - 2002-02-05 13:40:51
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv15305 Modified Files: ChangeLog Log Message: Added a printf()-like function for printing to the serial port. Also some minor code cleanup in the memory checking routines. Index: ChangeLog =================================================================== RCS file: /cvsroot/blob/blob/ChangeLog,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ChangeLog 2002/02/04 18:02:38 1.18 +++ ChangeLog 2002/02/05 13:40:46 1.19 @@ -8,6 +8,7 @@ - Added a script to automate uploading of images Abraham van der Merwe - Changed Xmodem support to be optional Abraham van der Merwe - 2d3D SA-1110 Dev Board support Abraham van der Merwe +- Added printf() support Abraham van der Merwe - First stage loader modularisation Erik Mouw blob-2.0.5-pre2: |
From: Abraham vd M. <ab...@us...> - 2002-02-05 13:40:50
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv15305/include/blob Modified Files: serial.h Log Message: Added a printf()-like function for printing to the serial port. Also some minor code cleanup in the memory checking routines. Index: serial.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/serial.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- serial.h 2002/01/05 20:14:34 1.5 +++ serial.h 2002/02/05 13:40:46 1.6 @@ -94,6 +94,9 @@ void SerialOutputHex(const u32 h); void SerialOutputDec(const u32 d); void SerialOutputBlock(const char *buf, int bufsize); +void SerialOutputChar (const char c); + +void SerialPrintf(const char *fmt, ...); int SerialInputString(char *s, const int len, const int timeout); int SerialInputBlock(char *buf, int bufsize, const int timeout); |
From: Abraham v. d. M. <ab...@fr...> - 2002-02-05 13:28:30
|
Hi Erik! > > In directory usw-pr-cvs1:/tmp/cvs-serv25676/src/blob > >=20 > > Modified Files: > > main.c xmodem.c=20 > > Log Message: > > Changed Xmodem support to be optional (make > 1k difference and I never > > use it). >=20 > While you're at it, could you make uuencode support also optional? Will do > (btw, xmodem support with 1K blocks is a *lot* faster than uuencode, > use "sx --1k" on the host for best results) Hmm, I'll try that --=20 Regards Abraham ___________________________________________________ Abraham vd Merwe [ZR1BBQ] - Frogfoot Networks P.O. Box 3472, Matieland, Stellenbosch, 7602 Cell: +27 82 565 4451 Http: http://www.frogfoot.net Email: ab...@fr... |
From: Abraham vd M. <ab...@2d...> - 2002-02-05 13:19:08
|
Hi! Why don't we move chkmem, peek, poke, etc. (all the debugging stuff) out of blob and put it into diag instead? --=20 Regards Abraham Byte your tongue. __________________________________________________________ Abraham vd Merwe - 2d3D, Inc. Device Driver Development, Outsourcing, Embedded Systems Cell: +27 82 565 4451 Snailmail: Tel: +27 21 761 7549 Block C, Antree Park Fax: +27 21 761 7648 Doncaster Road Email: ab...@2d... Kenilworth, 7700 Http: http://www.2d3d.com South Africa |
From: Christopher H. <ch...@us...> - 2002-02-04 22:03:33
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv27181/src/lib Modified Files: command.c Log Message: Accept either ^H or DEL as rubout. Index: command.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/command.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- command.c 2002/01/03 16:07:18 1.9 +++ command.c 2002/02/04 22:03:29 1.10 @@ -319,7 +319,7 @@ /* print newline */ serial_write('\n'); return(numRead); - } else if(c == '\b') { /* FIXME: is this backspace? */ + } else if((c == '\b') || (c == 0x7f)) { if(i > 0) { i--; numRead--; |
From: Erik M. <er...@us...> - 2002-02-04 21:43:04
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv20909 Modified Files: AUTHORS ChangeLog configure.in acconfig.h Log Message: Accelent IDP support by Holger Schurig Also clean up some Makefiles (alphabetic order, etc) Index: AUTHORS =================================================================== RCS file: /cvsroot/blob/blob/AUTHORS,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- AUTHORS 2002/02/01 14:38:55 1.5 +++ AUTHORS 2002/02/04 18:02:37 1.6 @@ -84,3 +84,6 @@ - Abraham vd Merwe <ab...@2d...>, <ab...@de...>, <ab...@bl...>, <ab...@fr...> +* Accelent IDP port +=================== +- Holger Schurig <h.s...@mn...> Index: ChangeLog =================================================================== RCS file: /cvsroot/blob/blob/ChangeLog,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- ChangeLog 2002/02/04 13:04:41 1.17 +++ ChangeLog 2002/02/04 18:02:38 1.18 @@ -4,9 +4,11 @@ $Id$ blob-2.0.5-pre3: -- 2d3D SA-1110 Dev Board support Abraham van der Merwe -- Changed Xmodem support to be optional Abraham van der Merwe +- Accelent IDP support Holger Schurig - Added a script to automate uploading of images Abraham van der Merwe +- Changed Xmodem support to be optional Abraham van der Merwe +- 2d3D SA-1110 Dev Board support Abraham van der Merwe +- First stage loader modularisation Erik Mouw blob-2.0.5-pre2: - MD5 support Christopher Hoover Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- configure.in 2002/02/04 12:14:15 1.40 +++ configure.in 2002/02/04 18:02:40 1.41 @@ -74,33 +74,33 @@ dnl Check board we want to build for AC_ARG_WITH(board, [ --with-board=NAME Name of the target board Valid names are: - assabet Intel Assabet - neponset Intel Assabet with Neponset board - badge4 HPL Badge 4 - brutus Intel Brutus - creditlart CreditLART - h3600 Compaq Ipaq H36x0 - idr Vercel UD-1 - jornada720 HP Jornada 720 with Flash board - lart LART - nesa NESA - pleb PLEB - shannon TuxScreen (Shannon) - frodo 2d3D, Inc. SA-1110 Development Board - system3 Prueftechnik Digital Board + accelent_sa Accelent IDP + assabet Intel Assabet + neponset Intel Assabet with Neponset board + badge4 HPL Badge 4 + brutus Intel Brutus + creditlart CreditLART + frodo 2d3D, Inc. SA-1110 Development Board + h3600 Compaq Ipaq H36x0 + idr Vercel UD-1 + jornada720 HP Jornada 720 with Flash board + lart LART + nesa NESA + pleb PLEB + shannon TuxScreen (Shannon) + system3 Prueftechnik Digital Board Default board is lart], board_name="$withval", board_name="lart") AC_MSG_CHECKING(target board) case "$board_name" in - frodo) - board_name="2d3D, Inc. SA-1110 Development Board" - AC_DEFINE(FRODO) - BLOB_PLATFORM_OBJ="frodo.o" - AC_MSG_WARN([Please check frodo memory config in arch/frodo.h]) + accelent_sa) + board_name="Accelent IDP" + AC_DEFINE(ACCELENT_SA) + BLOB_PLATFORM_OBJ="accelent_sa.o" BLOB_FLASH_OBJS="intel32.o" - DIAG_PLATFORM_OBJ="frodo.o" + DIAG_PLATFORM_OBJ="accelent_sa.o" use_cpu="sa1110" use_lcd="no" ;; @@ -125,6 +125,15 @@ use_cpu="sa1110" use_lcd="no" ;; + badge4) + board_name="Hewlett-Packard Laboratories Badge-4" + AC_DEFINE(BADGE4) + BLOB_PLATFORM_OBJ="badge4.o" + BLOB_FLASH_OBJS="intel16.o" + DIAG_PLATFORM_OBJ="badge4.o" + use_cpu="sa1110" + use_lcd="no" + ;; brutus) board_name="Intel Brutus" AC_DEFINE(BRUTUS) @@ -145,6 +154,16 @@ use_cpu="sa1110" use_lcd="no" ;; + frodo) + board_name="2d3D, Inc. SA-1110 Development Board" + AC_DEFINE(FRODO) + BLOB_PLATFORM_OBJ="frodo.o" + AC_MSG_WARN([Please check frodo memory config in arch/frodo.h]) + BLOB_FLASH_OBJS="intel32.o" + DIAG_PLATFORM_OBJ="frodo.o" + use_cpu="sa1110" + use_lcd="no" + ;; h3600) board_name="Compaq Ipaq H3600 series" AC_DEFINE(H3600) @@ -165,6 +184,16 @@ use_cpu="sa1110" use_lcd="no" ;; + jornada720) + board_name="Hewlett-Packard Jornada 720 with flash daughter board" + AC_DEFINE(JORNADA720) + BLOB_PLATFORM_OBJ="jornada720.o" + AC_MSG_WARN([Warning: untested platform!]) + BLOB_FLASH_OBJS="intel32.o" + DIAG_PLATFORM_OBJ="jornada720.o" + use_cpu="sa1110" + use_lcd="no" + ;; lart) board_name="Delft University of Technology LART" AC_DEFINE(LART) @@ -210,25 +239,6 @@ DIAG_PLATFORM_OBJ="system3.o" use_cpu="sa1110" use_lcd="yes" - ;; - jornada720) - board_name="Hewlett-Packard Jornada 720 with flash daughter board" - AC_DEFINE(JORNADA720) - BLOB_PLATFORM_OBJ="jornada720.o" - AC_MSG_WARN([Warning: untested platform!]) - BLOB_FLASH_OBJS="intel32.o" - DIAG_PLATFORM_OBJ="jornada720.o" - use_cpu="sa1110" - use_lcd="no" - ;; - badge4) - board_name="Hewlett-Packard Laboratories Badge-4" - AC_DEFINE(BADGE4) - BLOB_PLATFORM_OBJ="badge4.o" - BLOB_FLASH_OBJS="intel16.o" - DIAG_PLATFORM_OBJ="badge4.o" - use_cpu="sa1110" - use_lcd="no" ;; *) AC_MSG_RESULT(unknown) Index: acconfig.h =================================================================== RCS file: /cvsroot/blob/blob/acconfig.h,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- acconfig.h 2002/02/04 12:14:15 1.15 +++ acconfig.h 2002/02/04 18:02:40 1.16 @@ -59,8 +59,8 @@ /* Define to enable run-time debug information */ #undef BLOB_DEBUG -/* Define for FRODO boards */ -#undef FRODO +/* Define for Accelent/IDP */ +#undef ACCELENT_SA /* Define for Assabet boards */ #undef ASSABET @@ -76,6 +76,9 @@ /* Define for CreditLART boards */ #undef CLART + +/* Define for FRODO boards */ +#undef FRODO /* Define for Ipaq H3600 */ #undef H3600 |
From: Erik M. <er...@us...> - 2002-02-04 20:51:55
|
Update of /cvsroot/blob/blob/doc In directory usw-pr-cvs1:/tmp/cvs-serv24619/doc Modified Files: porting.txt Log Message: Updated porting documentation by Holger Schurig Index: porting.txt =================================================================== RCS file: /cvsroot/blob/blob/doc/porting.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- porting.txt 2001/11/07 16:47:37 1.1 +++ porting.txt 2002/02/04 18:12:03 1.2 @@ -16,24 +16,24 @@ Add machine define to acconfig.h: -/* Define for Ipaq H3600 */ -#undef H3600 + /* Define for Ipaq H3600 */ + #undef H3600 Add machine to include/blob/arch.h: -#elif defined H3600 -# include <blob/arch/h3600.h> + #elif defined H3600 + # include <blob/arch/h3600.h> Add machine dependent architecture file: -cd include/blob/arch/ -cp assabet.h h3600.h + cd include/blob/arch/ + cp assabet.h h3600.h Edit h3600.h @@ -61,14 +61,38 @@ Add machine dependent source file: -cd src/blob -cp assabet.c h3600.c + cd src/blob + cp assabet.c h3600.c + +Edit h3600.c + + + + +Add machine dependent dependent source file to Makefile.am + + h3600.c + + + + +Add machine dependent diagnostics file: + + cd src/diag + cp assabet.c h3600.c Edit h3600.c +Add machine dependent dependent diagnostics file to Makefile.am + + h3600.c + + + + Edit memsetup-sa1110.S and add correct memory setup @@ -76,6 +100,6 @@ Add architecture number to include/blob/linux.h: -#elif defined H3600 -# define ARCH_NUMBER (22) + #elif defined H3600 + # define ARCH_NUMBER (22) |
From: Erik M. <er...@us...> - 2002-02-04 19:39:43
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv20909/src/blob Modified Files: Makefile.am main.c Added Files: accelent_sa.c Log Message: Accelent IDP support by Holger Schurig Also clean up some Makefiles (alphabetic order, etc) --- NEW FILE: accelent_sa.c --- /* * accelent_sa.c: Accelent IDP specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * Copyright (C) 2001 Stefan Eletzhofer * (ste...@ww...) * Copyright (C) 2002 Holger Schurig <h.s...@mn...> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: accelent_sa.c,v 1.1 2002/02/04 18:02:42 erikm Exp $" /********************************************************************** * includes */ #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/main.h> #include <blob/arch.h> #include <blob/errno.h> #include <blob/error.h> #include <blob/util.h> #include <blob/serial.h> #include <blob/flash.h> #include <blob/init.h> #include <blob/command.h> #include <blob/uucodec.h> #include <blob/serial.h> extern blob_status_t blob_status; /* flash descriptor for Accelent IDP flash. */ /* Accelent IDP uses 2xINTEL e28F640 Chips */ static flash_descriptor_t accelent_sa_flash_descriptors[] = { { size: 2 * 128 * 1024, num: 64, lockable: 1 }, { /* NULL block */ }, }; static int accelent_sa_flash_enable_vpp(void) { //TODO //set GPIO17 return 0; } static int accelent_sa_flash_disable_vpp(void) { //TODO //reset GPIO17 return 0; } static void init_accelent_sa_flash_driver(void) { flash_descriptors = accelent_sa_flash_descriptors; flash_driver = &intel32_flash_driver; flash_driver->enable_vpp = accelent_sa_flash_enable_vpp; flash_driver->disable_vpp = accelent_sa_flash_disable_vpp; } __initlist(init_accelent_sa_flash_driver, INIT_LEVEL_DRIVER_SELECTION); static void accelent_sa_init_hardware(void) { /* select serial driver */ serial_driver = &sa11x0_serial_driver; } __initlist(accelent_sa_init_hardware, INIT_LEVEL_DRIVER_SELECTION); /********************************************************************* * cmd_download_file * * AUTOR: SELETZ * REVISED: * * Download a file to arbitary memory location * */ int cmd_download_file( int argc, char *argv[] ) { int ret = 0; u32 dest = 0L; u32 len = 0L; if ( argc < 3 ) return -EINVAL; ret = strtou32( argv[1], &dest ); if ( ret < 0 ) return -EINVAL; ret = strtou32( argv[2], &len ); if ( ret < 0 ) return -EINVAL; if (blob_status.terminalSpeed != blob_status.downloadSpeed) { SerialOutputString("Switching to download speed\n"); SerialOutputString("You have 60 seconds to switch your terminal emulator to the same speed and\n"); SerialOutputString("start downloading. After that " PACKAGE " will switch back to term speed.\n"); serial_init(blob_status.downloadSpeed); } else { SerialOutputString("You have 60 seconds to start downloading.\n"); } ret = UUDecode((char *)dest, len); if ( ret == len ) { SerialOutputString("Received "); SerialOutputDec(ret); SerialOutputString(" (0x"); SerialOutputHex(ret); SerialOutputString(") bytes.\n"); ret = 0; } else { SerialOutputString("error during uudecode\n"); } if (blob_status.terminalSpeed != blob_status.downloadSpeed) { SerialOutputString("\n(Please switch your terminal emulator back to terminal speed\n"); serial_init(blob_status.terminalSpeed); } return ret; } static char downloadhelp[] = "dlfile destadr filelength\n" "download file to memory\n"; __commandlist( cmd_download_file, "dlfile", downloadhelp ); /********************************************************************* * cmd_flash_write * * AUTOR: SELETZ * REVISED: * * Command wrapper for low-level flash write access * */ static int cmd_flash_write( int argc, char *argv[] ) { int ret = 0; u32 src = 0L; u32 dest = 0L; u32 len = 0L; if ( argc < 4 ) return -EINVAL; ret = strtou32( argv[1], &src ); if ( ret < 0 ) return -EINVAL; ret = strtou32( argv[2], &dest ); if ( ret < 0 ) return -EINVAL; ret = strtou32( argv[3], &len ); if ( ret < 0 ) return -EINVAL; if ( len & (0x3) ) { len = (len>>2) + 1; } else { len = len>>2; } _DBGU32( src ); _DBGU32( dest ); _DBGU32( len ); ret = flash_write_region( (u32 *)dest, (u32*)src, len ); return ret; } static char flashwritehelp[] = "fwrite srcadr destadr size(bytes)\n" "flash a memory region\n"; __commandlist( cmd_flash_write, "fwrite", flashwritehelp ); /********************************************************************* * cmd_flash_erase * * AUTOR: SELETZ * REVISED: * * Command wrapper for low-level flash erasing * */ static int cmd_flash_erase( int argc, char *argv[] ) { int ret = 0; u32 dest = 0L; u32 len = 0L; if ( argc < 3 ) return -EINVAL; ret = strtou32( argv[1], &dest ); if ( ret < 0 ) return -EINVAL; ret = strtou32( argv[2], &len ); if ( ret < 0 ) return -EINVAL; if ( len & (0x3) ) { len = (len>>2) + 1; } else { len = len>>2; } ret = flash_erase_region( (u32 *)dest, len ); return ret; } static char flasherasehelp[] = "ferase adr size(bytes)\n" "erase a flash region\n"; __commandlist( cmd_flash_erase, "ferase", flasherasehelp ); Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/blob/Makefile.am,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- Makefile.am 2002/02/01 14:38:55 1.20 +++ Makefile.am 2002/02/04 18:02:42 1.21 @@ -149,10 +149,12 @@ intel16.c \ intel32.c \ nullflash.c \ + accelent_sa.c \ assabet.c \ brutus.c \ badge4.c \ clart.c \ + frodo.c \ h3600.c \ idr.c \ jornada720.c \ @@ -160,8 +162,7 @@ nesa.c \ pleb.c \ shannon.c \ - system3.c \ - frodo.c + system3.c blob_rest_elf32_DEPENDENCIES = \ Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- main.c 2002/02/04 12:14:16 1.28 +++ main.c 2002/02/04 18:02:42 1.29 @@ -96,7 +96,7 @@ /* call serial_init() because the default 9k6 speed might not be what the user requested */ -#if defined(H3600) || defined(SHANNON) || defined(IDR) || defined(BADGE4) || defined(JORNADA720) +#if defined(H3600) || defined(SHANNON) || defined(IDR) || defined(BADGE4) || defined(JORNADA720) || defined(ACCELENT_SA) blob_status.terminalSpeed = baud_115200; /* DEBUG */ #endif #if defined(PT_SYSTEM3) |