We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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?
I forgot to add retarget.c to my project...