Как найти адрес памяти задачи или переменной в FreeRTOS

Я новичок в мире встроенных систем и систем реального времени, поэтому моя задача — вживую исправлять глючные задачи с помощью DMA,

Моя проблема

Как найти адрес памяти моей глючной задачи, чтобы проанализировать ее и в конечном итоге исправить?

Я использую FreeRTOS на гигантском микроконтроллере gecko EFM32 и компиляторе GCC.


person Azzedine madi    schedule 14.07.2016    source источник
comment
При использовании xTaskCreate вы передаете дескриптор задачи в функцию. Попробуйте выяснить, получили ли вы адрес задачи в этом дескрипторе.   -  person ckruczek    schedule 14.07.2016
comment
спасибо за вашу помощь, но это проблема, есть ли какая-либо функция, которую я могу использовать, чтобы я мог найти адрес   -  person Azzedine madi    schedule 14.07.2016
comment
Нет, это не «единственная» функция. Но, как я уже сказал, попробуйте выяснить, какое значение xTaskCreate записывает в дескриптор задачи.   -  person ckruczek    schedule 14.07.2016


Ответы (1)


Я нашел решение своей проблемы, используя блок управления задачами (TCB) моей задачи, tskTCB содержит много информации о задаче, связанной с ней, в частности, самый низкий адрес стека задач (pxStack), самый высокий адрес стека задач (pxEndOfStack) и Текущая вершина стека задач (pxTopOfStack).

person Azzedine madi    schedule 19.07.2016