projects
/
rpikern
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fighting with interrupt vectors
[rpikern]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index
8bab5a1
..
39a44d9
100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-8,7
+8,9
@@
#include "rpi.h"
#include "contty.h"
#include "serial.h"
#include "rpi.h"
#include "contty.h"
#include "serial.h"
+#include "timer.h"
#include "video.h"
#include "video.h"
+#include "intr.h"
void dbgled(int x);
void dbgled(int x);
@@
-22,6
+24,10
@@
int main(void)
static char cmdbuf[256];
static int cmdend;
static char cmdbuf[256];
static int cmdend;
+ unsigned int cpsr;
+ asm volatile("mrs %0, cpsr" : "=r"(cpsr));
+ printf("CPSR: %x (mode: %x)\n", cpsr, cpsr & 0x1f);
+
rpi_init();
/*init_serial(115200); done in rpi_init now for early debugging */
con_init();
rpi_init();
/*init_serial(115200); done in rpi_init now for early debugging */
con_init();
@@
-32,7
+38,12
@@
int main(void)
video_init();
video_init();
+ timer_init();
+ intr_init();
+ enable_intr();
+
printf("Going interactive\n");
printf("Going interactive\n");
+
for(;;) {
while(ser_pending()) {
int c = getchar();
for(;;) {
while(ser_pending()) {
int c = getchar();
@@
-99,6
+110,9
@@
static void cmdrun(char *cmd)
cur_y -= 10;
video_scroll(cur_x, cur_y);
cur_y -= 10;
video_scroll(cur_x, cur_y);
+ } else if(strcmp(cmd, "ticks") == 0) {
+ printf("%lu\n", num_ticks);
+
} else if(strcmp(cmd, "help") == 0) {
printf("help not implemented yet\n");
} else if(strcmp(cmd, "ver") == 0) {
} else if(strcmp(cmd, "help") == 0) {
printf("help not implemented yet\n");
} else if(strcmp(cmd, "ver") == 0) {