testing.c 866 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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)) == false) {
  14. puts("KERNEL INIT ERROR.");
  15. }
  16. if (zv_kernel_create_process(
  17. kernel,
  18. task_worker,
  19. 0x02,
  20. NULL
  21. ) == ZV_TID_NULL) {
  22. puts("CREATE PROCESS ERROR.");
  23. }
  24. if (zv_kernel_create_process(
  25. kernel,
  26. task_worker,
  27. 0x01,
  28. NULL
  29. ) == ZV_TID_NULL) {
  30. puts("CREATE PROCESS ERROR.");
  31. }
  32. zv_kernel_boot(kernel);
  33. return 0;
  34. }