В общем на данный момент у меня есть один работающий проект в котором прошивка генерируется с нужного адреса. в мар файле этого проекта написано: ICODE Relative segment, address: 00004000 - 000040FB (0xfc bytes), align: 2 Segment part 1. ROOT. ENTRY ADDRESS REF BY ===== ======= ====== __main 000040D0 AT91F_Default_FIQ_handler 000040D8 AT91F_Default_IRQ_handler 000040DC AT91F_Spurious_handler 000040E0 LOCAL ADDRESS ===== ======= reset 00004000 InitReset 0000408C undefvec 00004004 swivec 00004008 pabtvec 0000400C dabtvec 00004010 rsvdvec 00004014 irqvec 00004018 IRQ_Handler_Entry 00004044 fiqvec 0000401C FIQ_Handler_Entry 0000401C ?jump_to_main 000040C8 ?call_exit 000040D4 End 000040D4 _?0 000040E4 _?1 000040E8 _?2 000040EC _?3 000040F0 _?4 000040F4 _?5 000040F8
И есть ещё мой проект от которого я так и не могу добиться нужного. в его мар файле написано:
ENTRY ADDRESS REF BY ===== ======= ====== _HEAP_SIZE 00000000 _IRQ_STACK_SIZE 00000A00 _CSTACK_SIZE 00002000 RAMEND 00207FFF RAMSTART 00200000 ROMEND 0007FFFF ROMSTART 00004000 *************************************************************************
SEGMENTS IN THE MODULE ====================== INITTAB Relative segment, address: 00004000 - 0000400B (0xc bytes), align: 2 Segment part 20. ROOT.
ENTRY ADDRESS REF BY ===== ======= ====== ?init?tab?DATA_Z 00004000
SEGMENT SPACE START ADDRESS END ADDRESS SIZE TYPE ALIGN ======= ===== ============= =========== ==== ==== ===== INITTAB 00004000 - 0000400B C rel 2 DATA_Z 00200000 dse 0
Я так понимаю что после того как я ставлю крыжик override default program entry, defined by application компилятор не может найти начало программы. Как ему показать на него? И ещё вопрос, что за файлы Cstartup.s79 Cstartup_SAM7.c и как их подцепить/отцепить от проекта?
|