AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
18.06.2013, 23:15
|
#1
|
Прописка
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
|
CodeVisionAVR Размер Hardware Stack size
Всем привет. Кто знает сколько приблизительно нужно Hardware Stack size в CodeVisionAVR для контроллеров AVR. Когда код большой и много функций, МК начинает то зависать, то себя ресетить, вообщем творит чудеса. Проблема частично решается путем уменьшения Data Stack size. Но все же, какие значения приблизительно должны быть.
Data Stack size:
RAM Global variables size:
Hardware Stack size:
Например: Работает
Цитата:
|
Chip: ATmega8
Clock frequency: 8,000000 MHz
Program type: Application
Memory model: Small
Optimize for: Size
(s)printf features: int
(s)scanf features: int, width
Promote 'char' to 'int': Yes
'char' is unsigned: Yes
global 'const' stored in FLASH: Yes
8 bit enums: Yes
Enhanced core instructions: Yes
Automatic register allocation: Yes
Smart register allocation: Yes
Build: 1255
12039 line(s) compiled
No errors
No warnings
Bit variables area: 2h to 2h
Bit variables size: 1 byte(s)
Data Stack area: 60h to C7h
Data Stack size: 104 byte(s)
Estimated Data Stack usage: 79 byte(s)
RAM Global variables area: C8h to 447h
RAM Global variables size: 896 byte(s)
Hardware Stack area: 448h to 45Fh
Hardware Stack size: 24 byte(s)
Heap size: 0 byte(s)
EEPROM usage: 24 byte(s), 4,7% of EEPROM
Program size: 3989 words (7978 bytes), 97,4% of FLASH
|
НЕРАБОТАЕТ
Цитата:
|
Chip: ATmega8
Clock frequency: 8,000000 MHz
Program type: Application
Memory model: Small
Optimize for: Size
(s)printf features: int
(s)scanf features: int, width
Promote 'char' to 'int': Yes
'char' is unsigned: Yes
global 'const' stored in FLASH: Yes
8 bit enums: Yes
Enhanced core instructions: Yes
Automatic register allocation: Yes
Smart register allocation: Yes
Build: 1257
12039 line(s) compiled
No errors
No warnings
Bit variables area: 2h to 2h
Bit variables size: 1 byte(s)
Data Stack area: 60h to BFh
Data Stack size: 96 byte(s)
Estimated Data Stack usage: 79 byte(s)
RAM Global variables area: C0h to 43Fh
RAM Global variables size: 896 byte(s)
Hardware Stack area: 440h to 45Fh
Hardware Stack size: 32 byte(s)
Heap size: 0 byte(s)
EEPROM usage: 24 byte(s), 4,7% of EEPROM
Program size: 3989 words (7978 bytes), 97,4% of FLASH
|
С уважением Сергей.
|
|
|
|
18.06.2013, 23:52
|
#2
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 973
Сказал спасибо: 35
Сказали Спасибо 154 раз(а) в 133 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
У вас там RAM под завязку 896+96+32=1024, а еще битовая переменная. Надо - или другой микроконтроллер, где рамы побольше (например стм32, мега64 подороже будет), или сменить компилятор на винавр - он с памятью бережнее обходится. Ну или внимательно посмотреть на код, чего так много рамы израсходовано - буфер такой большой что ли.
|
|
|
|
19.06.2013, 00:38
|
#3
|
Прописка
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
768 байт под лсд нокиа 1202 + гдето два десятка unsigned int.
|
|
|
|
19.06.2013, 00:45
|
#4
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Сообщение от sergx1300
|
768 байт под лсд нокиа 1202 + гдето два десятка unsigned int.
|
Сократить нельзя? Или там байт целиком на пиксель требуется?
|
|
|
|
19.06.2013, 08:07
|
#5
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,992
Сказал спасибо: 929
Сказали Спасибо 2,259 раз(а) в 1,557 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Сообщение от sergx1300
|
768 байт под лсд нокиа 1202
|
Это видео-буфер ? Или же вы тупите, разместив знакогенератор в RAM ????
__________________
Осторожно , злой кот
|
|
|
|
19.06.2013, 11:13
|
#6
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 973
Сказал спасибо: 35
Сказали Спасибо 154 раз(а) в 133 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Там и FLASH под завязку. Глянул краем глаза на примеры для такого дисплея - столько рам вроде и не надо, шрифты, как сказано выше в const. Придется перейти на мегу168 например, лучше стм32: http://tuxotronic.org/wiki/component...te2007#primery
|
|
|
|
19.06.2013, 11:45
|
#7
|
Прописка
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Сообщение от sergx1300
|
Кто знает сколько приблизительно нужно Hardware Stack size в CodeVisionAVR для контроллеров AVR.
|
Добрый день!
Для того чтобы прикинуть объем стека в CV для Вашей конкретно задачи, можете воспользоваться опцией Stack End Markers.
Сам я правда ею не пользовался но такие рекомендации встречал.
|
|
|
|
19.06.2013, 12:07
|
#8
|
Прописка
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Еще один совет автору.
Там у Вас
Heap size: 0 byte(s)
Т.е. кучи нет значит нет динамического выделения памяти под локальные переменные. Возможно выделение небольшого объема даст общую экономию RAM но не факт, надо пробовать. Правда при этом упадет скорость.
|
|
|
|
19.06.2013, 22:49
|
#9
|
Прописка
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Сообщение от dosikus
|
Это видео-буфер ? Или же вы тупите, разместив знакогенератор в RAM ????
|
Ето видеобуфер. Знакогенератор отдельно в flash
flash char table[0x00D2]
|
|
|
|
19.06.2013, 23:11
|
#10
|
Прописка
Регистрация: 18.03.2010
Адрес: Украина, Тернополь
Сообщений: 225
Сказал спасибо: 14
Сказали Спасибо 44 раз(а) в 34 сообщении(ях)
|
Re: CodeVisionAVR Размер Hardware Stack size
Сообщение от _Артём_
|
Сократить нельзя? Или там байт целиком на пиксель требуется?
|
разрешение экрана 96x64
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:27.
|
|