2013-11-23 2 views
1

Windows Embedded Compact 7인터럽트 대기 시간을 테스트하는 방법은 무엇입니까?

사용자 공간에서 인터럽트 대기 시간을 테스트하는 방법이 있습니까?

플랫폼 빌더의 일부로 제공되는 도구가 있습니까?

Intrtime.exe라는 프로그램도 보았습니다. 그러나이 프로그램을 사용하는 방법에 대한 예제는 없습니다.

어떻게 인터럽트 대기 시간을 테스트합니까?

Intrtime.exe에 대한 참조는 어떻게 구현합니까?
http://www.ece.ufrgs.br/~cpereira/temporeal_pos/www/WindowsCE2RT.htm

편집 또한 발견
:

ILTiming.exe 실시간 측정 도구 일반적으로 인터럽트 무엇을 의미하는지 (소형 2013)

http://msdn.microsoft.com/en-us/library/ee483144.aspx

답변

5

이것은 실제로 하드웨어가 필요한 테스트이며 측정 할 수있는 몇 가지 "대기 시간"이 있습니다. 일단 인터럽트 신호에서부터 드라이버 ISR이 반응 할 때까지 그리고 두 번째는 인터럽트가 발생하여 IST가 반응 할 때까지의 시간입니다.

I did this back in the CE 3.0/CE 4.0 days 신호 생성기를 인터럽트 가능 입력에 연결 한 다음 인터럽트를 받았을 때 ISR 펄스 두 번째 입력 및 IST 펄스 세 번째 입력을 가짐으로써. 나는 입력과 출력에 스코프를 연결하여 입력 신호와 출력 신호 사이의 시간을 측정하여 대기 시간뿐만 아니라 지터도 얻었습니다. CE 7의 4 번째 줄을 쉽게 추가 할 수 있으므로 사용자 공간의 IST와 커널 공간의 IST를 확인할 수 있습니다. 나는 그 결과를 보는 데 관심이있을 것입니다.

결과에 영향을 미치는 측정을 시도하는 코드의 문제가 발생하면 플랫폼에서 실행되는 소프트웨어로이를 효과적으로 측정 할 수 있다고 생각하지 않습니다. 또한 시스템 틱 해상도 아래에서 시간적으로 이야기하고 있으므로 스케줄러도 문제가 될 수 있습니다. CeLog는이 시간에 대한 아이디어를 얻을 수는 있지만 범위를 설정하는 것보다는 설정하고 실행하는 것이 더 효과적 일 수 있습니다.

+0

msdn에 대한보고도 보았습니다. 나는 시간 내에 범위를 얻을 수 있는지 확신하지 못한다 .... 단지 궁금한 점은 ISR 코드가 정의되었거나 어디서 볼 수 있습니까? –

+1

ISR은 BSP에 있거나 플랫폼에 설치 가능한 ISR (IISR 지원)이있는 경우 코드에 포함시킬 수 있습니다. BSP에 있다면 소스 코드가 필요합니다. – ctacke

1

대기 시간은 인터럽트 소스 엉덩이 사이의 시간입니다 인터럽트 라인과 쓰레드 (때로는 사용자 공간에서)가 스케줄 된 후 결과로 실행된다.

인터럽트 이벤트가 CPU에 도착할 때 인터럽트 이벤트의 정확한 시간 표시 방법을 사용하지 않으면 (인터럽트가 실행되는 경우가 아니라) 인터럽트 이벤트가 인터럽트와 인터럽트 사이의 시간을 측정하여 외부에서 수행됩니다 라인이 어설트되고 인터럽트에 응답하는 쓰레드가 제어 할 수있는 관찰 가능한 신호. 일반적으로 DSO 또는 로직 분석기가이 용도로 사용됩니다.

소프트웨어 기술은 대개 정확한 시간 기록을 ISR에 저장할 때 주로 사용됩니다. 인터럽트 라인이 어설 션되는 사이의 시간과 ISR 실행이 무시할 수있는 시간이 확실한 경우 이것이 유효 할 수 있습니다. 반면에 인터럽트를 비활성화하여 동시성을 제어하거나 인터럽트를 중첩하는 경우이 값을 측정하는 것이 좋습니다.

+0

인터럽트 라인에서 ISR까지의 시간을 무시하고 무시할 수있는 고해상도 타이머가 있다고 가정합니다. 인터럽트를 만드는 방법은 무엇입니까? ISR 코드는 ISThread 전에 시작 타임 스탬프와 종료 타임 스탬프를 어디에/어디서 넣어야합니까? ? 고맙습니다. –

관련 문제