memory_map.h 파일에서
//-----------------------------------------------------------------------------
// S3C2440 physical
//-----------------------------------------------------------------------------
#define CS0_PHYS  0x00000000
#define CS1_PHYS  0x08000000
#define CS2_PHYS  0x10000000
#define CS3_PHYS  0x18000000
#define CS4_PHYS  0x20000000
#define CS5_PHYS  0x28000000
#define CS6_PHYS  0x30000000
#define CS7_PHYS  0x38000000

#define DRAM_START      (CS6_PHYS)

#define BOOT_START   (DRAM_START + 0x00F00000)
#define BOOT_IRQ        (DRAM_START + 0x00F01000)
#define BOOT_MAIN       (DRAM_START + 0x00F01008)
#define BOOT_STACK  (DRAM_START + 0x00F80000)
#define BOOT_WORK_START (DRAM_START + 0x01000000)   // 일반적인 부트 로더 작업 영역
#define BOOT_SIZE       (128*1024)              // 부트영역의 크기

#define KERNEL_START    (DRAM_START + 0x00008000)   // 램에서 커널     시작 어드레스
#define RAMDISK_START   (DRAM_START + 0x00800000)   // 램에서 램디스크 시작 어드레스
#define LOGO_START  (DRAM_START + 0x02000000) // 램에서 부트로고 시작 어드레스

#define INITRD_RAMDISK_START   "0x30800000"

#define KERNEL_PARAM    (DRAM_START)  // 부트로더에서 커널로 전달하는 영역 시작 어드레스 





위와 같이 메모리 주소가 정의되어 있었습니다.

그리고, start.S 파일의 87번째 줄에 보시면

  



//-------------------------------------------
  //
  //  나중에 C로 점프할 경우를 대비하여 스택을 설정한다.
  //
  //-------------------------------------------

  //-------------------------------------------
  // IRQ/FIQ 를 디스에이블 시키고 IRQ 모드로 전환한다.
  //-------------------------------------------
  mrs  r0, CPSR
  bic  r0, r0, #0x1F
  orr  r0, r0, #( ARM_MODE_IRQ | IRQ_DISABLE | FIRQ_DISABLE )
  msr  CPSR_c, r0

  //-------------------------------------------
  //  IRQ 스택을 설정한다.
  //-------------------------------------------
  ldr  r1, =BOOT_STACK
  sub  sp, r1, #0x04

  //-------------------------------------------
  // IRQ/FIQ 를 디스에이블 시키고 수퍼바이저 모드로 전환한다.
  //-------------------------------------------
  mrs  r0, CPSR
  bic  r0, r0, #0x1F
  orr  r0, r0, #( ARM_MODE_SVC | IRQ_DISABLE | FIRQ_DISABLE )
  msr  CPSR_c, r0
  
  //-------------------------------------------
        //  수퍼바이저 스택을 설정한다.
  //-------------------------------------------
  sub     r1, r1, #IRQ_STACK_SIZE
  mov  sp,r1

  nop
  nop
  nop


이와 같이 스택영역의 시작주소가 스택 메모리영역의 시작 주소를 가리키고 있는데,

원래 초기 스택메모리 주소 지정시 스택 메모리영역의 끝 주소를 가리켜야 되지 않는지에 대해

자세히 알려주시면 감사하겠습니다.