Страница 1 из 2
ATMega32: CodeVision: SRAM: Зажал :)
Добавлено: Сб окт 04, 2008 07:37:05
MegaRazoR
Под один массив мне надо 1.5 КБайта памяти. У меги32 их 2. Компилятор ругается - говорит, что я слишком большой массив объявил и не компилирует. Вариант с использованием в добавок EEPROM крайне не желателен. Освобождать память по мере выполнения не получится. Нужен весь массив сразу. Как выйти из ситуации ?
Добавлено: Сб окт 04, 2008 08:08:35
mr.Kirill
ИМХО. Если отдать 1,5k на один массив, то как же быть оставшейся части программы? Ей тоже хочется нормально работать. Вот Вам компилятор и не дает использовать всю под завязку память.
Массив меняется в процессе работы программы или постоянный?
Может есть смысл каждый элемент массива генерить отдельно и выдавать по мере надобности?
Re: ATMega32: CodeVision: SRAM: Зажал :)
Добавлено: Сб окт 04, 2008 08:30:14
tych
MegaRazoR писал(а): Как выйти из ситуации ?
Для начал проект прицепить.
Добавлено: Сб окт 04, 2008 18:24:57
MegaRazoR
Тут модуль передачи данных по SPI еще не написан. Смысл в том чтоб набрать 1.5 КБ данных и отправить их все сразу по SPI. Таймер счетчики - отдельная история.
Длинные тексты оформляйте вложением. Паятель.
Добавлено: Сб окт 04, 2008 18:39:26
tych
проект - это И файл .prj и лучше архивом.
Добавлено: Вс окт 05, 2008 15:13:59
MegaRazoR
Re: ATMega32: CodeVision: SRAM: Зажал :)
Добавлено: Пн окт 06, 2008 07:13:39
BerZerK-ku
MegaRazoR писал(а):Под один массив мне надо 1.5 КБайта памяти. У меги32 их 2. Компилятор ругается - говорит, что я слишком большой массив объявил и не компилирует. Вариант с использованием в добавок EEPROM крайне не желателен. Освобождать память по мере выполнения не получится. Нужен весь массив сразу. Как выйти из ситуации ?
А если попробовать разбить 1 большой массив на несколько маленьких?
Добавлено: Пн окт 06, 2008 11:33:59
MegaRazoR
не помогло
Добавлено: Пн окт 06, 2008 11:47:53
MegaRazoR
оформил длинный текст вложением и его ни кто не качает и не читает

Добавлено: Пн окт 06, 2008 12:23:54
nds
асм в руки - хоть все два килобайта выделит

Добавлено: Пн окт 06, 2008 12:49:42
MegaRazoR
я вот тоже об этом подумываю ... но чет как то страшновато
посоветуйте в какой среде удобнее всего это делать. желательно чтоб были генераторы начального текста программы. и чтоб хелп был полноценный.
// офф... как много мысли в твоей подписи ) 00101011 OR 11010100 = 11111111.

Добавлено: Пн окт 06, 2008 16:36:35
nds
я авр студией пользуюсь но там все ручками

Добавлено: Пн окт 06, 2008 18:02:14
tych
MegaRazoR писал(а):оформил длинный текст вложением и его ни кто не качает и не читает

а ЧЁ читать
если ВЫ САМИ НЕ ЧИТАЕТЕ !
Вы в свойства проекта заглядывали?
Вы сколько на стэк оттяпали РАМЫ ? А сколько осталосИ ?
Рама ж не ризиновая !
Уменьшайте стэк - высвобождайте RAM.
Добавлено: Пн окт 06, 2008 18:36:25
Aheir
Есть два пути:
1. Довесить внешней памяти по вкусу.
2. Организационные меры: переместить часть данных во флеш (если место есть), уменьшить стек, уменьшить количество переменных (не использовать константы, лучше дефайн) и т.д., вплоть до пересмотра алгоритма. Лучше не забивать мозг массивами больше, чем на половину, потом обязательно захочется что-нибудь изменить и будет грустно..
У самого сейчас на 128 Меге крутятся в памяти три массива по килобайту... Как-то неуютно уже

Добавлено: Вт окт 07, 2008 10:31:05
MegaRazoR
tych писал(а):MegaRazoR писал(а):оформил длинный текст вложением и его ни кто не качает и не читает

а ЧЁ читать
если ВЫ САМИ НЕ ЧИТАЕТЕ !
Вы в свойства проекта заглядывали?
Вы сколько на стэк оттяпали РАМЫ ? А сколько осталосИ ?
Рама ж не ризиновая !
Уменьшайте стэк - высвобождайте RAM.
Вот спасибо ! Я даже не подумал про это

Добавлено: Вт окт 07, 2008 12:16:46
MegaRazoR
Подскажите пожалуйста какие файлы нужны для протеуса чтоб симулировать Atmega32? Я вроде бы все файлы сформировал и кинул в одну папку а протеус при симуляции выдает ошибку Could not load project file. proteus123 я читал.
Добавлено: Вт окт 07, 2008 16:32:30
tych
MegaRazoR писал(а): proteus123 я читал.
надо
/01.htm добавить.
там так:

Добавлено: Вт окт 07, 2008 17:03:57
MegaRazoR
cof файл я указываю. при запуске симуляции вот что:

cof создается при компиляции программы в CodeVisionAVR v.2.03.6 Evaluation.
файл "name__.с" не создается. я просто копирую .с и переименовываю. может в этом дело ?
примеры работают нормально.
Добавлено: Вт окт 07, 2008 17:24:14
tych
CVAVR2 подругому делает.
посмотри мой пример CVAVR 2 в работает в PROTEUS 7.2 и 7.4
Добавлено: Вт окт 07, 2008 17:42:41
MegaRazoR
Скомпилировал в 1.25.9 теперь другая ошибка:

У меня Proteus 7.2 SP2