-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathboard.c
More file actions
58 lines (49 loc) · 1 KB
/
Copy pathboard.c
File metadata and controls
58 lines (49 loc) · 1 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "avr/io.h"
#include <stdio.h>
#include "util/delay.h"
#include "drivers/uart.h"
#include "arch/avr/libc_stdio.h"
#include "arch/avr/platform.h"
#include "kernel/kernel.h"
#include <stdlib.h>
#define TICK 1
#define CONTEXT_SIZE 36
static void *primaryStackPtr = NULL;
static void *secondStackPtr = NULL;
uint8_t secondStack[128];
void taskSwitch(void** curTask, void* nextTask);
int board_init()
{
stdioInit();
platform_init();
//uartInit();
return 0;
}
void task2()
{
while (1)
{
printf("task2 printf\n");
malloc(20);
//uartTx('b', 1);
//uartTx("task2\n");
//puts("This is task2\n", sizeof("this is task2\n");
taskSwitch(&secondStackPtr, primaryStackPtr);
_delay_ms(5000);
}
}
int main()
{
board_init();
//secondStackPtr = task_spawn(secondStack, sizeof(secondStack), task2);
secondStackPtr = task_spawn(task2);
while (1)
{
printf("main task printf\n");
//uartTx('a', 1);
//uartTx("main\n");
taskSwitch(&primaryStackPtr, secondStackPtr);
_delay_ms(5000);
}
return 0;
}