/* Glue between chibiOS and baselibc */ #include #include #include #include "ch.h" #include "hal.h" FILE* const stdout = (FILE*)&SD1; size_t _fread(void *ptr, size_t size, FILE *stream) { BaseSequentialStream *bstream = (BaseSequentialStream*) stream; return chSequentialStreamRead(bstream, ptr, size); } size_t _fwrite(const void *ptr, size_t size, FILE *stream) { BaseSequentialStream *bstream = (BaseSequentialStream*) stream; return chSequentialStreamWrite(bstream, ptr, size); } void free(void *p) { chHeapFree(p); } void *malloc(size_t s) { return chHeapAlloc(NULL, s); } void *calloc(size_t nmemb, size_t size) { size *= nmemb; void *p = chHeapAlloc(NULL, size); if (p != NULL) memset(p, 0, size); return p; }