вчера пытался получить hex файл загрузив в AVR tudio 4 тестовую(проверенную) программу на ассемблере, после нажатия на
F7(Assemble), студия пишет:AvrAssembler: Object file is empty and not saved
не подскажете как с этим бороться ?
Так не подключайте библиотеку.Strim писал(а):...я ни одну функцию из этой библиотеки не использую...
Я не использую ни одну функцию, сказал к примеру. А вообще надо использовать и не одну!)pyzhman писал(а):Так не подключайте библиотеку.Strim писал(а):...я ни одну функцию из этой библиотеки не использую...
Вот вопрос и заключается в том, как заставить компилятор использовать только необходимое? Что б не трогать библиотеку.kobzar писал(а):Кстати таки да -
Был у меня подобный вопрос по работе либы с ЛЦД экраном!
Взял готовую с кучей всего что только можно! после того как написал код - залез в либу и удалил все лишнее что не использую и все !
Убираю, компилирую. В итоге тот же размер. И естественно ошибка функции. Функцию тоже коментирую.kobzar писал(а):вы в главном файле своем указываете #include "libename.h"
вот попробуйте убрать ето из мейн файла ету запись и скомпиьльте проект
Вот это уже интересно. Можно более подробное описание куда и что подкидывать.Kavka писал(а):Для последних версий gcc можно опций подкинуть.
Компилятору: -ffunction-sections -fdata-sections
Линкеру: -Wl,--gc-sections
Автоматическое исключение неиспользуемых данных и функций.
Спасибо за совет!!!!! Теперь все работает как надо. Правда я еще в процессе тестирования!!))Kavka писал(а):Для последних версий gcc можно опций подкинуть.
Компилятору: -ffunction-sections -fdata-sections
Линкеру: -Wl,--gc-sections
Автоматическое исключение неиспользуемых данных и функций.
Код: Выделить всё
typedef struct{
uint8_t ID;
uint8_t minute;
uint8_t hour;
uint8_t repeat;
uint8_t brightness_level;
uint8_t duration;
uint8_t speed;
uint8_t ON_OFF;
uint8_t XOR21;
uint8_t NameWakeUp[15];
uint8_t XOR22;
} wake_up;Код: Выделить всё
wake_up EEMEM WakeUpPresets[7];Код: Выделить всё
uint16_t EEMEM PWMvalueContein[2] = {68,72};Код: Выделить всё
eeprom unsigned char arr_not_used[10];
eeprom unsigned char arr11[3]={1,2,3};
eeprom unsigned char arr2[3]={1,2,3};
eeprom unsigned char arr3[3]={1,2,3};
eeprom_check(arr11,arr2,arr3,3);
void eeprom_check(eeprom unsigned char*arr11,eeprom unsigned char*arr22,eeprom unsigned char*arr33,unsigned char len){
......
}http://radiokot.ru/forum/viewtopic.php?f=57&t=79898shads писал(а):Не нашел тему про AVRSTUDIO 6..... напишу тут...