Skip to content
This repository was archived by the owner on Apr 25, 2021. It is now read-only.

Commit 89dd96f

Browse files
committed
oprom 업데이트
1 parent 72f34a3 commit 89dd96f

19 files changed

Lines changed: 713 additions & 408 deletions

src/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ SRC_C = \
5353
machine.c \
5454
mphalport.c \
5555
modmachine.c \
56+
moducode.c \
57+
moducomputer.c \
5658
moduos.c \
5759
modutime.c \
5860
modumsgpack.c \

src/machine.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ void _start(void) {
2020

2121
void _exit(int status) {
2222
for (;;);
23-
// __syscall1(SYS_CONTROL, SYS_CONTROL_SHUTDOWN);
23+
// __syscall0(SYS_CONTROL_SHUTDOWN);
2424
}
2525

2626
void Reset_Handler(void) __attribute__((naked));
@@ -70,7 +70,7 @@ void Signal_Handler() {
7070
__fatal_error("Signal_Handler() fail");
7171
}
7272

73-
__syscall1(SYS_CONTROL, SYS_CONTROL_RETURN);
73+
__syscall0(SYS_CONTROL_RETURN);
7474
}
7575

7676

@@ -81,12 +81,12 @@ void Call_Handler(Handler handler, int a1, int a2, int a3) {
8181
nlr_buf_t nlr;
8282
if (nlr_push(&nlr) == 0) {
8383
int value = handler(a1, a2, a3);
84-
__syscall2(SYS_CONTROL, SYS_CONTROL_RETURN, value);
84+
__syscall1(SYS_CONTROL_RETURN, value);
8585
nlr_pop();
8686
} else {
8787
// TODO: handle exception
8888
int value = -1;
89-
__syscall2(SYS_CONTROL, SYS_CONTROL_RETURN, value);
89+
__syscall1(SYS_CONTROL_RETURN, value);
9090
}
9191
}
9292

@@ -104,7 +104,7 @@ void nlr_jump_fail(void *val) {
104104
}
105105

106106
void NORETURN __fatal_error(const char *msg) {
107-
__syscall3(SYS_CONTROL, SYS_CONTROL_CRASH, (int) msg, (int) strlen(msg));
107+
__syscall2(SYS_CONTROL_CRASH, (int) msg, (int) strlen(msg));
108108
for (;;);
109109
}
110110

src/main.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ int main(int argc, char **argv) {
5959
mp_pystack_init(&pystack, &pystack[MP_ARRAY_SIZE(pystack)]);
6060
#endif
6161

62-
size_t ram_size = (size_t) __syscall1(SYS_INFO, SYS_INFO_RAM_SIZE);
62+
size_t ram_size = (size_t) __syscall0(SYS_INFO_RAM_SIZE);
6363
gc_init(&_ram_start, ((void *)&_ram_start) + ram_size);
6464

6565
mp_init();
@@ -99,7 +99,9 @@ int main(int argc, char **argv) {
9999
vstr_init_print(&vstr, 256, &print);
100100

101101
mp_obj_print_helper(&print, (mp_obj_t) nlr.ret_val, PRINT_EXC);
102-
char *message = vstr_null_terminated_str(&vstr);
102+
// char *message = vstr_null_terminated_str(&vstr);
103+
vstr.buf[vstr.len] = '\0';
104+
char *message = vstr.buf;
103105
__fatal_error(message);
104106
}
105107

0 commit comments

Comments
 (0)