Страница 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. :lol:

Добавлено: Пн окт 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