Цитата(juvf @ Dec 9 2009, 19:29)

Конечно надо. Но я не определял ни каких секций типа .data .text и .bootloader. Однако после линковки я получаю увидомление, что в этих секциях занато столько-то памяти. Может где-то avr-c++ берёт эти секции, ведь я указал во фьюзах размер загрузочного сектора и его размещение. По идее этого должно быть достаточно, чтоб ИДЕ всё остальное сделала сама. Вот я пытаюсь с этим разобраться.
секции .text, .data и многие другие определены в дефолтных скриптах линкера. Поэтому одним из моих советов было - скопировать такой скрипт, поправить и подключить его.
Цитата(juvf @ Dec 9 2009, 19:29)

конечно обратил. я добавлял в "Для всего", потом для конкретного сишного файла опцию "-WI, --section-start=.bootloader=0xf000", и пробывал указать опцию линкеру "--section-start=.bootloader=0xf000", "-section-start=.bootloader=0xf000", "section-start=.bootloader=0xf000". Эффект один и тотже - "... overlaps ...". Пробывал по всякому. ((
вы не попробовали правильную комбинацию - указать -Wl,--section-start=.bootloader=0xf000 в опциях линкера. Обратите внимание, что после -Wl, (Wl, а не WI) пробела быть не должно.
Цитата(juvf @ Dec 9 2009, 19:29)

Что значит "скопировать скрипт линкера в проект" AVR Studio?
Значить скопировать его в папку проекта и указать на него линкеру ключем -Wl,-T,<имя файла>
Цитата(juvf @ Dec 9 2009, 19:29)

И далее... наверно я не так спросил, или вы не так поняли.... я не хочу скопировать библиотечную функцию в секцию загрузчика. Я написал свой загрузчик
Даже использование оператора switch() может приводить к вызову библиотечной функции ветвления. Аналогично с умножениями, делениями и т.д. При компиляции с ключем -mcall-prologues даже пролог и эпилог некоторых функций используют библиотечные подпрограммы для сохранения/восстановления регистров (а это иногда полезно для экономии памяти кода, особенно для загрузчика).
Цитата(juvf @ Dec 10 2009, 05:30)

Да и Сергея я не понял, он мне отвечает так, как будь-то я действительно как чайник, спросил сколько бит в байте и что такое "напряжометр".
Извините, но опция -Wl описана в документации. Студия при компиляции выводит в окно сообщений командную строку, которой вызывает gcc. Не сложить эту информацию вместе может только чайник. Вопросы плана "что значит скопировать скрипт линкера в проект" тоже задают чайники. Это ваше первое сообщение на форуме, поэтому ни у кого не было возможности по предыдущим вашим сообщениям прикинуть ваш уровень.
Цитата(juvf @ Dec 10 2009, 05:30)

А на самом деле проблема пахнет очередной багой в авр студио. Опять придется багрепорт писать. ((
Баги нет. Я
a) сам лично использовал этот метод передачи параметров когда начинал осваивать gcc
б) проверил перед тем, как писать на форум.
Цитата(juvf @ Dec 10 2009, 06:57)

SysRq Спасибо!!! Проблема решена.
Заставили оболочку вписать -Wl,--section-start без ошибок и туда, куда надо. Что было причиной, почему заработало - так и не разобрались. "Бага в студии!" Типичный "не чайницкий" подход?
Добалю к вот этому:
Цитата
Но я не определял ни каких секций типа .data .text и .bootloader
В описании линкера сказано, что если линкер не нашел в скрипте указания, куда класть текущую входную секцию - то он создает выходную секцию с таким же именем, что и входная, и размещает ее следом за последней размещенной. Так появляется выходная секция .bootloader
И совсем П.С. Слева вверху есть иконка

, под ней прячется линк "
новые сообщения". Там ответы на ваше сообщение будут видны независимо от того, куда переместили ветку.