Перейти к содержанию
    

Изменение хипа (кучи) в данном случае ничего не даёт.

Заставить работать можно пользуясь отладчиком или на худой конец симулятором.

Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изменение хипа (кучи) в данном случае ничего не даёт.

Заставить работать можно пользуясь отладчиком или на худой конец симулятором.

Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека.

 

Отладчиком Видно что гдето в библиотеках (отладка по дизасемблеру) происходит исчерпание стека

Тоесть не переполнение (увеличивать размер бесполезно) а наоборот

 

Что делают в таких случаях ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрал Ваш пример.

Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло.

Модель памяти small, форматтер medium, симулятор - IAR.

 

Посмотрел использование стека данных, примерно 112 байт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Отладчиком Видно что гдето в библиотеках (отладка по дизасемблеру) происходит исчерпание стека

Тоесть не переполнение (увеличивать размер бесполезно) а наоборот

Такие ситуации возможны когда в результате переполнения стека портится сам указатель стека, доступ к которому возможен не только из области регистров (0x3D), но и из памяти (0x5D).

Последствия этого могут быть самые неожиданные. :w00t:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Собрал Ваш пример.

Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло.

Модель памяти small, форматтер medium, симулятор - IAR.

 

Посмотрел использование стека данных, примерно 112 байт.

 

А у меня АВРстудио пишет с вашими настройками

 

AVR Simulator: Stack Overflow at 0x003e

AVR Simulator: Stack Overflow at 0x012a

 

Если несложно файлик с проэктом можно посмотреть ?

А какиой версией вы пользуетесь ??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия 4.21а, но я думаю, что значения это не имеет.

Проект прикрепляю.Test.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Версия 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

 

Наверно у меня нелучшая версия компилятора - Качаю новую

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скачал 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

 

Но процессор не сбрасывается

 

Протеус неругается вообще

 

Может это глюк студии или формата - страшно - но продолжаю работать с проэктом в новом компиляторе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может и вовсе не стОит AVRStudio юзать?

:bb-offtopic:

:blink:

 

Ну незнаю

По моиму по удобству интерфейса лучше нету ничего

 

И протеус я тоже очень люблю

+ счас мне нужно отладит 2 меги связаные по УАРТ + ЛСД

 

Первая + ЛСД заработала нормально - дело за второй

 

Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах

Сдаётся мне, что нет там никакой ошибки, видимо это AVRStudio не въехала в ситуацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах

Сдаётся мне, что нет там никакой ошибки, видимо это AVRStudio не въехала в ситуацию.

 

Наверное да

 

Нужно попробывать тожесамое на Астудии 3.56 (но незнаю берет ли она кофф)

По крайне мере в протеусе и в железе все работает хорошо

 

Но ИАР 4.20 компилировал мне жуткую муть - Дайбог в 4.21 все будет хорошо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...