This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using SDRAM MT48LC4M32B2-6 with LPC2478

Hello All,

1. I am interfacing SDRAM MT48LC4M32B2 with LPC2478. I am able to initialize it and test it in main() function without including it in scatter file.

Below is my problem statement........................................................
.....................................................................................
2. i want use it as DATA, HEAP and STACK sections. hence added in scatter file and initialised in LPC2400.s
but it can't work.

Below is scatter file................................................................
.....................................................................................
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x00000000 0x00080000 { ; load region size_region ER_IROM1 0x00000000 0x00080000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO)
}

RW_IRAM1 0x40000000 0x00010000
{ .ANY (+RW +ZI)
} RW_IRAM2 0x7FE00000 0x00004000 { .ANY (+RW +ZI)
}

RW_RAM1 0xA0000000 0x01000000 { ; RW data .ANY (+RW +ZI)
}

ARM_LIB_HEAP 0xA0100000 EMPTY 0x8000
{ }

ARM_LIB_STACK 0xA0110000 EMPTY -0x8000
{ }
} scatter file end.....................................................................
.....................................................................................

Parents
  • ; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
    NO_EMC_SETUP EQU 0
    Mode_USR EQU 0x10
    Mode_FIQ EQU 0x11
    Mode_IRQ EQU 0x12
    Mode_SVC EQU 0x13
    Mode_ABT EQU 0x17
    Mode_UND EQU 0x1B
    Mode_SYS EQU 0x1F

    I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled
    F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled

    ;----------------------- Memory Definitions ------------------------------------

    ; Internal Memory Base Addresses
    FLASH_BASE EQU 0x00000000
    RAM_BASE EQU 0x40000000
    EXTMEM_BASE EQU 0x80000000

    ; External Memory Base Addresses
    STA_MEM0_BASE EQU 0x80000000
    STA_MEM1_BASE EQU 0x81000000
    STA_MEM2_BASE EQU 0x82000000
    STA_MEM3_BASE EQU 0x83000000
    DYN_MEM0_BASE EQU 0xA0000000
    DYN_MEM1_BASE EQU 0xB0000000
    DYN_MEM2_BASE EQU 0xC0000000
    DYN_MEM3_BASE EQU 0xD0000000

    ;----------------------- Stack and Heap Definitions ----------------------------

    ;// <h> Stack Configuration (Stack Sizes in Bytes)
    ;// <o0> Undefined Mode <0x0-0xFFFFFFFF:8>
    ;// <o1> Supervisor Mode <0x0-0xFFFFFFFF:8>
    ;// <o2> Abort Mode <0x0-0xFFFFFFFF:8>
    ;// <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:8>
    ;// <o4> Interrupt Mode <0x0-0xFFFFFFFF:8>
    ;// <o5> User/System Mode <0x0-0xFFFFFFFF:8>
    ;// </h>

    UND_Stack_Size EQU 0x00000100
    SVC_Stack_Size EQU 0x00000100
    ABT_Stack_Size EQU 0x00000100
    FIQ_Stack_Size EQU 0x00000100
    IRQ_Stack_Size EQU 0x00000100
    USR_Stack_Size EQU 0x00002000

    ISR_Stack_Size EQU (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \ FIQ_Stack_Size + IRQ_Stack_Size)

    AREA STACK, NOINIT, READWRITE, ALIGN=4

    Stack_Mem SPACE USR_Stack_Size
    __initial_sp SPACE ISR_Stack_Size

    Stack_Top

    ;// <h> Heap Configuration
    ;// <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF>
    ;// </h>

    Heap_Size EQU 0x00000800

    AREA HEAP, NOINIT, READWRITE, ALIGN=4
    __heap_base
    Heap_Mem SPACE Heap_Size
    __heap_limit

    ;----------------------- Clock Definitions -------------------------------------

    ; System Control Block (SCB) Module Definitions
    SCB_BASE EQU 0xE01FC000 ; SCB Base Address
    PLLCON_OFS EQU 0x80 ; PLL Control Offset
    PLLCFG_OFS EQU 0x84 ; PLL Configuration Offset
    PLLSTAT_OFS EQU 0x88 ; PLL Status Offset
    PLLFEED_OFS EQU 0x8C ; PLL Feed Offset
    CCLKCFG_OFS EQU 0x104 ; CPU Clock Divider Reg Offset
    USBCLKCFG_OFS EQU 0x108 ; USB Clock Divider Reg Offset
    CLKSRCSEL_OFS EQU 0x10C ; Clock Source Sel Reg Offset
    SCS_OFS EQU 0x1A0 ; Sys Control and Status Reg Offset
    PCLKSEL0_OFS EQU 0x1A8 ; Periph Clock Sel Reg 0 Offset
    PCLKSEL1_OFS EQU 0x1AC ; Periph Clock Sel Reg 0 Offset

    PCON_OFS EQU 0x0C0 ; Power Mode Control Reg Offset
    PCONP_OFS EQU 0x0C4 ; Power Control for Periphs Reg Offset

    ; Constants
    OSCRANGE EQU (1<<4) ; Oscillator Range Select
    OSCEN EQU (1<<5) ; Main oscillator Enable
    OSCSTAT EQU (1<<6) ; Main Oscillator Status
    PLLCON_PLLE EQU (1<<0) ; PLL Enable
    PLLCON_PLLC EQU (1<<1) ; PLL Connect
    PLLSTAT_M EQU (0x7FFF<<0) ; PLL M Value
    PLLSTAT_N EQU (0xFF<<16) ; PLL N Value
    PLLSTAT_PLOCK EQU (1<<26) ; PLL Lock Status

    ;NO_CLOCK_SETUP EQU 0
    ;CLOCK_SETUP EQU 1
    SCS_Val EQU 0x00000021
    CLKSRCSEL_Val EQU 0x00000001
    PLLCFG_Val EQU 0x0001001F
    CCLKCFG_Val EQU 0x00000007
    USBCLKCFG_Val EQU 0x00000007
    PCLKSEL0_Val EQU 0x00000000
    PCLKSEL1_Val EQU 0x00000000

Reply
  • ; Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs
    NO_EMC_SETUP EQU 0
    Mode_USR EQU 0x10
    Mode_FIQ EQU 0x11
    Mode_IRQ EQU 0x12
    Mode_SVC EQU 0x13
    Mode_ABT EQU 0x17
    Mode_UND EQU 0x1B
    Mode_SYS EQU 0x1F

    I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled
    F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled

    ;----------------------- Memory Definitions ------------------------------------

    ; Internal Memory Base Addresses
    FLASH_BASE EQU 0x00000000
    RAM_BASE EQU 0x40000000
    EXTMEM_BASE EQU 0x80000000

    ; External Memory Base Addresses
    STA_MEM0_BASE EQU 0x80000000
    STA_MEM1_BASE EQU 0x81000000
    STA_MEM2_BASE EQU 0x82000000
    STA_MEM3_BASE EQU 0x83000000
    DYN_MEM0_BASE EQU 0xA0000000
    DYN_MEM1_BASE EQU 0xB0000000
    DYN_MEM2_BASE EQU 0xC0000000
    DYN_MEM3_BASE EQU 0xD0000000

    ;----------------------- Stack and Heap Definitions ----------------------------

    ;// <h> Stack Configuration (Stack Sizes in Bytes)
    ;// <o0> Undefined Mode <0x0-0xFFFFFFFF:8>
    ;// <o1> Supervisor Mode <0x0-0xFFFFFFFF:8>
    ;// <o2> Abort Mode <0x0-0xFFFFFFFF:8>
    ;// <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:8>
    ;// <o4> Interrupt Mode <0x0-0xFFFFFFFF:8>
    ;// <o5> User/System Mode <0x0-0xFFFFFFFF:8>
    ;// </h>

    UND_Stack_Size EQU 0x00000100
    SVC_Stack_Size EQU 0x00000100
    ABT_Stack_Size EQU 0x00000100
    FIQ_Stack_Size EQU 0x00000100
    IRQ_Stack_Size EQU 0x00000100
    USR_Stack_Size EQU 0x00002000

    ISR_Stack_Size EQU (UND_Stack_Size + SVC_Stack_Size + ABT_Stack_Size + \ FIQ_Stack_Size + IRQ_Stack_Size)

    AREA STACK, NOINIT, READWRITE, ALIGN=4

    Stack_Mem SPACE USR_Stack_Size
    __initial_sp SPACE ISR_Stack_Size

    Stack_Top

    ;// <h> Heap Configuration
    ;// <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF>
    ;// </h>

    Heap_Size EQU 0x00000800

    AREA HEAP, NOINIT, READWRITE, ALIGN=4
    __heap_base
    Heap_Mem SPACE Heap_Size
    __heap_limit

    ;----------------------- Clock Definitions -------------------------------------

    ; System Control Block (SCB) Module Definitions
    SCB_BASE EQU 0xE01FC000 ; SCB Base Address
    PLLCON_OFS EQU 0x80 ; PLL Control Offset
    PLLCFG_OFS EQU 0x84 ; PLL Configuration Offset
    PLLSTAT_OFS EQU 0x88 ; PLL Status Offset
    PLLFEED_OFS EQU 0x8C ; PLL Feed Offset
    CCLKCFG_OFS EQU 0x104 ; CPU Clock Divider Reg Offset
    USBCLKCFG_OFS EQU 0x108 ; USB Clock Divider Reg Offset
    CLKSRCSEL_OFS EQU 0x10C ; Clock Source Sel Reg Offset
    SCS_OFS EQU 0x1A0 ; Sys Control and Status Reg Offset
    PCLKSEL0_OFS EQU 0x1A8 ; Periph Clock Sel Reg 0 Offset
    PCLKSEL1_OFS EQU 0x1AC ; Periph Clock Sel Reg 0 Offset

    PCON_OFS EQU 0x0C0 ; Power Mode Control Reg Offset
    PCONP_OFS EQU 0x0C4 ; Power Control for Periphs Reg Offset

    ; Constants
    OSCRANGE EQU (1<<4) ; Oscillator Range Select
    OSCEN EQU (1<<5) ; Main oscillator Enable
    OSCSTAT EQU (1<<6) ; Main Oscillator Status
    PLLCON_PLLE EQU (1<<0) ; PLL Enable
    PLLCON_PLLC EQU (1<<1) ; PLL Connect
    PLLSTAT_M EQU (0x7FFF<<0) ; PLL M Value
    PLLSTAT_N EQU (0xFF<<16) ; PLL N Value
    PLLSTAT_PLOCK EQU (1<<26) ; PLL Lock Status

    ;NO_CLOCK_SETUP EQU 0
    ;CLOCK_SETUP EQU 1
    SCS_Val EQU 0x00000021
    CLKSRCSEL_Val EQU 0x00000001
    PLLCFG_Val EQU 0x0001001F
    CCLKCFG_Val EQU 0x00000007
    USBCLKCFG_Val EQU 0x00000007
    PCLKSEL0_Val EQU 0x00000000
    PCLKSEL1_Val EQU 0x00000000

Children