New offset option in the AT91SAM7S256 ROM HAL

Andrew Lunn andrew@lunn.ch
Fri Apr 7 15:32:00 GMT 2006


On Sun, Apr 02, 2006 at 09:53:46PM +0200, oliver munz @ s p e a g wrote:
> This patch allows, to make images whit a 0x10000..0x18000 offset.
> 
> The reason of this is to allow a RedBoot in the memory from in the range 
> of 0x100000..0x10ffff, to download a image direct to the flash, may be 
> from 0x110000, and start it direct via the "g 0x110000" command.

Hi Oliver

I like the idea, but not the implementation. All these extra files for
something so simple. Please could you take a look at this patch. I've
compiled some binaries, but not actually run them.......

        Andrew

-------------- next part --------------
Index: packages/hal/arm/at91/at91sam7s/current/ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/ChangeLog,v
retrieving revision 1.5
diff -u -r1.5 ChangeLog
--- packages/hal/arm/at91/at91sam7s/current/ChangeLog	13 Mar 2006 07:48:20 -0000	1.5
+++ packages/hal/arm/at91/at91sam7s/current/ChangeLog	7 Apr 2006 15:28:56 -0000
@@ -1,3 +1,17 @@
+2006-04-07  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* cdl/hal_arm_at91sam7s.cdl: 
+	* include/pkgconf/mlt_arm_at91sam7s32_rom.ldi: 
+	* include/pkgconf/mlt_arm_at91sam7s64_rom.ldi: 
+	* include/pkgconf/mlt_arm_at91sam7s128_rom.ldi: 
+	* include/pkgconf/mlt_arm_at91sam7s267_rom.ldi: 
+	Allow CDL to control where in flash the image is placed.
+
+2006-03-23  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* cdl/hal_arm_at91sam7s.cdl: Implement the USB interface when chip
+	has the device.
+	
 2006-03-10  Oliver Munz  <oli@snr.ch>
 
 	* hal_arm_at91sam7s.cdl: Change the PLL-defaults so that 96MHz is
Index: packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl,v
retrieving revision 1.3
diff -u -r1.3 hal_arm_at91sam7s.cdl
--- packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl	13 Mar 2006 07:48:20 -0000	1.3
+++ packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl	7 Apr 2006 15:28:56 -0000
@@ -66,7 +66,6 @@
     implements    CYGINT_HAL_ARM_AT91_SERIAL_DBG_HW
     implements    CYGINT_HAL_ARM_AT91_PIT_HW
     implements    CYGINT_HAL_ARM_AT91_SYS_INTERRUPT
-    implements    CYGINT_DEVS_USB_AT91_HAS_USB
 
     define_proc {
         puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
@@ -92,6 +91,15 @@
            being used."
     }
 
+    cdl_option CYGBLD_HAL_ARM_AT91SAM7S_USB {
+        active_if     {!( "at91sam7s32" == CYGHWR_HAL_ARM_AT91SAM7S) }
+        implements    CYGINT_DEVS_USB_AT91_HAS_USB
+        default_value 1
+        no_define
+        description   "
+            All but the AT91SAM7S32 has the USB device"
+    }
+
     cdl_component CYGNUM_HAL_RTC_CONSTANTS {
         display       "Real-time clock constants"
         flavor        none
@@ -132,7 +140,19 @@
             into ROM"
     }
 
-        
+    cdl_option CYGNUM_HAL_ARM_AT91_IMAGE_ADDRESS {
+        display       "Address in flash the image should live"
+        active_if     { CYG_HAL_STARTUP == "ROM" }
+        flavor        data        
+        default_value 0x00100000
+        description   "
+            This optionspecifies where in flash the image
+            lives. By default it is at the bottom of the flash,
+            but for example redboot may be at the bottom and an
+            application lives higher up, which is acheived by 
+            setting the address here."
+    }
+
     # Real-time clock/counter specifics
     cdl_option CYGNUM_HAL_ARM_AT91_CLOCK_SPEED {
         display       "CPU clock speed"
Index: packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s128_rom.ldi
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s128_rom.ldi,v
retrieving revision 1.1
diff -u -r1.1 mlt_arm_at91sam7s128_rom.ldi
--- packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s128_rom.ldi	19 Feb 2006 20:32:24 -0000	1.1
+++ packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s128_rom.ldi	7 Apr 2006 15:28:56 -0000
@@ -3,6 +3,7 @@
 // This is a generated file - do not edit
 
 #include <cyg/infra/cyg_type.inc>
+#include <pkgconf/hal_arm_at91sam7s.h>
 
 MEMORY
 {
@@ -14,7 +15,7 @@
 {
     SECTIONS_BEGIN
     CYG_LABEL_DEFN(__reserved_bootmon) = 0x00000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x01000;
-    SECTION_rom_vectors (rom, 0x00100000, LMA_EQ_VMA)
+    SECTION_rom_vectors (rom, CYGNUM_HAL_ARM_AT91_IMAGE_ADDRESS, LMA_EQ_VMA)
     SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
Index: packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s256_rom.ldi
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s256_rom.ldi,v
retrieving revision 1.1
diff -u -r1.1 mlt_arm_at91sam7s256_rom.ldi
--- packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s256_rom.ldi	19 Feb 2006 20:32:24 -0000	1.1
+++ packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s256_rom.ldi	7 Apr 2006 15:28:56 -0000
@@ -3,6 +3,7 @@
 // This is a generated file - do not edit
 
 #include <cyg/infra/cyg_type.inc>
+#include <pkgconf/hal_arm_at91sam7s.h>
 
 MEMORY
 {
@@ -14,7 +15,7 @@
 {
     SECTIONS_BEGIN
     CYG_LABEL_DEFN(__reserved_bootmon) = 0x00000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x01000;
-    SECTION_rom_vectors (rom, 0x00100000, LMA_EQ_VMA)
+    SECTION_rom_vectors (rom, CYGNUM_HAL_ARM_AT91_IMAGE_ADDRESS, LMA_EQ_VMA)
     SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
Index: packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s32_rom.ldi
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s32_rom.ldi,v
retrieving revision 1.1
diff -u -r1.1 mlt_arm_at91sam7s32_rom.ldi
--- packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s32_rom.ldi	19 Feb 2006 20:32:24 -0000	1.1
+++ packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s32_rom.ldi	7 Apr 2006 15:28:56 -0000
@@ -3,6 +3,7 @@
 // This is a generated file - do not edit
 
 #include <cyg/infra/cyg_type.inc>
+#include <pkgconf/hal_arm_at91sam7s.h>
 
 MEMORY
 {
@@ -14,7 +15,7 @@
 {
     SECTIONS_BEGIN
     CYG_LABEL_DEFN(__reserved_bootmon) = 0x00000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x01000;
-    SECTION_rom_vectors (rom, 0x00100000, LMA_EQ_VMA)
+    SECTION_rom_vectors (rom, CYGNUM_HAL_ARM_AT91_IMAGE_ADDRESS, LMA_EQ_VMA)
     SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
Index: packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s64_rom.ldi
===================================================================
RCS file: /cvs/ecos/ecos/packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s64_rom.ldi,v
retrieving revision 1.1
diff -u -r1.1 mlt_arm_at91sam7s64_rom.ldi
--- packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s64_rom.ldi	19 Feb 2006 20:32:24 -0000	1.1
+++ packages/hal/arm/at91/at91sam7s/current/include/pkgconf/mlt_arm_at91sam7s64_rom.ldi	7 Apr 2006 15:28:56 -0000
@@ -3,6 +3,7 @@
 // This is a generated file - do not edit
 
 #include <cyg/infra/cyg_type.inc>
+#include <pkgconf/hal_arm_at91sam7s.h>
 
 MEMORY
 {
@@ -14,7 +15,7 @@
 {
     SECTIONS_BEGIN
     CYG_LABEL_DEFN(__reserved_bootmon) = 0x00000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x01000;
-    SECTION_rom_vectors (rom, 0x00100000, LMA_EQ_VMA)
+    SECTION_rom_vectors (rom, CYGNUM_HAL_ARM_AT91_IMAGE_ADDRESS, LMA_EQ_VMA)
     SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)


More information about the Ecos-patches mailing list