CH32V307_FreeRTOS_Hello/src/syscalls.c

42 lines
630 B
C
Raw Normal View History

2022-04-30 10:07:26 +00:00
#include <sys/stat.h>
2022-05-01 13:45:10 +00:00
#include "FreeRTOS.h"
#include "task.h"
void *_sbrk(ptrdiff_t incr) {
2023-04-10 15:59:21 +00:00
extern char _end[];
extern char _heap_end[];
2022-05-01 13:45:10 +00:00
static char *curbrk = _end;
void *ret;
taskENTER_CRITICAL();
2023-04-10 15:59:21 +00:00
if ((curbrk + incr < _end) || (curbrk + incr > _heap_end)) return NULL - 1;
2022-05-01 13:45:10 +00:00
curbrk += incr;
ret = curbrk - incr;
taskEXIT_CRITICAL();
return ret;
}
2022-04-30 10:07:26 +00:00
int _fstat(int file, struct stat *st) {
2023-04-10 15:59:21 +00:00
st->st_mode = S_IFCHR;
2022-04-30 10:07:26 +00:00
2023-04-10 15:59:21 +00:00
return 0;
2022-04-30 10:07:26 +00:00
}
int _close(int file) {
2023-04-10 15:59:21 +00:00
return -1;
2022-04-30 10:07:26 +00:00
}
int _isatty(int file) {
2023-04-10 15:59:21 +00:00
return -1;
2022-04-30 10:07:26 +00:00
}
off_t _lseek(int file, off_t pos, int whence) {
2023-04-10 15:59:21 +00:00
return -1;
2022-04-30 10:07:26 +00:00
}