changeset 2491:24cb6e989e05

* src/fr30_md91301.ld: Reworked memory layout for flash support. * src/hal_diag.c: Little updates in serial0 configuration registers. * src/variant.S: Made it possible for the platform to override variants rom vectors. * include/variant.inc: Moved macros for sdram config addresses to platform
author asl
date Fri, 11 Jul 2008 18:00:23 +0000
parents 1020a0217955
children 7c92e5146d0a
files packages/hal/fr30/mb91301/current/ChangeLog packages/hal/fr30/mb91301/current/include/variant.inc packages/hal/fr30/mb91301/current/src/fr30_mb91301.ld packages/hal/fr30/mb91301/current/src/hal_diag.c packages/hal/fr30/mb91301/current/src/variant.S
diffstat 5 files changed, 39 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/fr30/mb91301/current/ChangeLog
+++ b/packages/hal/fr30/mb91301/current/ChangeLog
@@ -1,3 +1,11 @@
+2008-07-01  Lars Poeschel  <larsi@wh2.tu-dresden.de>
+
+    * src/fr30_md91301.ld: Reworked memory layout for flash support.
+    * src/hal_diag.c:      Little updates in serial0 configuration registers.
+    * src/variant.S:       Made it possible for the platform to override
+                           variants rom vectors.
+    * include/variant.inc: Moved macros for sdram config addresses to platform.
+
 2007-07-09  Lars Poeschel  <larsi@wh2.tu-dresden.de>
 
     * src/fr30_md91301.ld:
--- a/packages/hal/fr30/mb91301/current/include/variant.inc
+++ b/packages/hal/fr30/mb91301/current/include/variant.inc
@@ -128,6 +128,7 @@ 8:
 
 ##-----------------------------------------------------------------------------
 ## ext bus interface registers
+## part used for flash
 
     .equ FR30_MB91301_ASR0,     0x640
     .equ FR30_MB91301_ACR0,     0x642
@@ -144,6 +145,15 @@ 8:
     .equ FR30_MB91301_PFR8,     0x618
     .equ FR30_MB91301_PCR8,     0x628
 
+## part used for sdram
+    .equ FR30_MB91301_ASR6,     0x658
+    .equ FR30_MB91301_ACR6,     0x65a
+    .equ FR30_MB91301_AWR6,     0x66c
+    .equ FR30_MB91301_MCRA,     0x670
+    .equ FR30_MB91301_MCRB,     0x671
+    .equ FR30_MB91301_RCR,      0x684
+
+
 ##-----------------------------------------------------------------------------
 ## registers for serial0 and U-timer settings
 ##
--- a/packages/hal/fr30/mb91301/current/src/fr30_mb91301.ld
+++ b/packages/hal/fr30/mb91301/current/src/fr30_mb91301.ld
@@ -78,6 +78,18 @@ GROUP(libtarget.a libgcc.a)
     { FORCE_OUTPUT; KEEP (*(.rom_vectors)) } \
     > _region_
 
+#define SECTION_rom_startup(_region_, _vma_, _lma_) \
+    .rom_startup_trampoline _vma_ : _lma_ \
+    { FORCE_OUTPUT; KEEP(*(.rom_startup_trampoline*)) } \
+    > _region_
+
+#define SECTION_ram_startup(_region_, _vma_, _lma_) \
+    .ram_startup_trampoline _vma_ : _lma_ \
+    { __ram_trampoline_start = ABSOLUTE (.); FORCE_OUTPUT; KEEP(*(.ram_startup_trampoline*)) } \
+    > _region_ \
+    __rom_trampoline_start = LOADADDR (.ram_startup_trampoline); \
+    __rom_trampoline_end = LOADADDR (.ram_startup_trampoline) + SIZEOF(.ram_startup_trampoline);
+
 #define SECTION_text(_region_, _vma_, _lma_) \
     .text _vma_ : _lma_ \
     { _stext = ABSOLUTE(.); \
@@ -97,11 +109,6 @@ GROUP(libtarget.a libgcc.a)
     { FORCE_OUTPUT; *(.rodata*) } \
     > _region_
 
-/* #define SECTION_startup_trampoline(_region_, _vma_, _lma_)
-    .startup_trampoline _vma_ : _lma_
-    { FORCE_OUTPUT; *(.startup_trampoline*) }
-    > _region_ */
-
 #define SECTION_rodata1(_region_, _vma_, _lma_) \
     .rodata1 _vma_ : _lma_ \
     { FORCE_OUTPUT; *(.rodata1) } \
@@ -117,11 +124,6 @@ GROUP(libtarget.a libgcc.a)
     { FORCE_OUTPUT; *(.gcc_except_table) } \
     > _region_
 
-#define SECTION_mmu_tables(_region_, _vma_, _lma_) \
-    .mmu_tables _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.mmu_tables) } \
-    > _region_
-
 #define SECTION_sram(_region_, _vma_, _lma_) \
     .sram _vma_ : _lma_ \
     { FORCE_OUTPUT; *(.sram*) } \
--- a/packages/hal/fr30/mb91301/current/src/hal_diag.c
+++ b/packages/hal/fr30/mb91301/current/src/hal_diag.c
@@ -100,8 +100,10 @@ void hal_diag_init_led(){
 
 void hal_diag_init(void){
 
-    HAL_WRITE_UINT8(CYG_HAL_FR30_MB91301_DDRJ, 0x2);
-    HAL_WRITE_UINT8(CYG_HAL_FR30_MB91301_PFRJ, 0x3);
+    // PJ2(SCK0) & PJ1(SOT0) output, PJ0(SIN0) input
+    HAL_WRITE_UINT8(CYG_HAL_FR30_MB91301_DDRJ, 0x6);
+    // PJ2(SCK0) & PJ1(SOT0) & PJ0(SIN0) to peripheral operation
+    HAL_WRITE_UINT8(CYG_HAL_FR30_MB91301_PFRJ, 0x7);
 
     // set up U-Timer
     HAL_WRITE_UINT8(CYG_HAL_FR30_MB91301_UTIMC0, 0x02);
--- a/packages/hal/fr30/mb91301/current/src/variant.S
+++ b/packages/hal/fr30/mb91301/current/src/variant.S
@@ -69,12 +69,13 @@
 # alterable. Vectors 255 to 80 are used by the INT instruction and set to 0
 # here for now ...
 
+#ifndef CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
+#define CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
+
 #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
 
      .section ".rom_vectors","ax"
 
-#    .data
-
     .balign 4
     .global hal_fr30_vector_table
 hal_fr30_vector_table:
@@ -161,7 +162,8 @@ hal_fr30_vector_table:
 # reset vector
     .long   _start
 
-#endif
+#endif /*CYG_HAL_STARTUP_ROM || CYG_HAL_STARTUP_ROMRAM*/
+#endif /*CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED*/
 
 ##-----------------------------------------------------------------------------
 # Interrupt vector tables.