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

 
 
> WinAVR & External memory, проблема
Axer
сообщение May 24 2005, 08:28
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 24-05-05
Пользователь №: 5 336



Здравствуйте. У меня проблема с внешней памятью при работе с АтМега64.
Есть программа, рабочая. При подключении внешней памяти начинаются непонятные ошибки, причем ошибки начинаются при выполнении команды memmove() или при выполнении функции вывода строки:
Код
while (*s) ce210_send(*s++);

Вот строчка в мейкфайле, где включаю память, и потом флаги:
Код
EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x8090ff
   ASFLAGS = -Wa,-ahlms=$(<:%.S=lst/%.lst),-gstabs -mmcu=$(MCU)
   CPFLAGS = -MMD -g -O$(OPT) -funsigned-char -funsigned-bitfields -fpack-struct -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:%.c=lst/%.lst) -mmcu=$(MCU) $(CDEFS)
   LDFLAGS = -Wl,-Map=lst/$(TRG).map,--cref, -L$(LIBDIR), $(EXTMEMOPTS) -lm -mmcu=$(MCU)

Вот инициализация в программе:
Код
   setreg(MCUCR, SRE, 1);    // enable external memory (xram)
   setreg(MCUCR, SRW10, 1);                      // configure xram
   XMCRA = _BV(SRW00) | _BV(SRW01) | _BV(SRW11); //

Видно, что проблемы именно с памятью, но вот только где конкретно, не могу понять.
Что не так?
P.S. Версия ВинАВР последняя.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dimy
сообщение May 2 2012, 08:13
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-05-09
Из: Москва
Пользователь №: 49 084



Странно,
портится глобальный флаг готовности буфера приема объявленный как
volatile uint8_t fCmdComplite = 0;

прерывание его выставляет = "1", но где то он портится в "0" и в main() он уже "0"...
- свои "сбросы" этого флага убрал...
- его положение сместил в .bss
0x00800248 fCmdComplite

... один ---, т.е. не помогает..

(оптимизация Os)

.... (в 12:15)

Похоже это косяки WinAVR:
при оптимизации -О2 удалось "довести" массивы до 768 единиц!

Шаманство какое-то!!!

Кто нибудь знает как с ним бороться?

..... (18:06)
нет все таки, ряд глюков остался...
наверняка у меня где-то косяк в коде...

кто нибудь знает:
WinAVR при различной оптимизации может валидный код "убивать"?
для IAR, Keil и ICC, что то я таких проблем не припомню...



Сообщение отредактировал Dimy - May 2 2012, 14:14
Go to the top of the page
 
+Quote Post
Dimy
сообщение May 5 2012, 07:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 14-05-09
Из: Москва
Пользователь №: 49 084



В общем проблемма решена.

Для тех кто наступит на те же грабли:
наплюйте на настройки WinAVR через оболочку (Project/Configeration Options)
просто пользуйтесь внешним Makefile с правками по рекомендации:
http://www.avrfreaks.net/index.php?name=PN...ght=winavr+xram


Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Axer   WinAVR & External memory   May 24 2005, 08:28
- - BorisRozentsvaig   Цитата(Axer @ May 24 2005, 12:28)Здравствуйте...   May 24 2005, 08:34
- - Axer   ЦитатаА каким образом у вас "s" объявлен...   May 24 2005, 09:17
- - pulsar-17   Возможно проблема в __heap_end=0x8090ff как я пон...   May 24 2005, 09:18
- - Axer   Нет, не в этом дело Да и не мог указатель так дал...   May 24 2005, 10:37
|- - BorisRozentsvaig   Цитата(Axer @ May 24 2005, 14:37)Нет, не в эт...   May 24 2005, 13:23
- - Axer   ЦитатаВы не ответили на вопрос: каким образом у ва...   May 25 2005, 11:26
|- - BorisRozentsvaig   Цитата(Axer @ May 25 2005, 15:26)ЦитатаВы не ...   May 25 2005, 12:34
- - Axer   так: ce210_print("string"); или так: cha...   May 25 2005, 12:45
|- - BorisRozentsvaig   Цитата(Axer @ May 25 2005, 16:45)так: ce210_p...   May 25 2005, 14:30
- - Axer   Цитата(BorisRozentsvaig @ May 25 2005, 17:30)...   May 26 2005, 07:14
|- - BorisRozentsvaig   А что, если вам попробовать запустить для начала т...   May 26 2005, 08:10
- - Axer   Сделал тест памяти. Все работает. С указателями си...   Jun 1 2005, 09:47
|- - BorisRozentsvaig   Цитата(Axer @ Jun 1 2005, 13:47)Сделал тест п...   Jun 3 2005, 06:10
- - pulsar-17   можно и без volatile: void ce210_print(char *s) {...   Jun 3 2005, 11:18
|- - BorisRozentsvaig   Цитата(pulsar-17 @ Jun 3 2005, 15:18)мож...   Jun 3 2005, 13:19
|- - pulsar-17   Цитата(BorisRozentsvaig @ Jun 3 2005, 16:19)Ч...   Jun 4 2005, 06:33
|- - Dimy   Поднимаю тему, чтобы не плодить новых. Задача: - ...   May 2 2012, 04:44


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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 10:27
Рейтинг@Mail.ru


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