реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> IAR и sprintf
IgorKossak
сообщение Jan 23 2007, 13:34
Сообщение #16


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Изменение хипа (кучи) в данном случае ничего не даёт.
Заставить работать можно пользуясь отладчиком или на худой конец симулятором.
Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 23 2007, 15:14
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(IgorKossak @ Jan 23 2007, 14:34) *
Изменение хипа (кучи) в данном случае ничего не даёт.
Заставить работать можно пользуясь отладчиком или на худой конец симулятором.
Увеличьте стек максимально возможно (стек данных). Заполните стек какой-нибудь величиной (в симуляторе). Запустите функцию и проверьте потребление стека.


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

Что делают в таких случаях ??
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 23 2007, 16:06
Сообщение #18


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Собрал Ваш пример.
Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло.
Модель памяти small, форматтер medium, симулятор - IAR.

Посмотрел использование стека данных, примерно 112 байт.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 23 2007, 16:18
Сообщение #19


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(DeXteR @ Jan 23 2007, 14:14) *
Отладчиком Видно что гдето в библиотеках (отладка по дизасемблеру) происходит исчерпание стека
Тоесть не переполнение (увеличивать размер бесполезно) а наоборот

Такие ситуации возможны когда в результате переполнения стека портится сам указатель стека, доступ к которому возможен не только из области регистров (0x3D), но и из памяти (0x5D).
Последствия этого могут быть самые неожиданные. w00t.gif
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 23 2007, 16:19
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(IgorKossak @ Jan 23 2007, 17:06) *
Собрал Ваш пример.
Увеличение стека данных до 0х160 (навскидку) и стека возвратов до 40 помогло.
Модель памяти small, форматтер medium, симулятор - IAR.

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


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

AVR Simulator: Stack Overflow at 0x003e
AVR Simulator: Stack Overflow at 0x012a

Если несложно файлик с проэктом можно посмотреть ?
А какиой версией вы пользуетесь ??
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 23 2007, 16:25
Сообщение #21


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Версия 4.21а, но я думаю, что значения это не имеет.
Проект прикрепляю.Прикрепленный файл  Test.rar ( 24.01 килобайт ) Кол-во скачиваний: 185
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 23 2007, 16:39
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(IgorKossak @ Jan 23 2007, 17:25) *
Версия 4.21а, но я думаю, что значения это не имеет.
Проект прикрепляю.Прикрепленный файл  Test.rar ( 24.01 килобайт ) Кол-во скачиваний: 185


У меня версия 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

Наверно у меня нелучшая версия компилятора - Качаю новую
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 23 2007, 17:14
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



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


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

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

Может это глюк студии или формата - страшно - но продолжаю работать с проэктом в новом компиляторе
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 23 2007, 17:47
Сообщение #24


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Может и вовсе не стОит AVRStudio юзать?
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 23 2007, 18:12
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(IgorKossak @ Jan 23 2007, 18:47) *
Может и вовсе не стОит AVRStudio юзать?

bb-offtopic.gif
blink.gif

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

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

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

Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 24 2007, 16:46
Сообщение #26


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(DeXteR @ Jan 23 2007, 17:12) *
Но всеже немного пугает эта ошибка - А вдруг она потом вылезит в непонятных местах

Сдаётся мне, что нет там никакой ошибки, видимо это AVRStudio не въехала в ситуацию.
Go to the top of the page
 
+Quote Post
DeXteR
сообщение Jan 24 2007, 19:11
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 2-08-05
Из: Одесса
Пользователь №: 7 287



Цитата(IgorKossak @ Jan 24 2007, 17:46) *
Цитата(DeXteR @ Jan 23 2007, 17:12) *

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

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


Наверное да

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

Но ИАР 4.20 компилировал мне жуткую муть - Дайбог в 4.21 все будет хорошо
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01455 секунд с 7
ELECTRONIX ©2004-2016