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

 
 
> Breakpoint'ы срабатывают только один раз :(, STM32L+FreeRTOS+Eclipse
InsolentS
сообщение May 13 2013, 06:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Добрый день!
После долгих мучений, удалось настроить Eclipse+Yagarto и скомпилировать код с использованием FreeRTOS под stm32l.
Всё запускается, работает, но: точки останова, установленные в теле подпрограмм, почему-то срабатывают только один раз, хотя сам код выполняется правильно (на пинах PA.8 и PB.14 наблюдаю устойчивую генерацию), если шагать в single step, шагает по программе корректно.
Проблема проявляется как при отладке с помощью J-Link (J_Link GDB Server), так и st-link (ST-Link_gdbserver).
Код:
CODE
void Task1(void *pvParameters)
{
GPIO_InitTypeDef toggle = { (1 << 8), GPIO_Mode_OUT, GPIO_Speed_40MHz, GPIO_OType_PP, GPIO_PuPd_NOPULL};

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_Init(GPIOA, &toggle);

while(1)
{
GPIO_ToggleBits(GPIOA, (1 << 8));
vTaskDelay(10);
__asm("NOP"); // здесь установлен breakpoint
}
}

void Task2(void *pvParameters)
{
GPIO_InitTypeDef toggle = { (1 << 14), GPIO_Mode_OUT, GPIO_Speed_40MHz, GPIO_OType_PP, GPIO_PuPd_NOPULL};

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
GPIO_Init(GPIOB, &toggle);

while(1)
{
GPIO_ToggleBits(GPIOB, (1 << 14));
vTaskDelay(5);
__asm("NOP"); // здесь установлен breakpoint
}
}

int main(void)
{
xTaskCreate( Task1, ( signed char * ) "Task1",
configMINIMAL_STACK_SIZE, NULL, (tskIDLE_PRIORITY + 1UL),
( xTaskHandle * ) NULL );

xTaskCreate( Task2, ( signed char * ) "Task2",
configMINIMAL_STACK_SIZE, NULL, (tskIDLE_PRIORITY + 1UL),
( xTaskHandle * ) NULL );

vTaskStartScheduler();

return 0;
}


Initialization Commands отладчика (J-Link):
Код
monitor speed auto
monitor endian little
monitor flash device = STM32L151CB
monitor flash download = 1
monitor flash breakpoints = 1
monitor reset 0


Вообще очень нестабильная работа с breakpoint'ами - то срабатывают, то не срабатывают, то срабатывают один раз. В чём может быть дело?

Сообщение отредактировал IgorKossak - May 13 2013, 07:06
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post



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

 


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


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