Глюки компилятора??

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Глюки компилятора??

Сообщение AVT-28 »

16f887
Есть проблема. Как только программа заходит за 6100 байт сразу начинаются глюки контроллера.
Глюки следующие. Не инициализируются переменные.
Пишу

Код: Выделить всё

unsigned int TimeAll = 1, TimeSec = 59, TimeMin = 0;
Компилирую, прошиваю, запускаю.
В этих переменных мусор. какие то огромные числа.
Но если закоментировать что то не важное временно например звуки кнопок. Память освобождается например до 5800 все работает окей.

Компилятор Hi-tech C Pro
Реклама
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

А про использование оперативной памяти что говорится? 368 байт не так много
После нас - хоть потоп (с) Лойсо
Реклама
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Говорится что компилятор сам как положено распределяет память. Поэтому оч странно все.
Заказал PIC18F458. Там в 2 раза больше.
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

AVT-28 писал(а):Говорится что компилятор сам как положено распределяет память. Поэтому оч странно все.
Заказал PIC18F458. Там в 2 раза больше.
Ну распределять, то он распределяет, вот только как?
Если дело касалось AVR - диагноз был бы на 90% что стек встретился с памятью
После нас - хоть потоп (с) Лойсо
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Вот чего выдает

Psect Usage Map:

Psect | Contents | Memory Range | Size
-----------|------------------------------------|---------------|--------------
reset_vec | Reset vector | 0000h - 0002h | 3 words
intentry | Interrupt context entry code | 0004h - 000Fh | 12 words
init | Initialization code | 0010h - 0032h | 35 words
end_init | Initialization code | 0033h - 0035h | 3 words
clrtext | Memory clearing code | 0036h - 003Dh | 8 words
maintext | Program code for main() function | 003Eh - 02A4h | 615 words
text482 | Program and library code | 02A5h - 02EAh | 70 words
strings | Strings and constant data | 0300h - 0560h | 609 words
idata | Image for initialized data | 0561h - 0577h | 23 words
text483 | Program and library code | 0578h - 07E0h | 617 words
text481 | Program and library code | 07E1h - 07F7h | 23 words
text513 | Program and library code | 07F8h - 07FAh | 3 words
text486 | Program and library code | 0804h - 0FFFh | 2044 words
text480 | Program and library code | 1010h - 1045h | 54 words
text477 | Program and library code | 1046h - 1086h | 65 words
text478 | Program and library code | 1087h - 17FFh | 1913 words
text484 | Program and library code | 1DE6h - 1E18h | 51 words
text479 | Program and library code | 1E19h - 1E4Ch | 52 words
intrtext | | 1E4Dh - 1ED4h | 136 words
text476 | Program and library code | 1ED5h - 1FFFh | 299 words
-----------|------------------------------------|---------------|--------------
| | |
abs_s1 | Absolute RAM variables | 0021h - 0034h | 20 bytes
abs_s1 | Absolute RAM variables | 0041h - 007Fh | 63 bytes
abs_s1 | Absolute RAM variables | 00A8h - 00CBh | 36 bytes
abs_s1 | Absolute RAM variables | 00E4h - 00EFh | 12 bytes
| | |
fnauto2 | | 0110h - 014Ah | 59 bytes
-----------|------------------------------------|---------------|--------------
config | User-programmed configuration bits | 2007h - 2007h | 1 word
-----------|------------------------------------|---------------|--------------


Memory Class Usage:

Program space:
CODE used 19EBh ( 6635) of 2000h words ( 81.0%)
CONST used 0h ( 0) of 2000h words ( 0.0%)
ENTRY used 0h ( 0) of 2000h words ( 0.0%)
STRING used 0h ( 0) of 2000h words ( 0.0%)

Data space:
ABS1 used 83h ( 131) of 170h bytes ( 35.6%)
BANK0 used 0h ( 0) of 60h bytes ( 0.0%)
BANK1 used 0h ( 0) of 50h bytes ( 0.0%)
BANK2 used 3Bh ( 59) of 60h bytes ( 61.5%)
BANK3 used 0h ( 0) of 60h bytes ( 0.0%)
COMMON used 0h ( 0) of 10h bytes ( 0.0%)

EEPROM space:
EEDATA used 0h ( 0) of 100h bytes ( 0.0%)

Configuration bits:
CONFIG used 1h ( 1) of 2h words ( 50.0%)

ID Location space:
IDLOC used 0h ( 0) of 4h bytes ( 0.0%)

Program space used 19EBh ( 6635) of 2000h words ( 81.0%)
Data space used BEh ( 190) of 170h bytes ( 51.6%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
Configuration bits used 1h ( 1) of 2h words ( 50.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)


Memory Summary:
Program space used 19EBh ( 6635) of 2000h words ( 81.0%)
Data space used BEh ( 190) of 170h bytes ( 51.6%)
EEPROM space used 0h ( 0) of 100h bytes ( 0.0%)
Configuration bits used 1h ( 1) of 2h words ( 50.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
Реклама
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Хорошо, как проверить в mplab стек и что он с памятью не встретился?
Поскольку я это с нуля изучаю, с месяц навреное в этом деле, мне понять сложно.
Про стек почитал как устроен но все равно информация кастрированная не понял.
Реклама
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

AVT-28 писал(а): Про стек почитал как устроен но все равно информация кастрированная не понял.
Стек у обычных компьютеров,AVR ARM
с памятью действительно всё нормально

Код: Выделить всё

abs_s1 | Absolute RAM variables | 0021h - 0034h | 20 bytes
abs_s1 | Absolute RAM variables | 0041h - 007Fh | 63 bytes
abs_s1 | Absolute RAM variables | 00A8h - 00CBh | 36 bytes
abs_s1 | Absolute RAM variables | 00E4h - 00EFh | 12 bytes
| | |
fnauto2 | | 0110h - 014Ah | 59 bytes

Код: Выделить всё

Data space:
ABS1 used 83h ( 131) of 170h bytes ( 35.6%)
BANK0 used 0h ( 0) of 60h bytes ( 0.0%)
BANK1 used 0h ( 0) of 50h bytes ( 0.0%)
BANK2 used 3Bh ( 59) of 60h bytes ( 61.5%)
BANK3 used 0h ( 0) of 60h bytes ( 0.0%)
COMMON used 0h ( 0) of 10h bytes ( 0.0%)

Data space used BEh ( 190) of 170h bytes ( 51.6%)
Указатели используются?
После нас - хоть потоп (с) Лойсо
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Re: Глюки компилятора??

Сообщение urry »

я, конечно, извиняюсь, но в 16 серии - аппаратный стек и эти картинки здесь ни при чем.
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

urry писал(а):я, конечно, извиняюсь, но в 16 серии - аппаратный стек и эти картинки здесь ни при чем.
Поэтому и сказал первым делом про AVR

Если используются указатели - надо переключать банки в ручную, может из-за этого
После нас - хоть потоп (с) Лойсо
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Есть указатели, навалом.
Делаю bank0 char[] = ''; ничего не меняется.
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

AVT-28 писал(а):Есть указатели, навалом.
Делаю bank0 char[] = ''; ничего не меняется.
Перед работой с указателем банк вручную выбрать? Если не сложно - отчет о копиляции с выключенными свистелками (который работает как надо)
После нас - хоть потоп (с) Лойсо
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Мда, попробую, там код уже разросся до 7001 б.
Хоть и глючит но работает. Только инициализация глючит, если параметры установить то во время работы все отлично работает не виснет, мусор не лезет.
Щас попробую укоротить. Да и еще после 6 кб, отладчик колом встает. То есть вместе с глюком инициализации переменных отладчик виснет. Точнее не прога на компе а прога в пике. Пик виснет.
Отладчик вырубаешь, просто прошиваешь и все запускается. Программатор Pickit 2 Px-200
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Идеально работая прога.

Psect Usage Map:

Psect | Contents | Memory Range | Size
-----------|------------------------------------|---------------|--------------
reset_vec | Reset vector | 0000h - 0002h | 3 words
intentry | Interrupt context entry code | 0004h - 000Fh | 12 words
init | Initialization code | 0010h - 0032h | 35 words
end_init | Initialization code | 0033h - 0035h | 3 words
clrtext | Memory clearing code | 0036h - 003Dh | 8 words
maintext | Program code for main() function | 003Eh - 02B3h | 630 words
text508 | Program and library code | 02B4h - 02F9h | 70 words
strings | Strings and constant data | 0300h - 048Dh | 398 words
idata | Image for initialized data | 048Eh - 04A4h | 23 words
text501 | Program and library code | 04A5h - 074Eh | 682 words
text510 | Program and library code | 074Fh - 07D9h | 139 words
text506 | Program and library code | 07DAh - 07F0h | 23 words
text536 | Program and library code | 07F1h - 07F3h | 3 words
text509 | Program and library code | 0816h - 0827h | 18 words
text502 | Program and library code | 0828h - 0868h | 65 words
intrtext | | 0869h - 08F0h | 136 words
text503 | Program and library code | 08F1h - 0FFFh | 1807 words
text504 | Program and library code | 10C0h - 10F2h | 51 words
text500 | Program and library code | 10F3h - 1126h | 52 words
text498 | Program and library code | 1127h - 115Ch | 54 words
text499 | Program and library code | 115Dh - 1287h | 299 words
text507 | Program and library code | 1288h - 1471h | 490 words
text497 | Program and library code | 1472h - 17FFh | 910 words
-----------|------------------------------------|---------------|--------------
| | |
abs_s1 | Absolute RAM variables | 0021h - 0034h | 20 bytes
abs_s1 | Absolute RAM variables | 0041h - 007Fh | 63 bytes
abs_s1 | Absolute RAM variables | 00A8h - 00CBh | 36 bytes
abs_s1 | Absolute RAM variables | 00E4h - 00EFh | 12 bytes
| | |
fnauto2 | | 0110h - 014Ah | 59 bytes
-----------|------------------------------------|---------------|--------------
eeprom_da | User-programmed EEPROM data | 0000h - 0007h | 8 bytes
-----------|------------------------------------|---------------|--------------
config | User-programmed configuration bits | 2007h - 2007h | 1 word
-----------|------------------------------------|---------------|--------------


Memory Class Usage:

Program space:
CODE used 1717h ( 5911) of 2000h words ( 72.2%)
CONST used 0h ( 0) of 2000h words ( 0.0%)
ENTRY used 0h ( 0) of 2000h words ( 0.0%)
STRING used 0h ( 0) of 2000h words ( 0.0%)

Data space:
ABS1 used 83h ( 131) of 170h bytes ( 35.6%)
BANK0 used 0h ( 0) of 60h bytes ( 0.0%)
BANK1 used 0h ( 0) of 50h bytes ( 0.0%)
BANK2 used 3Bh ( 59) of 60h bytes ( 61.5%)
BANK3 used 0h ( 0) of 60h bytes ( 0.0%)
COMMON used 0h ( 0) of 10h bytes ( 0.0%)

EEPROM space:
EEDATA used 8h ( 8) of 100h bytes ( 3.1%)

Configuration bits:
CONFIG used 1h ( 1) of 2h words ( 50.0%)

ID Location space:
IDLOC used 0h ( 0) of 4h bytes ( 0.0%)

Program space used 1717h ( 5911) of 2000h words ( 72.2%)
Data space used BEh ( 190) of 170h bytes ( 51.6%)
EEPROM space used 8h ( 8) of 100h bytes ( 3.1%)
Configuration bits used 1h ( 1) of 2h words ( 50.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)


Memory Summary:
Program space used 1717h ( 5911) of 2000h words ( 72.2%)
Data space used BEh ( 190) of 170h bytes ( 51.6%)
EEPROM space used 8h ( 8) of 100h bytes ( 3.1%)
Configuration bits used 1h ( 1) of 2h words ( 50.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: Глюки компилятора??

Сообщение AVT-28 »

Заметил такую вешь! Если в мплабе делать Clear All Memory и перед прошивкой стирать микруху то все отлично работает.
Аватара пользователя
bevice
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб июн 06, 2009 11:13:56
Контактная информация:

Re: Глюки компилятора??

Сообщение bevice »

AVT-28 писал(а):Заметил такую вешь! Если в мплабе делать Clear All Memory и перед прошивкой стирать микруху то все отлично работает.
Так память надо обязательно стирать
После нас - хоть потоп (с) Лойсо
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»