- 태스크 생성하여 결과를 출력 예제를 Workbench Simulator에서 수행한다.
설치 환경
- Windows 10 64bit
- Wind River Workbench 3.3
- Wind River General Purpose Platform VxWorks Edition 6.9
Booting: SImulator Targets
1. Target Console 설정
- 상단 메뉴바 -> Window -> Preference -> Wind River -> Target Management -> Target Console -> 하단 이미지의 두 개 항목 체크 해제한다.
- 만약, Target Console을 설정하지 않는다면 다음과 같은 에러가 발생한다.
2. Project 생성
- New -> VxWorks Downloadable Kernel Module Project -> Finish
3. test.c 파일 생성 후 build
- New -> File -> 하단의 예제 파일 생성 -> Build
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<test.c>
#include <taskLib.h>
#include <stdio.h>
#include <kernelLib.h>
long int task_run[]={100, 450, 200};
int task_stop[]={18, 25, 30};
void task(int n)
{
long int x;
printf("Task %i has been started\n", n);
while (1)
{
printf("task %d: running\n", n);
x = 1000000 * task_run[n];
while (x > 0) x--;
printf("task %d: stopped\n", n);
taskDelay(task_stop[n]);
}
}
void CreateTasks(void)
{
int id1, id2, id3;
/* kernelTimeSlice(1); */
id1=taskSpawn("Task0", 210, 0, 4096, (FUNCPTR) task, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
id2=taskSpawn("Task1", 210, 0, 4096, (FUNCPTR) task, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0);
id3=taskSpawn("Task2", 210, 0, 4096, (FUNCPTR) task, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
4. 빌드 된 파일을 Task에 추가한 다음 실행
- Remote Systems -> vxsim0 -> Wind River Launches -> VxWorsk Kernel Task 오른쪽 버튼 클릭 -> Create a new launch configuration
- Entry Point -> Browse -> CreateTasks 등록 -> Run
- 시뮬레이터를 실행하면 테스크가 생성된 다음, 주기적으로 태스크 정보를 출력하는 예제를 터미널에서 확인할 수 있다.
Comments powered by Disqus.