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

 
 
> stm32 + freertos. Странные значения переменных в отладчике
Vladimir Prokofi...
сообщение Mar 1 2012, 12:24
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 9-03-11
Пользователь №: 63 481



Iar 6.21 используется. При отладке STM32 + freertos иногда внутри функции все значения переменных заведомо неправильные. Оптимизация выключена вся.

Выглядит это так, реальные значения привожу:

В одном из модулей описан глобальный массив track, его location: 0x20004438
Внутри этого модуля описана функция получения указателя на одну из точек трека
Код
TGPSPoint * TASK_GetCurPoint(){
  return &(track[0]);
}


В другом модуле вызываем эту функцию:
Код
{
  TGPSPoint *curPoint;
  
  curPoint = TASK_GetCurPoint(); //точка остановки 1
  следующая строка;  // точка остановки 2
...
}


На первой точке видим
curPoint значение 0xE9CDFD07
Что разумно, она может быть любая
На второй точке значение не меняется, хотя я ожидал увидеть там 0x20004438, ну или по крайней мере другое значение.

Внутри этой функции Watch показывает явную чушь по всем переменным, но после выхода результат верный. Вроде как без freertos таких проблем небыло, или я не замечал. В чем тут подвох и как исправить? Очень напрягает невозможность увидеть значение...

Сообщение отредактировал IgorKossak - Mar 1 2012, 14:10
Причина редактирования: [code]
Go to the top of the page
 
+Quote Post



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

 


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


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