RaspberryPi: Difference between revisions
Line 7: | Line 7: | ||
Run the following commands (or make sure these kernel modules are loaded successfully): | Run the following commands (or make sure these kernel modules are loaded successfully): | ||
modprobe spi_bcm2708 | modprobe spi_bcm2835 # If that fails you may wanna try the older spi_bcm2708 module instead | ||
modprobe spidev | modprobe spidev | ||
Revision as of 17:18, 19 December 2016
RaspberryPi is a cheap single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of stimulating the teaching of basic computer science in schools. It can run a fully-functional GNU/Linux distribution and exposes SPI, I2C and several GPIOs on its expansion header.
Prerequisites
Use latest Raspbian (or any other distribution with a recent kernel). Run the following commands (or make sure these kernel modules are loaded successfully):
modprobe spi_bcm2835 # If that fails you may wanna try the older spi_bcm2708 module instead modprobe spidev
Connecting the flash chip
To learn more about the RPi's expansion header refer to http://elinux.org/Rpi_Low-level_peripherals . Please do not try to draw more than 50mA from the 3.3V pin. If the flash chip is still placed in a foreign circuit (e.g. soldered to a PC mainboard) please refer to ISP for further details.
RPi header | SPI flash |
---|---|
25 | GND |
24 | /CS |
23 | SCK |
21 | DO |
19 | DI |
17 | VCC 3.3V (+ /HOLD, /WP) |
Always connect all input pins of integrated circuits (not only flash chips).
In general the other pins (usually pin 3 is /WP and pin 7 is /HOLD) should be connected to Vcc unless they are required to be floating or connected to GND (both extremely uncommon for SPI flash chips). Please consult the datasheet for the flash chip in question.
Running flashrom
Flashrom uses the Linux-native SPI driver, which is implemented by flashrom's linux_spi module. To use the RaspberryPi with flashrom you have to specify that module followed by the Linux SPI device, e.g.
flashrom -p linux_spi:dev=/dev/spidev0.0