Цитата
По поводу опций линкера не совсем понял что значит параметр ".text" в примере -Wl,--section-start=.text=0x30000 ?,
Это имя секции. В GCC (точнее в ELF, но не суть) все данные (включая код и переменные) располагаются в каких то именованных секциях, и никак иначе. Линкер, в процессе генерации исполняемого образа, собирает вместе именованные секции, и располагает их по заданным адресам, как именно - описывается в скрипте линкера. Если вы не подаете скрипт - линкер все равно берет скрипт по умолчанию.
Секция .text содержит код программы (имя секции выбрано по историческим причинам).
Цитата
Не пойму - что здесь такое - "атрибут" ?
Это атрибут функции (в понимании GCC). В GCC есть масса разных атрибутов, в вашем случае это атрибут 'section'. Он задает имя секции (в выходном объектном файле), куда будет помещен код функции.
Цитата
и здесь ".bootloader" это произвольное название секции которое указываем в опции линкера: -Wl,--section-start=.bootloader=0x1E000 ?
Т.е. в любом случае нужно указывать название и адрес области в линкере?
Именно так.
Цитата
А, кстати, где скрипт лежит?
Увы, установленного AVRGCC у меня нет. Но можно выковырять из исходников binutils, там есть (шаблон в ld/scripttempl/avr.sc)