📄 syscalls.c
字号:
/***********************************************************************/
/* */
/* SYSCALLS.C: System Calls Remapping */
/* */
/***********************************************************************/
#include <stdlib.h>
extern int putchar (int ch);
extern int getchar (void);
int read (int file, char * ptr, int len) {
char c;
int i;
for (i = 0; i < len; i++) {
c = getchar();
if (c == 0x0D) break;
*ptr++ = c;
putchar(c);
}
return len - i;
}
/* Write a buffer using putchar function in serial.c */
int write (int file, char * ptr, int len) {
int i;
for (i = 0; i < len; i++) putchar (*ptr++);
return len;
}
int isatty (int fd) {
return 1;
}
void _exit (int n) {
label: goto label; /* endless loop */
}
#define HEAP_START 0x10000000
#define HEAP_LIMIT 0x10010000
caddr_t sbrk (int incr) {
//extern char end asm ("end"); /* Defined by the linker */
static char * heap_end;
char * prev_heap_end;
if (heap_end == NULL) heap_end = (char *)HEAP_START;//&end;
prev_heap_end = heap_end;
if (heap_end + incr >= (char *)HEAP_LIMIT) {
abort (); /* Out of Memory */
}
heap_end += incr;
return (caddr_t) prev_heap_end;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -