私はバナナPiM1を持っていて、ThinkPadT400でlibrebootをフラッシュしたいと思っていました。 RPiのGPIOピンはBPiのピンとほぼ同じであり、T400のチップはX200と同じであるため、私は Raspberry Pi(ThinkPad X200) に従いました。唯一の問題は、デバイスをフラッシュする場合、表示されないことです
$ flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 --chip MX25L6405D -r romread1.rom
flashrom v0.9.9-r1955 on Linux 4.10.9-gnu-1 (armv7l)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
linux_spi_init: failed to open /dev/spidev0.0: No such file or directory
Error: Programmer initialization failed.
もちろん、デバイス/ dev/spidev *が存在しない場合!!
$ ls /dev/spidev*
ls: cannot access '/dev/spidev*': No such file or directory
$ lsmod|grep spi
spidev 7364 0
spi_Sun4i 4955 0
Spidev、spi-gpio、spi_Sun4iカーネルモジュール、さまざまなピン配置など、すべてを試しました。正しいピン配置がないのではないでしょうか。/dev/spidev *デバイスは、GPIOピンに何も接続されていない場合に表示されますか? どうすればsthでそれらをテストできますか。簡単ですか?
ほとんどすべての問題で、人々は/boot/config.txtを編集することでそれを解決しますが、それはRPiafaikのみです。とにかく、私がインストールしたカーネルにはそのファイルがありません。
SoC:Allwinner A20
RAM:1GB
OS: Parabola GNU/Linux-libre (Arch LinuxおよびALARMベース、プロプライエタリソフトウェアパッケージなし)
BPiのGPIOピン: https://bananapi.gitbooks.io/bpi-m1/content/en/Banana-Pi-GIPO.png
その他の仕様: https://bananapi.gitbooks.io/bpi-m1/en/
EDIT:/ devにはsthのようなlookのデバイスがいくつかあります。/dev/spidev *デバイスの近く:
/dev/gpiochip0
/dev/gpiochip1
/dev/hidraw0
/dev/hidraw1
/dev/iio:device0
/dev/iio:device1
Flashromが言うので、私は「近く」と言います:
# flashrom -p linux_spi:dev=/dev/gpiochip0
flashrom v0.9.9-r1955 on Linux 4.13.5-gnu-1 (armv7l)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
linux_spi_init: failed to set SPI mode to 0x00: Invalid argument
Error: Programmer initialization failed.
これらすべてのデバイスについて、「spispeed」に入れたものは何でもInvalid argument
と表示されます(Inappropriate ioctl for device
よりも優れています)。 /dev/gpiochip0
mightがチップだと思いますか?しかし、そうであれば、IDKは「無効な引数」の問題を解決する方法
次のことを試してください。
vi /boot/config.txt
#
の前にあるdtparam=spi=on
を削除して、行のコメントを解除します