with this I get the following error after linking the files:Error: L6967E: Entry point (0x00000000) points to a THUMB instruction but is not a valid THUMB code pointer.I googled for this problem but could not get a answer that fits. Does anybody have an idea why the 0x0 is not a THUMB pointer?
(ExecFuncPtr)&Image$$ARM_LIB_STACK$$ZI$$Limit, (ExecFuncPtr)&__main, /* Initial PC, set to entry point */
ROM_LOAD 0x0000{ ROM_EXEC 0x0000 0x4000 { exceptions.obj (exceptions_area, +FIRST) * (InRoot$$Sections) } RAM 0x10000 0x8000 { * (+RO, +RW, +ZI) } ARM_LIB_STACK 0x800000 EMPTY 0x10000 { }}
Memory Map of the image Image Entry point : 0x00000000 Load Region ROM_LOAD (Base: 0x00000000, Size: 0x00007308, Max: 0xffffffff, ABSOLUTE) Execution Region ROM_EXEC (Base: 0x00000000, Size: 0x000000f0, Max: 0x00004000, ABSOLUTE) Base Addr Size Type Attr Idx E Section Name Object 0x00000000 0x00000008 Code RO 575 * !!!main __main.o(c_w.b) 0x00000008 0x00000034 Code RO 739 !!!scatter __scatter.o(c_w.b) 0x0000003c 0x0000001a Code RO 741 !!handler_copy __scatter_copy.o(c_w.b) 0x00000056 0x00000002 PAD 0x00000058 0x0000001c Code RO 743 !!handler_zi __scatter_zi.o(c_w.b) 0x00000074 0x00000030 Data RO 737 Region$$Table anon$$obj.o 0x000000a4 0x0000004c Data RW 439 exceptions_area exceptions.obj
The address location 0x4 should be updated while loading the firmware code itself.