Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с EEPROM в AVR Studio
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
DAndy_boy
Всем здрасти! Я только начал изучать МК. Пишу на Си в AVR Studio. help.gif Столкнулся с токой проблемой...как создать переменную которая будет распологаться в EEPROM? И какие хедары надо подключать? Заранее спасибо.
Shuuura
Так на Си или в AvrStudio?
Например в IAR (это на Си glare.gif )
char __eeprom a;
DAndy_boy
Я пишу на Си в AvrStudio подключив WinAVR... вот так
beer_warrior
Необходим атрибут __attribute__ ((section (".eeprom")));
можно прописать его как удобоваримый макрос типа:

#define EEPROM_DATA __attribute__ ((section (".eeprom")));

Для манипуляций с данными хидер <avr/eeprom.h>
DAndy_boy
очень странно....я подключаю библиотеку <avr/eeprom.h> и проект при компиляции виснет
beer_warrior
Какая версия WinAVR?
Попробуйте скомпилить просто с командной строки, при связке со студией нередко бывают косяки.
DAndy_boy
версия WinAVR - 20060125...по все видимости там библиотека eeprom.h какая то глючная.... или совместимость храмает
beer_warrior
Библиотека глючной быть не может - это файл который обрабатывается.
Если виснет среда - это проблемы или студии или компилятора.
Студия никогда не блистала, 2006 ВинАвр не пробовал.
Какие симптомы - на чем обламыаеться?
Повторюсь насчет командной строки.Если компилер - сразу будет видно.
kyrogaz
...столкнулся с подобной проблемой: добавил #include <stdio.h>, пробую компилить и виснет; перезагружаю студию, открываю прожект и снова виснет sad.gif. Проблема именно в WinAVR, на asm-е вроде все путем.
Реально ли поправить глюк? Уж больно в студии отладчик хороший.
DAndy_boy
Да симптомы простые....достаточно написать в работающем коде #include<avr/eeprom.h> и запустить комппиляцию, как прога виснет..... А на счет командной строки...во превых я по первости никак не разберусь какую командную строку писать, а во-вторых в компиляторе хоетлось бы всетаки видеть что происходит с переменными.... привык я на Си-ках для ПК работать - покидал в Watch все свои переменные и сидишь жмешь себе F7, ошибки ищешь...... Заране спасибо!

Цитата
kyrogaz


kyrogaz, горьким опытом научен, дабы открыть проект после того как он завис, надо из папочки default все удалить тогда он спокойно открывается, и перед компиляцией удалить строки которые привли к зависанию..... А то 33проекта пока насоздаешь все проклянешь)))
beer_warrior
Цитата
А на счет командной строки...во превых я по первости никак не разберусь какую командную строку писать, а во-вторых в компиляторе хоетлось бы всетаки видеть что происходит с переменными....

Есть в поставке такой утиль - MFile, совершенно простой - задаешь список входных файлов, стандарт компилятора, формат выходного файла, формат отладочной информации. На выходе получаешь мэйк-файл.
Копируешь его в каталог проекта, запускаешь make, видишь процесс компиляции и линковки. Смотришь в каком месте обламываеться. На выходе получаешь elf файл который подсовуешь студии для отладки и
бинарный файл для прошивки.

Возможные проблемы.
1.В мэйке должны быть указаны пути к avr-gcc, avr-ld, avr-objcopy(winavr/bin) и утилитам cp,rm, echo(winavr/utils/bin)
2.Если в системе стоит что-то борландовское, вызоветься их мэйк.
Тогда надо принять меры к вызову именно винавровского мэйка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.