[an error occurred while processing this directive]
WinAVR(GCC)+ATMEGA2560. Код сгенерированный для ATMEGA1280 не работает на ATMEGA2560.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Vit2005 30 мая 2006 г. 12:18

WinAVR(GCC) компилер не поддерживает ATMEGA2560. На плате у меня установлен 2560.
Поэтому я генерирую код для поддержанного 1280 и пробую запустить его на ATMEGA2560. Не работает :-(
На мой взгляд единственное различие между этими чипами - размер FLASH.
Поэтому,это только мое мнение, все должно работать, если размер программы не превышает 128K.
Но похоже дополнительные различия между чипами имеются. Какие ?

Функция форматного вывода для I2C LCD индикатора под WinAVR симулятором работает правильно,
когда выбран 1280 в качестве целевого процессора симулятора.
void i2c_printf( const char *format, ... )
{
char msgBuf[64] = {0x00};
va_list arglist;
va_start( arglist, format );
vsprintf(msgBuf,format,arglist );
va_end( arglist );
WriteI2CLCD(msgBuf);
}

Меняю платформу симулятора на ATMEGA2560 (естественно, сгенерированный код остается для ATMEGA1280).
Под симулятором вижу, что форматный вывод не работает. На вызове vsprintf большая пауза ( симулятор что-то долго вычисляет 3-4 секунды) и результат работы неправильный.
Где могут быть грабли ?
В чем-то есть различия между 1280 и 2560.
Почему WinAVR не поддерживает 2560 ?
Только из-за проблем адресации верхнего 128K блока?


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru