01.03.2017 Views

Reversing FreeRTOS on embedded devices

RECON-BRX-2017-FreeRTOS_Embedded_Reversing

RECON-BRX-2017-FreeRTOS_Embedded_Reversing

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Internals<br />

• Heavily relies <strong>on</strong> double linked circular lists<br />

• pxTaskReadyListc<strong>on</strong>tains a list of tasks that<br />

needs to be executed<br />

• Every task has its own Task C<strong>on</strong>trol Block. TCB<br />

has a pointer to the stack allocated for the task.<br />

• Queue is a list with additi<strong>on</strong>al pointers<br />

indicating where is the next read or write<br />

address.<br />

• Semaphore is a specific instance of queue<br />

which doesn’t track the data but the number of<br />

used elements in uxMessageWaiting field.<br />

• Mutex is similar to semaphore, but head pointer<br />

is always 0 indicating it is a mutex and pointer<br />

to the task owning it is in the tail pointer.<br />

18 RECON 2017 Brussels

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!