IgorKossak 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Изменение хипа (кучи) в данном случае ничего не даёт. Заставить работать можно пользуясь отладчиком или на худой конец симулятором. Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Изменение хипа (кучи) в данном случае ничего не даёт. Заставить работать можно пользуясь отладчиком или на худой конец симулятором. Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека. Отладчиком Видно что гдето в библиотеках (отладка по дизасемблеру) происходит исчерпание стека Тоесть не переполнение (увеличивать размер бесполезно) а наоборот Что делают в таких случаях ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Собрал Ваш пример. Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло. Модель памяти small, форматтер medium, симулятор - IAR. Посмотрел использование стека данных, примерно 112 байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Отладчиком Видно что гдето в библиотеках (отладка по дизасемблеру) происходит исчерпание стека Тоесть не переполнение (увеличивать размер бесполезно) а наоборот Такие ситуации возможны когда в результате переполнения стека портится сам указатель стека, доступ к которому возможен не только из области регистров (0x3D), но и из памяти (0x5D). Последствия этого могут быть самые неожиданные. :w00t: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Собрал Ваш пример. Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло. Модель памяти small, форматтер medium, симулятор - IAR. Посмотрел использование стека данных, примерно 112 байт. А у меня АВРстудио пишет с вашими настройками AVR Simulator: Stack Overflow at 0x003e AVR Simulator: Stack Overflow at 0x012a Если несложно файлик с проэктом можно посмотреть ? А какиой версией вы пользуетесь ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Версия 4.21а, но я думаю, что значения это не имеет. Проект прикрепляю.Test.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Версия 4.21а, но я думаю, что значения это не имеет. Проект прикрепляю.Test.rar У меня версия 4.20а с патчами для хлинка При открытии проэкта настройки слетели так как версия у меня младше Выставил процессор стеки мемори модель и настройки принтф Генерирую ubroff8 файл Аврстудия говорит AVR Simulator: Stack Underflow at 0x0328 AVR Simulator: Stack Underflow at 0x0328 AVR Simulator: Stack Underflow at 0x0040 AVR Simulator: Stack Underflow at 0x0042 AVR Simulator: Stack Underflow at 0x027a Наверно у меня нелучшая версия компилятора - Качаю новую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Скачал 4.21а с этого сайта Скомпилировал проект ТЕСТ без изменения настроек Только сделал чтоб он генерировал ubroff8 формат для астудии Астудия пишет AVR Simulator: Stack Underflow at 0x027a AVR Simulator: Stack Underflow at 0x027a AVR Simulator: Stack Underflow at 0x027a AVR Simulator: Stack Underflow at 0x027a AVR Simulator: Stack Underflow at 0x027a AVR Simulator: Stack Underflow at 0x0328 AVR Simulator: Stack Underflow at 0x0328 AVR Simulator: Stack Underflow at 0x0040 AVR Simulator: Stack Underflow at 0x0042 Но процессор не сбрасывается Протеус неругается вообще Может это глюк студии или формата - страшно - но продолжаю работать с проэктом в новом компиляторе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Может и вовсе не стОит AVRStudio юзать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 23 января, 2007 Опубликовано 23 января, 2007 · Жалоба Может и вовсе не стОит AVRStudio юзать? :bb-offtopic: :blink: Ну незнаю По моиму по удобству интерфейса лучше нету ничего И протеус я тоже очень люблю + счас мне нужно отладит 2 меги связаные по УАРТ + ЛСД Первая + ЛСД заработала нормально - дело за второй Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 24 января, 2007 Опубликовано 24 января, 2007 · Жалоба Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах Сдаётся мне, что нет там никакой ошибки, видимо это AVRStudio не въехала в ситуацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DeXteR 0 24 января, 2007 Опубликовано 24 января, 2007 · Жалоба Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах Сдаётся мне, что нет там никакой ошибки, видимо это AVRStudio не въехала в ситуацию. Наверное да Нужно попробывать тожесамое на Астудии 3.56 (но незнаю берет ли она кофф) По крайне мере в протеусе и в железе все работает хорошо Но ИАР 4.20 компилировал мне жуткую муть - Дайбог в 4.21 все будет хорошо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться