본문 바로가기
OldStory/WORKS

Task Run Time Stats

by Alnilam 2010. 7. 22.

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