From b70c614a7389a4bf9f908b46197329580e27bf7b Mon Sep 17 00:00:00 2001 From: Adam Greenwood-Byrne Date: Sun, 7 Nov 2021 18:35:17 +0000 Subject: [PATCH] Starting part14 write-up --- .../Makefile | 0 .../Makefile.gcc | 0 part14-spi-ethernet/README.md | 35 ++++++++++++++++++ .../boot/boot.S | 0 .../boot/link.ld | 0 .../boot/sysregs.h | 0 .../images/part14-spi-ethernet-photo.jpg | Bin 0 -> 66277 bytes .../include/fb.h | 0 .../include/io.h | 0 .../include/mb.h | 0 .../include/multicore.h | 0 .../include/spi.h | 0 .../include/terminal.h | 0 .../kernel/arp.c | 0 .../kernel/irq.c | 0 .../kernel/irqentry.S | 0 .../kernel/kernel.c | 0 .../kernel/kernel.h | 0 .../kernel/utils.S | 0 .../lib/fb.c | 0 .../lib/io.c | 0 .../lib/mb.c | 0 .../lib/multicore.c | 0 .../lib/spi.c | 0 .../net/enc28j60.c | 0 .../net/enc28j60.h | 0 .../net/encspi.c | 0 27 files changed, 35 insertions(+) rename {part14-ethernet => part14-spi-ethernet}/Makefile (100%) rename {part14-ethernet => part14-spi-ethernet}/Makefile.gcc (100%) create mode 100644 part14-spi-ethernet/README.md rename {part14-ethernet => part14-spi-ethernet}/boot/boot.S (100%) rename {part14-ethernet => part14-spi-ethernet}/boot/link.ld (100%) rename {part14-ethernet => part14-spi-ethernet}/boot/sysregs.h (100%) create mode 100644 part14-spi-ethernet/images/part14-spi-ethernet-photo.jpg rename {part14-ethernet => part14-spi-ethernet}/include/fb.h (100%) rename {part14-ethernet => part14-spi-ethernet}/include/io.h (100%) rename {part14-ethernet => part14-spi-ethernet}/include/mb.h (100%) rename {part14-ethernet => part14-spi-ethernet}/include/multicore.h (100%) rename {part14-ethernet => part14-spi-ethernet}/include/spi.h (100%) rename {part14-ethernet => part14-spi-ethernet}/include/terminal.h (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/arp.c (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/irq.c (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/irqentry.S (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/kernel.c (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/kernel.h (100%) rename {part14-ethernet => part14-spi-ethernet}/kernel/utils.S (100%) rename {part14-ethernet => part14-spi-ethernet}/lib/fb.c (100%) rename {part14-ethernet => part14-spi-ethernet}/lib/io.c (100%) rename {part14-ethernet => part14-spi-ethernet}/lib/mb.c (100%) rename {part14-ethernet => part14-spi-ethernet}/lib/multicore.c (100%) rename {part14-ethernet => part14-spi-ethernet}/lib/spi.c (100%) rename {part14-ethernet => part14-spi-ethernet}/net/enc28j60.c (100%) rename {part14-ethernet => part14-spi-ethernet}/net/enc28j60.h (100%) rename {part14-ethernet => part14-spi-ethernet}/net/encspi.c (100%) diff --git a/part14-ethernet/Makefile b/part14-spi-ethernet/Makefile similarity index 100% rename from part14-ethernet/Makefile rename to part14-spi-ethernet/Makefile diff --git a/part14-ethernet/Makefile.gcc b/part14-spi-ethernet/Makefile.gcc similarity index 100% rename from part14-ethernet/Makefile.gcc rename to part14-spi-ethernet/Makefile.gcc diff --git a/part14-spi-ethernet/README.md b/part14-spi-ethernet/README.md new file mode 100644 index 0000000..221d182 --- /dev/null +++ b/part14-spi-ethernet/README.md @@ -0,0 +1,35 @@ +Writing a "bare metal" operating system for Raspberry Pi 4 (Part 14) +==================================================================== + +Bare metal Ethernet for under £10 +--------------------------------- +It's exciting to build your own OS, but until you give it the ability to communicate with the outside world, your possibilities are limited. Indeed, our simple Bluetooth comms got us up and running - but if we're to do anything meaningful then we need proper networking. + +In this tutorial, we're going to connect to an external Ethernet controller (a network card, if you like) using the RPi4's Serial Peripheral Interface (SPI). + +Things you'll need: + + * An [ENC28J60 Ethernet module](https://www.amazon.co.uk/dp/B00DB76ZSK) - it cost me less than £6 and was worth every penny (n.b. code only tested on this exact model) + * Some [female-to-female jumper cables](https://www.amazon.co.uk/dp/B072LN3HLG) - cost me less than £2.50 + * An Ethernet cable to connect to your Internet router + +Connecting up the ENC28J60 Ethernet module +------------------------------------------ +I followed the very helpful instructions [here](https://www.instructables.com/Super-Cheap-Ethernet-for-the-Raspberry-Pi/). + +We won't be connecting the interrupt line for now, so there are just six jumper leads (I've suggested colours) that need connecting: + + | Pi pin | Pi GPIO | Jumper colour | ENC28J60 pin | + | ------ | ----------- | ------------- | ------------ | + | Pin 17 | +3V3 power | Red | VCC | + | Pin 19 | GPIO10/MOSI | Green | SI | + | Pin 20 | GND | Black | GND | + | Pin 21 | GPIO09/MISO | Yellow | SO | + | Pin 23 | GPIO11/SCLK | Blue | SCK | + | Pin 24 | GPIO08/CE0 | Green | CS | + +![GPIO location](../part3-helloworld/images/3-helloworld-pinloc.png) + +Here's a (not very useful) photo of my RPi4 connected correctly: + +![ENC28J60 connections](images/14-spi-ethernet-photo.jpg) diff --git a/part14-ethernet/boot/boot.S b/part14-spi-ethernet/boot/boot.S similarity index 100% rename from part14-ethernet/boot/boot.S rename to part14-spi-ethernet/boot/boot.S diff --git a/part14-ethernet/boot/link.ld b/part14-spi-ethernet/boot/link.ld similarity index 100% rename from part14-ethernet/boot/link.ld rename to part14-spi-ethernet/boot/link.ld diff --git a/part14-ethernet/boot/sysregs.h b/part14-spi-ethernet/boot/sysregs.h similarity index 100% rename from part14-ethernet/boot/sysregs.h rename to part14-spi-ethernet/boot/sysregs.h diff --git a/part14-spi-ethernet/images/part14-spi-ethernet-photo.jpg b/part14-spi-ethernet/images/part14-spi-ethernet-photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3d22f7d7ff2d81748cf0d39f9766bc0df5abe53 GIT binary patch literal 66277 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 V$rU2LMtW5-Q|=u-YMLuU|Jl@A@8