Sekcja startowa w AVR-GCC

Witam Nie mogę sobie przypomnieć jak pozbyć się (zmienić) sekcji startowej rozpoczynającej każdy program kompilowany w AVRGCC. Chodzi mi o te początkowe procedury związane z inicjalozacją stosu i zmiennych, które umieszczane są przez kompilator zaraz za wektorami przerwań:

00001826 <__ctors_end>: 1826: 11 24 eor r1, r1 1828: 1f be out 0x3f, r1 ; 63 182a: cf e5 ldi r28, 0x5F ; 95 182c: d4 e0 ldi r29, 0x04 ; 4 182e: de bf out 0x3e, r29 ; 62 1830: cd bf out 0x3d, r28 ; 61

00001832 <__do_copy_data>: 1832: 10 e0 ldi r17, 0x00 ; 0 1834: a0 e6 ldi r26, 0x60 ; 96 1836: b0 e0 ldi r27, 0x00 ; 0 1838: e8 ec ldi r30, 0xC8 ; 200 183a: fe e1 ldi r31, 0x1E ; 30 183c: 02 c0 rjmp .+4 ; 0x1842

0000183e <.do_copy_data_loop>: 183e: 05 90 lpm r0, Z+ 1840: 0d 92 st X+, r0

00001842 <.do_copy_data_start>: 1842: a0 36 cpi r26, 0x60 ; 96 1844: b1 07 cpc r27, r17 1846: d9 f7 brne .-10 ; 0x183e

itd. itp. :-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk
Loading thread data ...

Grzegorz Kurczyk przemówił ludzkim głosem:

Możesz dodać do opcji linkera -nostartfiles, ale to spowoduje wyrzucenie wszystkiego co jest w crt (łącznie z tablicą wektorów przerwań), więc będziesz musiał napisać i dołączyć do projektu własną okrojoną wersję crt.

Reply to
Zbych

Zbych snipped-for-privacy@onet.pl napisał(a):

Opcja -nostartfiles , "wyrzuci" wyłącznie tablicę wektorów , a crt pozostanie :( Do pozbycia się całego bałaganu , użyj -nostdlib.

Piotrek PS Kombinujesz z bootloaderem ?

Reply to
Piotrek Sz.

Użytkownik Piotrek Sz. napisał:

Też, ale akurat w przypadku bootloadera w niczym mi to nie przeszkadza :-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.