CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 14699|回复: 10

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

[复制链接]
发表于 2013-11-30 09:48:34 | 显示全部楼层 |阅读模式
本帖最后由 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特有的那种。
先不说了,看看参数,多得……
  1. root@cubieboard:~/source_code/spi_flash# ./spi_flash
  2. Hello,there is a little tips:
  3. ./spi_flash [-s] [-w <file>] [-e] [-r [file]] [-a <file>] [-v <file>] [-1 <address1>][-2 <address2>][-3 <address3>] [-h] [-l <length>] [-y] [-f] [-b]

  4. arg:
  5. -s        skip ID scanning
  6. -w <file> a file to write to flash
  7. -e        skip erasing chip[warning!]
  8. -r [file] write to a file
  9. -a <file> auto-write to flash
  10. -v <file> verifying data
  11. -1 <address> address1
  12. -2 <address> address2
  13. -3 <address> address3
  14. -h        show what the file is
  15. -l <length> length(default is all of the flash or file)
  16. -y        no-hand-needed
  17. -f        fill to zero on read(255 -> 0,on text)
  18. -b        bin file
  19. By TLL,GPL licence.

  20. 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.[EDIT]
End

READ1是原来的内容,READ2是写完以后读取的,写的内容是“Test Text on Cubieboard!By TLL!Cubieboard is a ARM development board.[EDIT]”
中文也可以了:
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.[EDIT]中文中文!!!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的一样!
逻辑分析仪:
logic_spi_flash.png

评分

参与人数 1威望 +5 金钱 +5 贡献 +5 收起 理由
glg18598 + 5 + 5 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-11-30 10:18:27 | 显示全部楼层
{:soso_e179:}  刚开始研究。 你还是厉害很多的。。。

可惜昨天板子的电源管理芯片烧了。。。{:soso_e109:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-30 10:34:03 | 显示全部楼层
gsoft 发表于 2013-11-30 10:18
刚开始研究。 你还是厉害很多的。。。

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

换一个?
其实我也没入门多久啦……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-30 18:43:28 | 显示全部楼层
改进咯~
回复 支持 反对

使用道具 举报

发表于 2013-11-30 20:39:47 | 显示全部楼层
tll 发表于 2013-11-30 10:34
换一个?
其实我也没入门多久啦……

等消息。 我买的那个淘宝店说没货。。。要等到10号。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-30 21:58:58 | 显示全部楼层
gsoft 发表于 2013-11-30 20:39
等消息。 我买的那个淘宝店说没货。。。要等到10号。。。

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

使用道具 举报

发表于 2013-12-1 12:46:59 | 显示全部楼层
tll 发表于 2013-11-30 21:58
买几个spi flash来玩玩吧,那个很不错,另外你的签名是学我的吧……我改签名了 ...

抄袭你之前的。   spi flash是啥?  我是弄了个SPI的TFT准备用作硬件资源显示的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-1 12:48:08 | 显示全部楼层
gsoft 发表于 2013-12-1 12:46
抄袭你之前的。   spi flash是啥?  我是弄了个SPI的TFT准备用作硬件资源显示的。 ...

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

使用道具 举报

发表于 2013-12-1 18:06:02 | 显示全部楼层
tll 发表于 2013-12-1 12:48
spi flash是储存的芯片,很多时候给arduino、路由什么储存东西用,我这有几个703N准备出手,性能不错,里 ...

  不要了。 不搞硬件,还是专心搞我的软件。 等下又要搞什么模电数电了。 没那么多精力。
回复 支持 反对

使用道具 举报

发表于 2013-12-9 21:00:21 | 显示全部楼层
本帖最后由 jiangdou 于 2013-12-9 21:27 编辑

原来你就是TLL啊,,久仰久仰
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-5-2 22:18 , Processed in 0.027888 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部