반응형
FreeRTOS에서 vTaskGetRunTimeState() 함수를 사용하면 각 태스크들의 점유율을 볼 수 있다. 이 함수를 사용하기 위해서는 FreeRTOSConfig.h에 configGENERATE_RUN_TIME_STATS 값을 1로 정의 해야 하며 portCONFIGURE_TIMER_FOR_RUN_TIME_STATS 함수 와 portGET_RUN_TIME_COUNTER_VALUE 함수를 정의 해 주어야 한다.
portCONFIGURE_TIMER_FOR_RUN_TIME_STATS함수는 말 그대로 run time states에 사용할 counter를 설정하고 portGET_RUN_TIME_COUNTER_VALUE는 현재 count값을 리턴하면 된다. counter의 클럭 주파수는 시스템 클럭보다 10배에서 100배 더 빠르게 설정해야 태스크의 정유율의 정확도가 높아 진다.
다음은 vTaskGetRunTimeStats()함수를 실행 하였을 때의 출력 결과 이다.
[ATMEL] top
Name Count Percent
--------------------------------------------
CLI 36340437 84%
IDLE 27 <1%
KEY 6735 <1%
SM 6214 <1%
WRITE 183533 <1%
READ 612338 1%
pf_ISR 5870306 13%
LED 1743 <1%
반응형
'OldStory > WORKS' 카테고리의 다른 글
FreeROTS MMU and Cache (0) | 2010.09.07 |
---|---|
stack overflow (0) | 2010.08.18 |
Task List (0) | 2010.07.21 |
ATMEL USB 예제 소스 (0) | 2010.07.08 |
VPATH (0) | 2010.07.06 |