This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

minor cleanups and fixes for olpcx2294 HALs


Hi!

Is it possible to apply the patches still? Well, tweaks are very minor,
but... A few TABs did break some editors, odd *_impure_ptr stubs
removed, one comment fixed. About a baud rate on diagnostic/debug
channels. I found that with the latest arm-eabi-gdb 6.8 I can operate
with RedBoot+GDB on 230K without any issues! I got a download rate in
RAM with the GDB is equal 20K with those settings.  By the way, I got
the download baud rate in RAM about 17K when I use parallel wiggler and
OpenOCD. So, there are those 230400 values in HAL CDLs. 

Thank you,

Sergei
Index: olpce2294/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpce2294/current/ChangeLog,v
retrieving revision 1.3
diff -U5 -r1.3 ChangeLog
--- olpce2294/current/ChangeLog	8 Dec 2008 20:19:22 -0000	1.3
+++ olpce2294/current/ChangeLog	9 Jan 2009 09:01:09 -0000
@@ -1,5 +1,11 @@
+2009-01-09  Sergei Gavrikov <sergei.gavrikov@gmail.com>
+	* cdl/hal_arm_lpc2xxx_olpce2294.cdl: Expanded a list the legal baud
+	rates for both diagnostic and debug channels (upon 230400 bps).
+	* include/hal_platform_setup.h, include/plf_io.h: Extra tabs expanded.
+	* include/hal_platform_setup.h: Fixed a comment about JTAG pinouts.
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
 	driver.
 
Index: olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl,v
retrieving revision 1.1
diff -U5 -r1.1 hal_arm_lpc2xxx_olpce2294.cdl
--- olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl	23 Nov 2008 13:01:14 -0000	1.1
+++ olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl	9 Jan 2009 09:01:13 -0000
@@ -117,21 +117,21 @@
      }
 
      cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
         display       "Diagnostic serial port baud rate"
         flavor        data
-        legal_values  9600 19200 38400 57600 115200
+        legal_values  9600 19200 38400 57600 115200 230400
         default_value 38400
         description   "
             This option selects the baud rate used for the diagnostic
             port."
     }
 
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
          display       "GDB serial port baud rate"
          flavor        data
-         legal_values  9600 19200 38400 57600 115200
+         legal_values  9600 19200 38400 57600 115200 230400
          default_value 38400
          description   "
              This option controls the baud rate used for the GDB
              connection."
     }
Index: olpce2294/current/include/hal_platform_setup.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpce2294/current/include/hal_platform_setup.h,v
retrieving revision 1.1
diff -U5 -r1.1 hal_platform_setup.h
--- olpce2294/current/include/hal_platform_setup.h	23 Nov 2008 13:01:14 -0000	1.1
+++ olpce2294/current/include/hal_platform_setup.h	9 Jan 2009 09:01:13 -0000
@@ -147,12 +147,12 @@
         str r1,[r0]
 
         // BANK1: 1M RAM
         // K6R4016V1D (512Kx16 x 2, 10nS)
         ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG1
-	// Warning: changed these timings, you can fall dramatically the eCos
-	// kernel performance. Check it then using the eCos 'tm_basic' test.
+        // Warning: changed these timings, you can fall dramatically the eCos
+        // kernel performance. Check it then using the eCos 'tm_basic' test.
         ldr r1,=  (0x0 << 0)    /* IDCY=0, idle cycles  */\
                 | (0x0 << 5)    /* WST1=0, read timing  */\
                 | (0x1 << 10)   /* RBLE=1               */\
                 | (0x0 << 11)   /* WST2=0, write timing */\
                 | (0x2 << 28)   /* MW=2,   32-bits      */
@@ -184,11 +184,11 @@
         // Configure P0.30:16 as PIO, but EINT0 ('B2' button)
         ldr r1,=  (0x1 << 0)    /* P0.16 as EINT0       */
         str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL1]
 
         // GPIO P1.25:16, P3.24 are used as PIO
-        ldr r1,=  (0x1 << 2)    /* P1.36:26 Debug port  */\
+        ldr r1,=  (0x1 << 2)    /* P1.31:26 Debug port  */\
                 | (0x2 << 4)    /* D31:0,CS0,OE,BLS0-3  */\
                 | (0x1 << 8)    /* WE enabled           */\
                 | (0x1 << 11)   /* CS1 enabled          */\
                 | (0x1 << 14)   /* CS2 enabled          */\
                 | (0x1 << 23)   /* A0 enabled           */\
Index: olpce2294/current/include/plf_io.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpce2294/current/include/plf_io.h,v
retrieving revision 1.2
diff -U5 -r1.2 plf_io.h
--- olpce2294/current/include/plf_io.h	30 Nov 2008 09:40:59 -0000	1.2
+++ olpce2294/current/include/plf_io.h	9 Jan 2009 09:01:13 -0000
@@ -53,11 +53,11 @@
 // On-chip device base addresses
 
 #ifndef __ASSEMBLER__
 extern void hal_plf_hardware_init(void);
 #define HAL_PLF_HARDWARE_INIT() \
-	    hal_plf_hardware_init()
+            hal_plf_hardware_init()
 
 #endif // __ASSEMBLER__
 
 //-----------------------------------------------------------------------------
 // end of plf_io.h
Index: olpch2294/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpch2294/current/ChangeLog,v
retrieving revision 1.2
diff -U5 -r1.2 ChangeLog
--- olpch2294/current/ChangeLog	8 Dec 2008 20:19:49 -0000	1.2
+++ olpch2294/current/ChangeLog	9 Jan 2009 09:01:13 -0000
@@ -1,5 +1,12 @@
+2009-01-09  Sergei Gavrikov <sergei.gavrikov@gmail.com>
+	* cdl/hal_arm_lpc2xxx_olpch2294.cdl: Expanded a list the legal baud
+	rates for both diagnostic and debug channels (upon 230400 bps).
+	* include/hal_platform_setup.h: Fixed a comment about JTAG pinouts.
+	* src/olpch2294_misc.c: 1) hal_plf_hardware_init(): masked interrupts
+	on UART1; 2) Removed odd _impure_ptr stub.
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
 	driver.
 
Index: olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl,v
retrieving revision 1.1
diff -U5 -r1.1 hal_arm_lpc2xxx_olpch2294.cdl
--- olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl	23 Nov 2008 13:03:29 -0000	1.1
+++ olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl	9 Jan 2009 09:01:13 -0000
@@ -110,21 +110,21 @@
      }
 
      cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
         display       "Diagnostic serial port baud rate"
         flavor        data
-        legal_values  9600 19200 38400 57600 115200
+        legal_values  9600 19200 38400 57600 115200 230400
         default_value 38400
         description   "
             This option selects the baud rate used for the diagnostic
             port."
     }
 
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
          display       "GDB serial port baud rate"
          flavor        data
-         legal_values  9600 19200 38400 57600 115200
+         legal_values  9600 19200 38400 57600 115200 230400
          default_value 38400
          description   "
             This option controls the baud rate used for the GDB
             connection."
     }
Index: olpch2294/current/include/hal_platform_setup.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpch2294/current/include/hal_platform_setup.h,v
retrieving revision 1.1
diff -U5 -r1.1 hal_platform_setup.h
--- olpch2294/current/include/hal_platform_setup.h	23 Nov 2008 13:03:29 -0000	1.1
+++ olpch2294/current/include/hal_platform_setup.h	9 Jan 2009 09:01:13 -0000
@@ -172,11 +172,11 @@
         // Configure P0.30:16 as PIO
         ldr r1,=0
         str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL1]
 
         // GPIO P1.25:16, P3.0, P3.25:24 are used as PIO
-        ldr r1,=  (0x1 << 2)    /* P1.36:26 Debug port  */\
+        ldr r1,=  (0x1 << 2)    /* P1.31:26 Debug port  */\
                 | (0x2 << 4)    /* D31:0,CS0,OE,BLS0-3  */\
                 | (0x1 << 8)    /* WE enabled           */\
                 | (0x1 << 11)   /* CS1 enabled          */\
                 | (0x1 << 24)   /* A1 enabled           */\
                 | (0x7 << 25)   /* A23:2 enabled        */
Index: olpch2294/current/src/olpch2294_misc.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpch2294/current/src/olpch2294_misc.c,v
retrieving revision 1.1
diff -U5 -r1.1 olpch2294_misc.c
--- olpch2294/current/src/olpch2294_misc.c	23 Nov 2008 13:03:29 -0000	1.1
+++ olpch2294/current/src/olpch2294_misc.c	9 Jan 2009 09:01:13 -0000
@@ -48,19 +48,15 @@
 //
 //========================================================================*/
 
 #include <pkgconf/hal.h>
 #include <cyg/hal/hal_io.h>     // IO macros
+#include <cyg/hal/hal_intr.h>
 
 #include <cyg/infra/cyg_type.h> // base types
 #include <cyg/hal/var_io.h>
 
-// Newlib provides support for building the run-time elements of C++
-// within the toolchain. Modern newlib stuff looks for a _impure_ptr
-// entry.
-void           *_impure_ptr;
-
 extern void     cyg_hal_plf_serial_init (void);
 
 // There is alone diagnostic LED on the board.
 static __inline__ void
 _led (bool state)
@@ -101,11 +97,13 @@
 // hal_plf_hardware_init --
 //
 void
 hal_plf_hardware_init (void)
 {
-    // Currently, it does nothing
+    // Platform HAL does not use the second LPC2XXX UART. To be sure that we
+    // won't meet any spurios interrupts on UART1 anymore, mask that vector.
+    HAL_INTERRUPT_MASK(CYGNUM_HAL_INTERRUPT_UART1);
 }
 #endif // HAL_PLF_HARDWARE_INIT
 
 // indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
 //--------------------------------------------------------------------------
Index: olpcl2294/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpcl2294/current/ChangeLog,v
retrieving revision 1.2
diff -U5 -r1.2 ChangeLog
--- olpcl2294/current/ChangeLog	8 Dec 2008 20:20:09 -0000	1.2
+++ olpcl2294/current/ChangeLog	9 Jan 2009 09:01:13 -0000
@@ -1,5 +1,12 @@
+2009-01-09  Sergei Gavrikov <sergei.gavrikov@gmail.com>
+	* cdl/hal_arm_lpc2xxx_olpcl2294.cdl: Expanded a list the legal baud
+	rates for both diagnostic and debug channels (upon 230400b bps).
+	* include/hal_platform_setup.h, include/plf_io.h: Extra tabs expanded.
+	* include/hal_platform_setup.h: Fixed a comment about JTAG pinouts.
+	* src/olpcl2294_misc.c: Removed odd _impure_ptr stub.
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
 	driver.
 
Index: olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl,v
retrieving revision 1.1
diff -U5 -r1.1 hal_arm_lpc2xxx_olpcl2294.cdl
--- olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl	23 Nov 2008 13:02:06 -0000	1.1
+++ olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl	9 Jan 2009 09:01:13 -0000
@@ -111,21 +111,21 @@
      }
 
      cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
         display       "Diagnostic serial port baud rate"
         flavor        data
-        legal_values  9600 19200 38400 57600 115200
+        legal_values  9600 19200 38400 57600 115200 230400
         default_value 38400
         description   "
             This option selects the baud rate used for the diagnostic
             port."
     }
 
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
          display       "GDB serial port baud rate"
          flavor        data
-         legal_values  9600 19200 38400 57600 115200
+         legal_values  9600 19200 38400 57600 115200 230400
          default_value 38400
          description   "
             This option controls the baud rate used for the GDB
             connection."
     }
Index: olpcl2294/current/include/hal_platform_setup.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpcl2294/current/include/hal_platform_setup.h,v
retrieving revision 1.1
diff -U5 -r1.1 hal_platform_setup.h
--- olpcl2294/current/include/hal_platform_setup.h	23 Nov 2008 13:02:06 -0000	1.1
+++ olpcl2294/current/include/hal_platform_setup.h	9 Jan 2009 09:01:16 -0000
@@ -128,17 +128,17 @@
         mov r1,#4
         str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMTIM]
         mov r1,#2 // 2, full MAM
         str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMCR]
 
-	// External memory interface depends on the bank width (32, 16 or 8 bit
-	// selected via MW bits in corresponding BCFG register).  Furthermore,
-	// choice of the memory chip(s) will require an adequate setup of RBLE
-	// bit in BCFG register, too. RBLE = 0 in case of 8-bit based external
-	// memories, while memory chips capable of accepting 16 or 32 bit wide
-	// data will work with RBLE = 1.
-	//
+        // External memory interface depends on the bank width (32, 16 or 8 bit
+        // selected via MW bits in corresponding BCFG register).  Furthermore,
+        // choice of the memory chip(s) will require an adequate setup of RBLE
+        // bit in BCFG register, too. RBLE = 0 in case of 8-bit based external
+        // memories, while memory chips capable of accepting 16 or 32 bit wide
+        // data will work with RBLE = 1.
+        //
         // BANK0: 2M FLASH
         // TE28F160C3BD70 (1024Kx16 x 1, 70nS)
         ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG0
         ldr r1,=  (0x3 << 0)    /* IDCY=3, idle timing  */\
                 | (0x4 << 5)    /* WST1=4, read timing  */\
@@ -148,12 +148,12 @@
         str r1,[r0]
 
         // BANK1: 1M RAM
         // K6R4016V1D (512Kx16 x 2, 10nS)
         ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG1
-	// Warning: changed these timings, you can fall dramatically the eCos
-	// kernel performance. Check it then using the eCos 'tm_basic' test.
+        // Warning: changed these timings, you can fall dramatically the eCos
+        // kernel performance. Check it then using the eCos 'tm_basic' test.
         ldr r1,=  (0x0 << 0)    /* IDCY=0, idle cycles  */\
                 | (0x0 << 5)    /* WST1=0, read timing  */\
                 | (0x1 << 10)   /* RBLE=1               */\
                 | (0x0 << 11)   /* WST2=0, write timing */\
                 | (0x2 << 28)   /* MW=2,   32-bits      */
@@ -183,11 +183,11 @@
         // Configure P0.30:16 as PIO, but EINT0 ('BUT' button)
         ldr r1,=  (0x1 << 0)    /* P0.16 as EINT0       */
         str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL1]
 
         // GPIO P1.25:16, P3.24 are used as PIO
-        ldr r1,=  (0x1 << 2)    /* P1.36:26 Debug port  */\
+        ldr r1,=  (0x1 << 2)    /* P1.31:26 Debug port  */\
                 | (0x2 << 4)    /* D31:0,CS0,OE,BLS0-3  */\
                 | (0x1 << 8)    /* WE enabled           */\
                 | (0x1 << 11)   /* CS1 enabled          */\
                 | (0x1 << 14)   /* CS2 enabled          */\
                 | (0x1 << 23)   /* A0 enabled           */\
Index: olpcl2294/current/include/plf_io.h
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpcl2294/current/include/plf_io.h,v
retrieving revision 1.1
diff -U5 -r1.1 plf_io.h
--- olpcl2294/current/include/plf_io.h	23 Nov 2008 13:02:06 -0000	1.1
+++ olpcl2294/current/include/plf_io.h	9 Jan 2009 09:01:16 -0000
@@ -53,11 +53,11 @@
 // On-chip device base addresses
 
 #ifndef __ASSEMBLER__
 extern void hal_plf_hardware_init(void);
 #define HAL_PLF_HARDWARE_INIT() \
-	    hal_plf_hardware_init()
+            hal_plf_hardware_init()
 
 #endif // __ASSEMBLER__
 
 //-----------------------------------------------------------------------------
 // end of plf_io.h
Index: olpcl2294/current/src/olpcl2294_misc.c
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/lpc2xxx/olpcl2294/current/src/olpcl2294_misc.c,v
retrieving revision 1.1
diff -U5 -r1.1 olpcl2294_misc.c
--- olpcl2294/current/src/olpcl2294_misc.c	23 Nov 2008 13:02:06 -0000	1.1
+++ olpcl2294/current/src/olpcl2294_misc.c	9 Jan 2009 09:01:16 -0000
@@ -57,15 +57,10 @@
 #include <cyg/hal/var_io.h>
 
 #include <cyg/hal/hal_var_ints.h>
 #include <cyg/hal/drv_api.h>
 
-// Newlib provides support for building the run-time elements of C++
-// within the toolchain. Modern newlib stuff looks for a _impure_ptr
-// entry.
-void           *_impure_ptr;
-
 extern void cyg_hal_plf_serial_init (void);
 
 //--------------------------------------------------------------------------
 // hal_lpc2xxx_set_leds --
 //

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]