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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Не могу заставить работать UART по прерываниям на ATXMega128A1, В GCC всё работает в IAR не могу :(
Сергей Борщ
сообщение Dec 31 2009, 09:54
Сообщение #16


Гуру
******

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



Цитата(Alexey Belyaev @ Dec 31 2009, 07:51) *
А есть возможность приблизить это всё к GCC, там с этим проблем никогда не было.
Нет, нельзя. Хотите без таких проблем - используйте GCC. Хотите более эффективный код - будьте добры вручную следить за стеками.
Цитата(Alexey Belyaev @ Dec 31 2009, 07:51) *
И что это за стек такой, который переполняется уже в самом начале программы из сотни строк?
Это зависит не от количества строк, а от размера, который вы дали стеку в настройках проекта. Покопайтесь и выделите там места с запасом: RSTACK - стек возвратов. Прикиньте максимальный уровень вложенности ваших подпрограмм, добавьте максимальный уровень вложенности подпрограмм в прерываниях, умножьте на размер сохраняемого командой call адреса. Мне обычно хватет уровня вложенности 16. CSTACK - стек данных. Выделите ему памяти с хорошим запасом (лучше всего - всю свободную).


--------------------
На любой вопрос даю любой ответ
"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

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

 


RSS Текстовая версия Сейчас: 1st September 2025 - 20:10
Рейтинг@Mail.ru


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