From: John Tsiombikas Date: Wed, 11 Nov 2020 05:44:28 +0000 (+0200) Subject: serial port works, added setup instructions X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=rpikern;a=commitdiff_plain;h=e848811902a51b67dedb6f6325dda19a6f21e820 serial port works, added setup instructions --- diff --git a/Makefile b/Makefile index 09484e0..3b12438 100644 --- 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 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 --- 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 diff --git a/src/main.c b/src/main.c index 8f85b1f..e204820 100644 --- a/src/main.c +++ b/src/main.c @@ -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); } diff --git a/src/startup.s b/src/startup.s index d0b402f..7765ede 100644 --- a/src/startup.s +++ b/src/startup.s @@ -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