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

 
 
> переполнен CStack и RStack, хотя раньше всё было ОК
//Nikson
сообщение Aug 1 2007, 21:23
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 26-01-06
Из: Минск, Беларусь
Пользователь №: 13 651



Было работающее устройство на ATmega128 (проработало полгода примерно).

Когда вносил правки в исходник (добавлял новые функции) произошло замыкание, сгорела мега, самодельный jtag ice (натурально так горел, с дымом и лопнувшим корпусом на Мега16).

Всё перепаял, собрал новый jtag, из архива достал предыдущую версию проекта (которая работала)...
При отладке (точнее, ещё при прошивке) ИАР говорит

The stack 'CStack' is filled to 100% (2200 bytes used out of 2200). The warning threshold is set to 90%.
The stack 'RStack' is filled to 100% (140 bytes used out of 140). The warning threshold is set to 90%.

и прога работать соответственно отказывается.

в чём проблема? это у меня программный глюк (что имхо маловероятно - проект-то был рабочий) или аппаратный (новая мега/ новый житаг)?

подскажите плиз!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
skn
сообщение Aug 1 2007, 22:14
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 20-03-06
Пользователь №: 15 416



Никогда не видел, чтобы была ругань на стеки при прошивке. При компиляции да, бывало. Это особенность работы с JtagIce? Может галочку совместимостьи с m103 забыли снять?
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 1 2007, 22:14
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Очень может быть, что просто рассинхронизация или помехи в линии.
JTAG связь часом не теряет?
Go to the top of the page
 
+Quote Post
Igor26
сообщение Aug 2 2007, 05:50
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 10-02-05
Пользователь №: 2 544



Цитата
Никогда не видел, чтобы была ругань на стеки при прошивке

Запросто! ИАР перед запуском сеанса отладки по JTAG сначала "собирает" проект, а затем программирует кристалл (если ему это разрешено). Ну и далее начинается отладка. Вы попробуйте в исходнике убрать где-нибудь, например, кавычки и запустить из под ИАРа JTAG.
По теме. Если проект старый и рабочий, то можно попробовать прошить старый HEX JTAGом из под Студии.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Aug 2 2007, 12:46
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Сталкивался с подобным, проверьте все же опции проекта, у меня подобная проблема оттуда росла.
Вспоминаю подробности, кажется это было из-за неправильной модели памяти.
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Aug 2 2007, 20:02
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Бывало, что когда начинал новый проект с теми же исходниками, забывали проставить опции компилятора (Project -> Options -> System -> CStack, RStack). В силу обильного использования памяти как раз эта ошибка вылезала довольно часто. Вы не используете внешний .xcl файл?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 2 2007, 20:56
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(//Nikson @ Aug 2 2007, 00:23) *
Было работающее устройство на ATmega128 (проработало полгода примерно).

The stack 'CStack' is filled to 100% (2200 bytes used out of 2200). The warning threshold is set to 90%.
The stack 'RStack' is filled to 100% (140 bytes used out of 140). The warning threshold is set to 90%.
Такое сообщение начали выводить сравнительно свежие версии отладчика. Возможно вы раньше работали с предыдущей версией, которая это сообщение просто не умела выдавать, а устройство не работает по другой причине?
Забить 140 байт RSTACK - это 70 раз вызвать подпрограмму. Сомневаюсь что у вас такая глубина вложенности.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
//Nikson
сообщение Aug 3 2007, 14:36
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 43
Регистрация: 26-01-06
Из: Минск, Беларусь
Пользователь №: 13 651



в общем, впаял новый контроллер на новую плату, проект тот же самый, житаг ice тот же самый, и всё заработало (вроде бы..... тьфу х 3).

причины произошедшего мне не совсем понятны sad.gif


PS. совместимость с м103 отключена, связь не теряется, проект со всеми настройками и версия ИАРа те же самые.

PPS. да, вот ещё вспомнил - когда была эта проблема, то пробовал прошить тестовой программкой мегу64 - так вот, IAR прошивал код, не ругался никак, но в окне Disassembly вместо реального кода были сплошные 0xFFFF и программа соответсвенно не выполнялась (ногами не дрыгала). быть может, просто день неудачный был?
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 3 2007, 15:41
Сообщение #9


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(//Nikson @ Aug 3 2007, 17:36) *
быть может, просто день неудачный был?

Скорее просто GND на JTAG разъеме неконтачил.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 02:53
Рейтинг@Mail.ru


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