Orangepi做编程器

前些天路由器被刷坏了,手头上又没有支持那路由器的flash的编程器,淘宝上支持的叫价两百多,无意中看了下OPI的gpio图发现可用来当编程器,于是便死马当活马医,想不到能识别那flash并且刷写成功救活了我的路由器。

在此分享下经验,互相交流学习。

1、端口定义及连接

OrangePi的40PIN外设端口定义

8脚Flash rom的连接定义(具体请自行查询相应flash rom的定义)

8765
-----
|   |
○---
1234
Pin # OrangePi
1 spi0_cs 24
2 spi0_miso 21
3 not used
4 gnd 25
5 spi0_mosi 19
6 spi0_clk 23
7 not used
8 vcc3.3v 17

2、刷写

加载spi驱动

sudo modprobe spi-sunxi
sudo modprobe spi-dev

在/dev下你会发现多了个spidev0.0设备

编译flashrom

注:实际上直接用sudo apt-get install flashrom也是可以的

sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev subversion
svn co svn://flashrom.org/flashrom/trunk flashrom
cd flashrom
make

编译时有可能提示找不到libusb1.0,可试试sudo apt-get install libusb-1.0*

按针脚定义连接上flash之后尝试看看有没有识别出flash

sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0

然后开始刷写

sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0 -w /home/hd255G.bin

看到如下提示说明烧写成功

Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.

以后电脑bios刷坏了也不怕了

Pin SPI Pin Name Orangepi Pin
1 not used not used
2 3.3V 1
3 not used not used
4 not used not used
5 not used not used
6 not used not used
7 CS# 24
8 S0/SIO1 21
9 not used not used
10 GND 25
11 not used not used
12 not used not used
13 not used not used
14 not used not used
15 S1/SIO0 19
16 SCLK 23

results matching ""

    No results matching ""