testing.c 894 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include <stdio.h>
  2. #include <zivuos.h>
  3. zv_state_t task_worker(zv_kernel_t *kernel, zv_event_t *event, zv_tid_t self, void *param) {
  4. puts("Task run.");
  5. printf("Task TID: %u. ", self);
  6. puts("Finish!");
  7. return ZV_TASK_RUNNING;
  8. }
  9. int main() {
  10. puts("ZivuOS basic scheduler test unit.");
  11. zv_kernel_t kernel[1];
  12. zv_task_t tasks[10];
  13. if (!zv_kernel_init(kernel, tasks, ZV_COUNT_TASKS(tasks))) {
  14. puts("KERNEL INIT FAIL.");
  15. }
  16. zv_tid_t first_tid = zv_kernel_create_process(
  17. kernel,
  18. task_worker,
  19. 0x02,
  20. NULL
  21. );
  22. if (first_tid == ZV_TID_NULL) {
  23. puts("CREATE PROCESS ERROR.");
  24. }
  25. if (zv_kernel_create_process(
  26. kernel,
  27. task_worker,
  28. 0x03,
  29. NULL
  30. ) == ZV_TID_NULL) {
  31. puts("CREATE PROCESS ERROR.");
  32. }
  33. zv_kernel_boot(kernel);
  34. return 0;
  35. }