LINUX.ORG.RU

История изменений

Исправление trex6, (текущая версия) :

Проверяю объектник:

$ arm-none-eabi-objdump -D ./main.o | grep main
./main.o:     file format elf32-littlearm
  18:	0c3f012e 	ldfeqs	f0, [pc], #-184	; ffffff68 <main+0xffffff68>
  1c:	0b3a0e03 	bleq	e83830 <main+0xe83830>
  34:	3b0b3a0e 	blcc	2ce874 <main+0x2ce874>
  40:	0b0b0024 	bleq	2c00d8 <main+0x2c00d8>
      ec:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff1f4 <main+0xfffff1f4>
     208:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff310 <main+0xfffff310>
     37c:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff484 <main+0xfffff484>
     41c:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff524 <main+0xfffff524>
     798:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff8a0 <main+0xfffff8a0>
     8b0:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff9b8 <main+0xfffff9b8>
     8f8:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffffa00 <main+0xfffffa00>
     a18:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffffb20 <main+0xfffffb20>
     bcc:	2b653638 	blcs	194e4b4 <main+0x194e4b4>
    172c:	4b48372d 	blmi	120f3e8 <main+0x120f3e8>
    17ac:	4b485538 	blmi	1216c94 <main+0x1216c94>
    17cc:	4b485538 	blmi	1216cb4 <main+0x1216cb4>
    1854:	4b35312d 	blmi	d4dd10 <main+0xd4dd10>
    191c:	4b4c3133 	blmi	130ddf0 <main+0x130ddf0>
    1950:	4b4c3133 	blmi	130de24 <main+0x130de24>
    19b4:	4b4c5530 	blmi	1316e7c <main+0x1316e7c>
    19e0:	4b4c5532 	blmi	1316eb0 <main+0x1316eb0>
    1afc:	4b4c4c55 	blmi	1314c58 <main+0x1314c58>
    1f30:	5a49535f 	bpl	1256cb4 <main+0x1256cb4>
    1f44:	5a49535f 	bpl	1256cc8 <main+0x1256cc8>
    1fb8:	5a49535f 	bpl	1256d3c <main+0x1256d3c>
    2014:	5a49535f 	bpl	1256d98 <main+0x1256d98>
    20ac:	4b524f57 	blmi	1495e10 <main+0x1495e10>
Disassembly of section .text.main:
00000000 <main>:
   c:	e000      	b.n	10 <main+0x10>
  20:	ddf5      	ble.n	e <main+0xe>
  28:	e7f2      	b.n	10 <main+0x10>
   0:	6d6f682f 	stclvs	8, cr6, [pc, #-188]!	; ffffff4c <main+0xffffff4c>
  20:	756f6300 	strbvc	r6, [pc, #-768]!	; fffffd28 <main+0xfffffd28>

После этого

$ arm-none-eabi-gcc -T"my.ld" -Xlinker --gc-sections -Wl,-Map,"test1.map" -mcpu=cortex-m3 -mthumb -g3 -o "test1.elf"  ./startup/gcc/startup_LPC177x_8x.o  ./main.o

Но при этом:

$ arm-none-eabi-objdump -D ./test1.elf | grep main
$ 

Судя по всему, опять какие-то проблемы с ld-скриптом.

Я использовал скрипт то этой ссылке http://code.google.com/p/rt-thread/source/browse/trunk/bsp/lpc178x/lpc17xx_ro...

P.S.

$ arm-none-eabi-objdump -D ./test1.elf | grep _start
00000000 <__cs3_heap_start>:

Исходная версия trex6, :

Проверяю объектник:

$ arm-none-eabi-objdump -D ./main.o | grep main
./main.o:     file format elf32-littlearm
  18:	0c3f012e 	ldfeqs	f0, [pc], #-184	; ffffff68 <main+0xffffff68>
  1c:	0b3a0e03 	bleq	e83830 <main+0xe83830>
  34:	3b0b3a0e 	blcc	2ce874 <main+0x2ce874>
  40:	0b0b0024 	bleq	2c00d8 <main+0x2c00d8>
      ec:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff1f4 <main+0xfffff1f4>
     208:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff310 <main+0xfffff310>
     37c:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff484 <main+0xfffff484>
     41c:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff524 <main+0xfffff524>
     798:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff8a0 <main+0xfffff8a0>
     8b0:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffff9b8 <main+0xfffff9b8>
     8f8:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffffa00 <main+0xfffffa00>
     a18:	555f5f00 	ldrbpl	r5, [pc, #-3840]	; fffffb20 <main+0xfffffb20>
     bcc:	2b653638 	blcs	194e4b4 <main+0x194e4b4>
    172c:	4b48372d 	blmi	120f3e8 <main+0x120f3e8>
    17ac:	4b485538 	blmi	1216c94 <main+0x1216c94>
    17cc:	4b485538 	blmi	1216cb4 <main+0x1216cb4>
    1854:	4b35312d 	blmi	d4dd10 <main+0xd4dd10>
    191c:	4b4c3133 	blmi	130ddf0 <main+0x130ddf0>
    1950:	4b4c3133 	blmi	130de24 <main+0x130de24>
    19b4:	4b4c5530 	blmi	1316e7c <main+0x1316e7c>
    19e0:	4b4c5532 	blmi	1316eb0 <main+0x1316eb0>
    1afc:	4b4c4c55 	blmi	1314c58 <main+0x1314c58>
    1f30:	5a49535f 	bpl	1256cb4 <main+0x1256cb4>
    1f44:	5a49535f 	bpl	1256cc8 <main+0x1256cc8>
    1fb8:	5a49535f 	bpl	1256d3c <main+0x1256d3c>
    2014:	5a49535f 	bpl	1256d98 <main+0x1256d98>
    20ac:	4b524f57 	blmi	1495e10 <main+0x1495e10>
Disassembly of section .text.main:
00000000 <main>:
   c:	e000      	b.n	10 <main+0x10>
  20:	ddf5      	ble.n	e <main+0xe>
  28:	e7f2      	b.n	10 <main+0x10>
   0:	6d6f682f 	stclvs	8, cr6, [pc, #-188]!	; ffffff4c <main+0xffffff4c>
  20:	756f6300 	strbvc	r6, [pc, #-768]!	; fffffd28 <main+0xfffffd28>

После этого

$ arm-none-eabi-gcc -T"my.ld" -Xlinker --gc-sections -Wl,-Map,"test1.map" -mcpu=cortex-m3 -mthumb -g3 -o "test1.elf"  ./startup/gcc/startup_LPC177x_8x.o  ./main.o

Но при этом:

$ arm-none-eabi-objdump -D ./test1.elf | grep main
$ 

Судя по всему, опять какие-то проблемы с ld-скриптом.

Я использовал скрипт то этой ссылке http://code.google.com/p/rt-thread/source/browse/trunk/bsp/lpc178x/lpc17xx_ro...