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

Reset vector not mapped to address 0x0

Hello,
I have stripped a large project of all its files, except the startup file. Then I added USB support and adjusted the scatter file, like this:

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x00000000 0x00004000  {    ; load region size_region
  ER_IROM1 0x00000000 0x00004000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
    ;HTTP_demo.o (+RO)
    ;HTTP_CGI.o (+RO)
   .ANY (+RO)
  }
  RW_IRAM1 0x40000000 0x00010000  {  ; RW data
    ;HTTP_CGI.o (+ZI +RW)
;       *FS_ARM_L.lib (+ZI)
;       *TCP_ARM_L.lib (+ZI)
   .ANY (+RW +ZI)
  }
;  RW_IRAM2 0x7FD00000 0x00004000  {
;    LPC24_EMAC.o (+ZI +RW)
;;;   ;*FS_ARM_L.lib (+ZI)
;  }
  RW_IRAM2 0x7FE00000 0x00004000  {
;;    LPC24_EMAC.o (+ZI +RW)
;;   ;*FS_ARM_L.lib (+ZI)
        .ANY (+RW +ZI)
  }
  RW_RAM1 0xA0000000 0xA0FFFFFF  {  ; RW data
;;   ;LPC24_EMAC.o (+ZI +RW)
;;   .ANY (+RW +ZI)
;       SYS_DEF.o (+ZI +RW)
;;      SYS_FILESYSTEM.o (+ZI +RW)
;;      SYS_IO.o (+ZI +RW)
;;      SYS_DEF_EXT_RAM.o (+ZI +RW)
;;      SYS_MAIN.o (+ZI +RW)
;;      SYS_RTC.o (+ZI +RW)
;;      SYS_TIMER.o (+ZI +RW)
;       SYS_UART2.o (+ZI +RW)
        .ANY (+RW +ZI)
  }
}

the problem is that my reset vector is not mapped to address 0x0, see map file entry:

0x00000000   0x00000008   Code   RO          219  * !!!main             __main.o(c_t.l)
    0x00000008   0x0000003c   Code   RO          316    !!!scatter          __scatter.o(c_t.l)
    0x00000044   0x00000028   Code   RO          318    !!handler_copy      __scatter_copy.o(c_t.l)
    0x0000006c   0x0000002c   Code   RO          320    !!handler_zi        __scatter_zi.o(c_t.l)
    0x00000098   0x00000004   Ven    RO          243    .emb_text           lib_init.o(c_t.l)
    0x0000009c   0x00000010   Code   RO          243    .emb_text           lib_init.o(c_t.l)
    0x000000ac   0x00000024   Code   RO            4    .text               lpc2400.o
    0x000000d0   0x00000008   Ven    RO          195    .text               boot_usbuser.o
    0x000000d8   0x0000004a   Code   RO          195    .text               boot_usbuser.o
    0x00000122   0x00000002   PAD
    0x00000124   0x00000004   Ven    RO          213    .text               uread4.o(c_t.l)
    0x00000128   0x00000020   Code   RO          213    .text               uread4.o(c_t.l)
    0x00000148   0x00000004   Ven    RO          215    .text               uwrite4.o(c_t.l)
    0x0000014c   0x00000020   Code   RO          215    .text               uwrite4.o(c_t.l)
    0x0000016c   0x00000040   Code   RO          217    .text               stkheap2.o(c_t.l)
    0x000001ac   0x00000004   Ven    RO          221    .text               switch8.o(h_t.l)
    0x000001b0   0x00000018   Code   RO          221    .text               switch8.o(h_t.l)
    0x000001c8   0x00000010   Code   RO          223    .text               callvia.o(h_t.l)
    0x000001d8   0x00000010   Code   RO          232    .text               rt_stackheap_storage_intlibspace.o(c_t.l)
    0x000001e8   0x0000000c   Code   RO          236    .text               libspace.o(c_t.l)
    0x000001f4   0x00000004   Code   RO          255    .text               use_no_semi.o(c_t.l)
    0x000001f8   0x00000004   PAD
    0x000001fc   0x00000004   Data   RO           89    .ARM.__at_0x1FC     boot_sbl_iap.o
    0x00000200   0x00000328   Code   RO            3    RESET               lpc2400.o

Can offer an explanation?

Parents Reply Children
No data