VladimirYU 0 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Почему map файлы для Release и для Debug при одних и тех же настройках в проекте отличаются по размерам кода и данных (IAR EWAVR). Где почитать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Почему map файлы для Release и для Debug при одних и тех же настройках в проекте отличаются по размерам кода и данных (IAR EWAVR). Где почитать?Потому что настройки все же разные. Читать в заголовках .lst и .map - там перечислены ключи, с которыми вызывались компилятор и линкер. Сравнивая заголовки, можно найти отличие и уже дальше искать какая галочка за это отличие отвечает - ее вы и не заметили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Потому что настройки все же разные. Читать в заголовках .lst и .map - там перечислены ключи, с которыми вызывались компилятор и линкер. Сравнивая заголовки, можно найти отличие и уже дальше искать какая галочка за это отличие отвечает - ее вы и не заметили. Спасибо, идею понял, проверю. Но всвязи с этим другой вопрос, может ли это быть причиной подводных камней в функционировании одного и того же устройства прошитого из Debug JTAG-ом или из Release, например, AVReal-ом. Вопрос для меня не только теоретичесий, две партии приборов ведут себя по разному, прошиты были, как сказано выше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Но всвязи с этим другой вопрос, может ли это быть причиной подводных камней в функционировании одного и того же устройства прошитого из Debug JTAG-ом или из Release, например, AVReal-омДа, может (даже если не считать возможность различной установки Fuses). Поскольку одни и те же строчки строчки исходника компилируются по-разному, не совсем корректные конструкции при определенных установках могут дать работоспособный код. Не исключается и ошибка компилятора, но это настолько ничтожный процент... Мне за 8 лет работы с ИАРом попались только две. Посколько программатор обычно проверяет за собой - думаю что программатор из списка подозреваемых можно исключить. Ну а поскольку Fuses не являются частью исходника, то если разница в них - виноват программист, который их неверно перечислил в .bat-файле для AvReAl. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба может ли это быть причиной подводных камней в функционировании одного и того же устройства прошитого из Debug JTAG-ом или из Release, например, AVReal-ом. Вопрос для меня не только теоретичесий, две партии приборов ведут себя по разному, прошиты были, как сказано выше. Конечно может! Debug и Realese с установками "по-умолчанию" отличаются как минимум уровнем оптимизации исходного когда. А при максимальном уровне оптимизации иногда такие чудеса начинаются, что ой-ёй-ёй! Особенно, когда программист на Си не знает про квалификатор volatile ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirYU 0 13 июля, 2007 Опубликовано 13 июля, 2007 · Жалоба Конечно может! Debug и Realese с установками "по-умолчанию" отличаются как минимум уровнем оптимизации исходного когда. А при максимальном уровне оптимизации иногда такие чудеса начинаются, что ой-ёй-ёй! Особенно, когда программист на Си не знает про квалификатор volatile ;) Фузы выставлены одинаково, с volatile, конечно, знаком. Но вспоминается EW IARAVR 3.20C там налетел на глюк, пока не апгрейдил до D. Буду искать причину. Объем кода 30К, отличие кода Release oт Debug 28 байт, по данным 1 байт (2677 и 2676). Спасибо всем откликнувшимся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться