Например TDA7294

Форум РадиоКот • Просмотр темы - не хватает памяти данных в авр... что делать?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт авг 19, 2025 04:50:49

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 19 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: не хватает памяти данных в авр... что делать?
СообщениеДобавлено: Пн июл 30, 2007 21:25:39 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
ситуёвина такая... "изучаю" графический цветной дисплей (может потом пришлю статью)... на процесоре seps525 на каждый пиксел по 2 байта, т.е. чтобы вывести картинку хотя бы 60х66 нужно 7920 байт а память данных в at90can128 всего навсего 4кБайта при компиляции в WinAVR пишет что... хреново в общем памяти не хватает...
можно ли данные хранить в памяти программы? и как это сделать в си?

eeprom и внешняя памяти не подходят...

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 30, 2007 23:16:18 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вт июл 24, 2007 23:34:23
Сообщений: 68
Рейтинг сообщения: 0
если тебе нужно хранить изначально заданные данные то
можно в программной памяти создать массив и читать его побайтно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 30, 2007 23:19:33 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вт июл 24, 2007 23:34:23
Сообщений: 68
Рейтинг сообщения: 0
а вобщем можно темже способом и изменять данные в массиве.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 30, 2007 23:26:48 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
хорошо что могу... вопрос как??? если гнушный компилятор... весь массив, созданный мною или не мною, относит к памяти данных... как сказать ему - компилятору? или как скомпилировать так чтобы этот массив был записан в память программы?

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн июл 30, 2007 23:43:51 
Открыл глаза
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Вт июл 24, 2007 23:34:23
Сообщений: 68
Рейтинг сообщения: 0
не знаю как это зделать СИ, в ассемблере это так.
есть такая деректива DW которая резервирует в EEPROM или в програмноя памяти неоходимое количество байт.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 08:23:18 
Встал на лапы
Аватар пользователя

Зарегистрирован: Чт янв 11, 2007 12:14:33
Сообщений: 117
Рейтинг сообщения: 0
У меня тоже проблема нехватает всего навсего 380 байт памети незнаю откуда их взять ладно можно было невывисти 190 пикселей изображения но оперы тоже нехватает 121 байт


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 08:47:36 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
вроде как достаточно перед обявлением переменной добавить слово __flash, вот так, например:

Код:
__flash unsigned char RusFont5n4 [6][4] =
        {
   {0x3E,0x04,0x08,0x3E}, // -> И
   {0x20,0x3E,0x0A,0x06}, // -> Ъ
   {0x3E,0x02,0x3E,0x03},  // -> Ц
   {0x3E,0x08,0x04,0x3E},  // -> N
   {0x1C,0x22,0x2A,0x0C},  // -> G
   {0x3C,0x02,0x02,0x3C}  // -> U
        };

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 09:26:08 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
Код:
_flash unsigned char RusFont5n4 [6][4] =
        {
   {0x3E,0x04,0x08,0x3E}, // -> И
   {0x20,0x3E,0x0A,0x06}, // -> Ъ
   {0x3E,0x02,0x3E,0x03},  // -> Ц
   {0x3E,0x08,0x04,0x3E},  // -> N
   {0x1C,0x22,0x2A,0x0C},  // -> G
   {0x3C,0x02,0x02,0x3C}  // -> U
        };

а так пишут в каком компиляторе?? WinAVR это не съел

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 10:31:51 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Там перед flash два подчеркивания: __flash
СVAVR кушает
Или попробуйте просто flash, без подчеркиваний.
Вообще, в хелпе к компилятору д.б. написано, проверьте меня на всякий случай..

Если в WinAVR есть функция выделения цветом служебных слов С - включите, сразу будет видно, нравится оно ему или не очень..
Да и код почитабельней смотрится.

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 10:57:29 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
не, есму слово флэш не нравится... ему нравится PROGMEM
Цитата:
unsigned char a[] PROGMEM = {...};

но всё равно что-то не очень-то и работает.... статья есть на http://www.avrfreaks.net/index.php?name ... ic&t=38003

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 11:39:15 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
а в чем "не работа" проявляется?

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 11:46:53 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
авр студио говорит что данные размещаются в SRAM, при обращении к массиву данных, извлекается не то что надо...
Код:
unsigned char a[] PROGMEM = {очень много чисел};

void DrawPicture(...unsigned char *Pixels){
   
   SetDDRAM();   
   for (uint16_t i = 0; i < SizeFram; i += 2) {

      WriteData(*(Pixels + i), *(Pixels + i + 1));
   }
   
}

вот кусок кода, но не весь... просто оставил то что передаю...

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 12:53:36 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
в общем есть функции
Код:
pgm_read_byte_far(addr)
вот при помощи неё и надо читать из флэша...

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт июл 31, 2007 23:26:19 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
оказывается всё не просто так... нарисовал уточку размером 66х60 красиво получилось... но нужно картинку выводить 160х128 картинка получается около 37,5 кбайт.... просто так массив такого размера оказывается не просто так разместить... скоро будут первые картинки... я обещаю...

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Последний раз редактировалось Mozart Вт авг 28, 2007 20:17:30, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт авг 03, 2007 08:47:50 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
как и обещал картинки я выкладываю...


Вложения:
Комментарий к файлу: жёлтая утка...
IMG_6801n.jpg [47.82 KiB]
Скачиваний: 529
Комментарий к файлу: заслуживат отдельного внимания сам МК
IMG_6802n.jpg [65.63 KiB]
Скачиваний: 765
Комментарий к файлу: сама плата...
IMG_6799n.jpg [48.63 KiB]
Скачиваний: 749
Комментарий к файлу: картинка
IMG_6800n.jpg [35.9 KiB]
Скачиваний: 742

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 07, 2007 22:55:39 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Сб сен 09, 2006 19:00:18
Сообщений: 257
Откуда: СССР
Рейтинг сообщения: 0
Не в тему:
А что за LCD? Где такой используют? Сколько стоит? Где почитать про него можно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт авг 07, 2007 23:00:20 
Мучитель микросхем
Аватар пользователя

Карма: 2
Рейтинг сообщений: 1
Зарегистрирован: Пт мар 10, 2006 12:23:05
Сообщений: 413
Откуда: Moscow
Рейтинг сообщения: 0
на процике seps525 а называется... UG-6028... стоит рублей 600 700 есть кажется в ктц-мк...

_________________
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 09, 2007 04:27:05 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Пн янв 16, 2006 08:00:17
Сообщений: 534
Откуда: Иркутск
Рейтинг сообщения: 0
Я совсем забыл... но видел в интернете проект по использованию внешней памяти (ОЗУ) на основе модулей от оперативки компьютера... Может подойдет проект называется Monster Memory

_________________
Today fine night...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: не хватает памяти данных в авр... что делать?
СообщениеДобавлено: Ср авг 29, 2007 04:16:41 
Открыл глаза

Зарегистрирован: Ср авг 29, 2007 01:37:56
Сообщений: 54
Рейтинг сообщения: 0
Mozart писал(а):
ситуёвина такая... "изучаю" графический цветной дисплей (может потом пришлю статью)... на процесоре seps525 на каждый пиксел по 2 байта, т.е. чтобы вывести картинку хотя бы 60х66 нужно 7920 байт а память данных в at90can128 всего навсего 4кБайта при компиляции в WinAVR пишет что... хреново в общем памяти не хватает...
можно ли данные хранить в памяти программы? и как это сделать в си?

eeprom и внешняя памяти не подходят...


для видеобуфера нужна внешняя SRAM (62256 например - 32кб)
далее настроить контроллер внешней памяти и пользовать!
а в менеджере проекта указать что использ. внешняя память


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y