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

 
 
 
Reply to this topicStart new topic
> AVR + FreeRTOS + JTAG = ?, Странное поведение указателя стека в отладчике
AndyBR
сообщение Nov 3 2010, 09:32
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 3-11-10
Пользователь №: 60 619



Добрый день.
ATmega128 + FreeRTOS V6.0.5 + WinAVR-20090313 + AVRStudio 4.18 + JTAG ICE
Начинаю осваивать FreeRTOS. Создал задачу "мигания LEDом" - мигает. Но...
Начинаю отладку, смотрю на регистр Stack Pointer. Сразу после старта все логично - указывает на конец внутренней SRAM (0x10FF).
Однако после вызова vTaskStartScheduler() перескакивает на 0x270 - 0x2B0 (когда как).
Что это: глюк отладчика или FreeRTOS???
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Nov 3 2010, 10:18
Сообщение #2


Шаман
******

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



Во FreeRTOS (как и у многих других RTOS) у каждого процесса свой стек.
Go to the top of the page
 
+Quote Post
AndyBR
сообщение Nov 3 2010, 12:11
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 3-11-10
Пользователь №: 60 619



Это все объясняет!
Действительно, когда срабатывает Break Point внутри задачи, SP = 0x0244.
Этот адрес находится в середине кучи FreeRTOS.
map-файл:
CODE
.bss 0x00800162 0x5de Source\FreeRTOS\portable\heap_1.o

Спасибо!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th June 2025 - 12:05
Рейтинг@Mail.ru


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