serial port works, added setup instructions
authorJohn Tsiombikas <nuclear@member.fsf.org>
Wed, 11 Nov 2020 05:44:28 +0000 (07:44 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Wed, 11 Nov 2020 05:44:28 +0000 (07:44 +0200)
Makefile
README.md [new file with mode: 0644]
install
src/main.c
src/startup.s

index 09484e0..3b12438 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -26,7 +26,7 @@ CFLAGS = $(arch) $(warn) $(opt) $(dbg) $(gccopt) $(inc) $(def)
 ASFLAGS = $(arch) $(dbg) $(inc)
 LDFLAGS = -nostdlib -T rpikern.ld -print-gc-sections
 
-QEMU_FLAGS = -m 256 -M raspi2 -serial stdio -d guest_errors
+QEMU_FLAGS = -m 1024 -M raspi2 -serial stdio -d guest_errors
 
 
 $(bin): $(elf)
@@ -56,3 +56,8 @@ run: $(elf)
 .PHONY: disasm
 disasm: $(elf)
        $(toolprefix)objdump -d $<
+
+.PHONY: install
+install: $(bin) $(elf)
+       cp $(bin) /srv/tftp/$(bin)
+       cp $(elf) /srv/tftp/$(elf)
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..4aaf984
--- /dev/null
+++ b/README.md
@@ -0,0 +1,21 @@
+RPi Configuration
+-----------------
+In `config.txt`:
+    init_uart_clock=3000000
+    enable_uart=1
+    core_freq=250
+
+netboot with uboot
+------------------
+Put `rpikern.bin` in `/srv/tftp/`  (`make install`)
+
+Once:
+    setenv serverip 192.168.0.4
+    setenv ipaddr 192.168.0.25
+    saveenv
+
+Then:
+    tftpboot 0x8000 rpikern.bin
+    go 0x8000
+
+TODO: make it automatic with a boot script
diff --git a/install b/install
index 837479c..269e7e4 100755 (executable)
--- a/install
+++ b/install
@@ -2,4 +2,4 @@
 
 mount /media/usbmass && \
        cp rpikern.bin /media/usbmass/kernel7.img && \
-       umount /media/usbmass && sync
+       umount /media/usbmass
index 8f85b1f..e204820 100644 (file)
@@ -17,8 +17,6 @@ int main(void)
        static char cmdbuf[256];
        static int cmdend;
 
-       dbgled(2);
-
        init_serial(115200);
        ser_printstr("starting rpikern\n");
 
@@ -56,7 +54,7 @@ int main(void)
 
 void panic(void)
 {
-       dbgled(1);
+       ser_printstr("PANIC!\n");
        exit(0);
 }
 
index d0b402f..7765ede 100644 (file)
@@ -4,10 +4,13 @@
        .code 32
 
 startup:
-       ldr sp, =_stacktop
+       @ stop all but one of the cores
+       mrc p15, 0, r0, c0, c0, 5
+       ands r0, r0, #0xff
+       bne exit
 
-       mov r0, #2
-       bl dbgled
+       @ setup stack
+       ldr sp, =_stacktop
 
        @ clear bss
        ldr r0, =_bss_start
@@ -19,10 +22,7 @@ startup:
        subs r1, #4
        bne 0b
 1:
-       bl main
-
-       mov r0, #0
-       bl dbgled
+       blx main
 
        .global exit
 exit:  wfe