реклама на сайте
подробности

 
 
> Работа с EEPROM в AVR Studio, проблема начинающего...
DAndy_boy
сообщение Mar 13 2006, 12:16
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



Всем здрасти! Я только начал изучать МК. Пишу на Си в AVR Studio. help.gif Столкнулся с токой проблемой...как создать переменную которая будет распологаться в EEPROM? И какие хедары надо подключать? Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 10)
Shuuura
сообщение Mar 13 2006, 13:47
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 80
Регистрация: 23-08-05
Пользователь №: 7 902



Так на Си или в AvrStudio?
Например в IAR (это на Си glare.gif )
char __eeprom a;

Сообщение отредактировал Shuuura - Mar 13 2006, 13:49
Go to the top of the page
 
+Quote Post
DAndy_boy
сообщение Mar 13 2006, 14:35
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



Я пишу на Си в AvrStudio подключив WinAVR... вот так
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 13 2006, 14:59
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Необходим атрибут __attribute__ ((section (".eeprom")));
можно прописать его как удобоваримый макрос типа:

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

Для манипуляций с данными хидер <avr/eeprom.h>


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
DAndy_boy
сообщение Mar 13 2006, 20:57
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



очень странно....я подключаю библиотеку <avr/eeprom.h> и проект при компиляции виснет
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 14 2006, 06:25
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Какая версия WinAVR?
Попробуйте скомпилить просто с командной строки, при связке со студией нередко бывают косяки.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
DAndy_boy
сообщение Mar 14 2006, 18:09
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



версия WinAVR - 20060125...по все видимости там библиотека eeprom.h какая то глючная.... или совместимость храмает
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 14 2006, 19:49
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Библиотека глючной быть не может - это файл который обрабатывается.
Если виснет среда - это проблемы или студии или компилятора.
Студия никогда не блистала, 2006 ВинАвр не пробовал.
Какие симптомы - на чем обламыаеться?
Повторюсь насчет командной строки.Если компилер - сразу будет видно.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
kyrogaz
сообщение Mar 14 2006, 20:34
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 20
Регистрация: 14-03-06
Пользователь №: 15 248



...столкнулся с подобной проблемой: добавил #include <stdio.h>, пробую компилить и виснет; перезагружаю студию, открываю прожект и снова виснет sad.gif. Проблема именно в WinAVR, на asm-е вроде все путем.
Реально ли поправить глюк? Уж больно в студии отладчик хороший.
Go to the top of the page
 
+Quote Post
DAndy_boy
сообщение Mar 14 2006, 20:39
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 25-09-05
Из: Москва
Пользователь №: 8 922



Да симптомы простые....достаточно написать в работающем коде #include<avr/eeprom.h> и запустить комппиляцию, как прога виснет..... А на счет командной строки...во превых я по первости никак не разберусь какую командную строку писать, а во-вторых в компиляторе хоетлось бы всетаки видеть что происходит с переменными.... привык я на Си-ках для ПК работать - покидал в Watch все свои переменные и сидишь жмешь себе F7, ошибки ищешь...... Заране спасибо!

Цитата
kyrogaz


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

Сообщение отредактировал DAndy_boy - Mar 14 2006, 20:36
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 15 2006, 08:56
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
А на счет командной строки...во превых я по первости никак не разберусь какую командную строку писать, а во-вторых в компиляторе хоетлось бы всетаки видеть что происходит с переменными....

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

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


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01453 секунд с 7
ELECTRONIX ©2004-2016