tll 发表于 2013-11-30 09:48:34

Cubieboard驱动SPI FLASH给路由烧写固件成功

本帖最后由 tll 于 2013-12-1 19:05 编辑

看这里:http://www.tonylianlong.com/?p=47
github:https://github.com/TonyLianLong/spi_flash
【12/1更新】
烧写固件成功

参照我以前的帖子:http://forum.cubietech.com/forum.php?mod=viewthread&tid=1516
这个计划现在在cb上成功了,我弄了个逻辑分析仪,24M 8通道的,分析出了错误
原来是我的arduino.h中有个地方弄错了,gpio弄反了
现在是能读取参数的程序了。
目前的readid函数只能支持winbond的SPI FLASH,因为那个code是winbond自创的,不是通用的,我也有其他品牌的,但是很少用。
从4点到6点39分写了一半,大部分功能都能用了。
用纯C语言写的,真是累人,期间fopen,getopt什么的都用到了,本来想用两个断言的,后来想想还是printf然后exit好了,用了struct来记录数据。
我找到了一个openwrt调用的spi驱动文件,里面有很多flash的spi信息:http://lxr.free-electrons.com/source/drivers/mtd/devices/m25p80.c
可惜都是通用id,不是winbond特有的那种。
先不说了,看看参数,多得……root@cubieboard:~/source_code/spi_flash# ./spi_flash
Hello,there is a little tips:
./spi_flash [-s] [-w <file>] [-e] [-r ] [-a <file>] [-v <file>] [-1 <address1>][-2 <address2>][-3 <address3>] [-h] [-l <length>] [-y] [-f] [-b]

arg:
-s      skip ID scanning
-w <file> a file to write to flash
-e      skip erasing chip
-r write to a file
-a <file> auto-write to flash
-v <file> verifying data
-1 <address> address1
-2 <address> address2
-3 <address> address3
-h      show what the file is
-l <length> length(default is all of the flash or file)
-y      no-hand-needed
-f      fill to zero on read(255 -> 0,on text)
-b      bin file
By TLL,GPL licence.

root@cubieboard:~/source_code/spi_flash#
怎样?多吧?现在就差三个事情了:
1.read参数的file还不支持
2.auto还不行
3.还不能校验
最后就是把通用id搞定了。
我先休息去,代码会随着下一版CbOS一起发布。
【老帖子:】
正常读写:
OK
start!
l
OK
OK
ID 15 ef
Read
READ1:Test Text on Cubieboard!By TLL!Cubieboard is a ARM development board.
READ2:Test Text on Cubieboard!By TLL!Cubieboard is a ARM development board.
End

READ1是原来的内容,READ2是写完以后读取的,写的内容是“Test Text on Cubieboard!By TLL!Cubieboard is a ARM development board.”
中文也可以了:
root@cubieboard:~/source_code/spi_flash# ./spi_flash
OK
start!
l
OK
OK

ID 15 ef
Read
READ1:Test Text on Cubieboard!By TLL!Cubieboard is a ARM development board.中文中文!!!hah
READ2:这是TLL的SPI FLASH!
End


现在可以正常读取id了:
root@cubieboard:~/source_code/spi_flash# ./spi_flash
OK
start!
l
OK
OK
ID 15 ef
Read
READ1:
READ2:
End
^C
root@cubieboard:~/source_code/spi_flash#

看起来不错!

和arduino的一样!
逻辑分析仪:

gsoft 发表于 2013-11-30 10:18:27

{:soso_e179:}刚开始研究。 你还是厉害很多的。。。

可惜昨天板子的电源管理芯片烧了。。。{:soso_e109:}

tll 发表于 2013-11-30 10:34:03

gsoft 发表于 2013-11-30 10:18 static/image/common/back.gif
刚开始研究。 你还是厉害很多的。。。

可惜昨天板子的电源管理芯片烧了。。。{:soso_e109: ...

换一个?
其实我也没入门多久啦……

tll 发表于 2013-11-30 18:43:28

改进咯~

gsoft 发表于 2013-11-30 20:39:47

tll 发表于 2013-11-30 10:34 static/image/common/back.gif
换一个?
其实我也没入门多久啦……

等消息。 我买的那个淘宝店说没货。。。要等到10号。。。:'(

tll 发表于 2013-11-30 21:58:58

gsoft 发表于 2013-11-30 20:39 static/image/common/back.gif
等消息。 我买的那个淘宝店说没货。。。要等到10号。。。

买几个spi flash来玩玩吧,那个很不错,另外你的签名是学我的吧……我改签名了

gsoft 发表于 2013-12-1 12:46:59

tll 发表于 2013-11-30 21:58 static/image/common/back.gif
买几个spi flash来玩玩吧,那个很不错,另外你的签名是学我的吧……我改签名了 ...

:lol 抄袭你之前的。   spi flash是啥?我是弄了个SPI的TFT准备用作硬件资源显示的。

tll 发表于 2013-12-1 12:48:08

gsoft 发表于 2013-12-1 12:46 static/image/common/back.gif
抄袭你之前的。   spi flash是啥?我是弄了个SPI的TFT准备用作硬件资源显示的。 ...

spi flash是储存的芯片,很多时候给arduino、路由什么储存东西用,我这有几个703N准备出手,性能不错,里面用的就是spi flash,你要几个不?

gsoft 发表于 2013-12-1 18:06:02

tll 发表于 2013-12-1 12:48 static/image/common/back.gif
spi flash是储存的芯片,很多时候给arduino、路由什么储存东西用,我这有几个703N准备出手,性能不错,里 ...

:L不要了。 不搞硬件,还是专心搞我的软件。 等下又要搞什么模电数电了。 没那么多精力。

jiangdou 发表于 2013-12-9 21:00:21

本帖最后由 jiangdou 于 2013-12-9 21:27 编辑

原来你就是TLL啊,:lol,久仰久仰
页: [1] 2
查看完整版本: Cubieboard驱动SPI FLASH给路由烧写固件成功