|
Непонятное сообщение симулятора, симулятор IAR EW 4.12A |
|
|
|
 |
Ответов
(1 - 6)
|
Jan 16 2008, 13:15
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(KRS @ Jan 16 2008, 16:51)  CSTACK полностью софтовый стек для данных - указатель в регистре находится Y (r29:r28), возможно он не проинициализирован или кем то использвался. (все команды ST -Y,xxx LD xxx,Y+ SBIW YL, xxxx) используют этот стек. Инициализация, ИМХО, должна быть в CSTARTUP, или я заблуждаюсь? А далее компилятор должен позабодится о корректной работе со стеком, а LINKER предупредить о возможном наложении сегментов, если это отлавливается. Здесь же его (CSTACK) загнали вообще черти куда. Это и непонятно.
|
|
|
|
|
Jan 17 2008, 05:42
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(KRS @ Jan 16 2008, 19:08)  А у вас этот объект случайно не в стеке разместился? ( локальная переменная) тога если он большой у вас стек и переполняется (изначально указатель был 0x1FF а стал -15 (т.е вы разместили объект в стеке размером порядка 270 байт) Абсолютно справедливо, сначала написал в форум, а потом сам понял. Когда объект динамический - "кучи" хватало, а когда статический и локальный = стек и переполнялся. Всем спасибо за помощь.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|