Board logo

标题: 求教:关于flash programmer的问题 [打印本页]

作者: f1_f1_f1    时间: 2006-9-13 21:34     标题: 求教:关于flash programmer的问题

我自己做了一块实验板,用的是ep1c6,在板子上放了一片flash(sst39vf160)。用mk_target_board做了目标板,在sopc builder中没有sst39vf160,只好选择lh28f160(word),在ide中用flash programmer往flash中下载时总是不对,有下面地提示:


Sep 13, 2006 9:23:28 PM - (??) nios2-flash-programmer: Launching Quartus Program
mer to download:
     d:/altera/kits/nios2/examples/my_board/niosii_cyclone_1c6/system/niosii_cyc
lone_1c6.sof
Sep 13, 2006 9:23:37 PM - (??) nios2-flash-programmer: Error opening target hard
ware
Sep 13, 2006 9:23:37 PM - (??) nios2-flash-programmer:    Unable to open flash-d
evice after successfully communicating with target.
It is likely that you are using a flash-programming FPGA design which
was not created for your target board.


请教各位大虾,我应该怎么办?在这里先谢谢了!!!


我的邮箱  f1_f1@126.com.


作者: kzw    时间: 2006-9-14 08:26

你在sdk shell下用命令行下载吧,方便些。
作者: hongmaer    时间: 2006-9-14 10:22

我原来碰到过同样问题,是硬件有问题,A0和A1短路了,你找找看
作者: oceanx    时间: 2006-9-14 16:17

flash芯片不一样最好还是自己重新做一个,某些参数是不一致的。
作者: kzw    时间: 2006-9-14 18:42

他用的芯片是符合cfi标准的,因此没有必要制作target的。用shell方便。
作者: f1_f1_f1    时间: 2006-9-14 19:54

sst39vf160和lh28f160扇区大小、擦写命令都不一样,是不是还有什么地方需要更改或者编写控制程序?
再者在sdk shell中怎样做呢?有没有参考资料?我刚刚接触nios,不太懂,请大虾再指教。谢谢!

[此贴子已经被作者于2006-9-14 19:54:28编辑过]


作者: kzw    时间: 2006-9-14 22:22

如果是符合cfi标准的,你在nios中建立flash接口的时候,你会选择地址线和数据线,这样符合标准的都是扇区大小一样的.擦写命令就是符合cfi标准的在nios的底层会有相应的擦写驱动的,不符合的需要知道相应的时序并进行下一步的操作,具体的你看看关于flash programmer的文档,上面讲的比较仔细的.
作者: oceanx    时间: 2006-9-15 14:00

在sopc里面添加三态总线那里要指定下下时序的,按照器件手册上的来。关键是读写信号的延时哦。
作者: rouder21control    时间: 2006-9-15 14:31

sst39vf160手册上写兼容cfi标准,但实际上我没试通过,换一片am29lv160就行了。
作者: f1_f1_f1    时间: 2006-9-18 08:53

在nios ii ide中altera avalon cfi flash下有两种cfi flash的库文件,一种是amd的,另一种是intel的,在amd中命令地址是0x555和0x2aa, 在intel中没有关于地址的直接描述,用了好多指针并且有很深的嵌套,我看不太懂,我猜测应该能从芯片读出芯片的厂家和命令编码等信息。sst39vf160的命令地址是0x5555和0x2aaa和amd的芯片是不一样的,我不知道应该怎样将sst39vf160选择使用intel的库文件,我做过了实验,可以在程序中读写flash,这样的话flash应该不会有问题,我想将amd的库文件中地址改为0x5555和0x2aaaa,不知是否可行?
再者哪位大虾有关于在sdk_shell中编程flash的资料,请给我发一份,不胜感谢!!
邮箱:f1_f1@126.com
作者: kzw    时间: 2006-9-18 09:41

恩,你的想法是对的,但是你没有必要这么做,sst的flash肯定不是intel的,intel的更复杂些。你看看关于flash programmer的文档,可以订制目标板,也可以通过输入命令行的方式输入擦写flash的时序。还有flash的读取和sram一样没有任何的区别的。
作者: f1_f1_f1    时间: 2006-9-23 11:01

将amd的库文件中地址改为0x5555和0x2aaaa方法实验过了,结论不行。按照rouder21control的建议换了一片am29lv160DT-70EI,又有新的问题,提示信息如下:
$SOPC_KIT_NIOS2/bin/elf2flash --flash=U55 --base=0x00000000 --end=0xfffff --rese
t=0x0 --input=example.elf --output=flash.flash --boot=$SOPC_KIT_NIOS2/components
/altera_nios2/boot_loader_cfi.srec
WARNING: Default charset GBK not supported, using ISO-8859-1 instead

# Programming flash with the project
$SOPC_KIT_NIOS2/bin/nios2-flash-programmer --input=flash.flash --sof=$SOPC_KIT_N
IOS2/components/sst_avalon_sst39vf160_flash/system/sst_avalon_sst39vf160_flash.s
of --cable='ByteBlasterII [LPT1]' --device=1 --base=0x00200000
Sep 23, 2006 9:50:45 AM - (??) nios2-flash-programmer: Launching Quartus Program
mer to download:
d:/altera/kits/nios2/components/sst_avalon_sst39vf160_flash/system/sst_aval
on_sst39vf160_flash.sof
Pre-Reading 39KBytes of data from U55:
|----.----+----.----|
********************* (2.656 sec).
Erasing 4 Sectors:
|----.----+----.----|
********************* (0.562 sec).
Sep 23, 2006 9:51:00 AM - (??) nios2-flash-programmer: Unable to write to flash
Sep 23, 2006 9:51:00 AM - (??) nios2-flash-programmer: Error: Write-operation failed on device. - exiting.
Unable to send write-packet @0
buffer-chunk write failed @0
erase-block write failed @0
write failed @0
WARNING: Default charset GBK not supported, using ISO-8859-1 instead

我做了两块实验板,结果都相同,我检查过引脚设置及连接,没有问题,现在又不知该怎么办了。
作者: kzw    时间: 2006-9-24 09:28

先把sof文件down下去,amd的flash肯定可以的,是肯定符合cfi标准的,你用命令行操作一下。
作者: kzw    时间: 2006-10-26 15:28

先把sof文件down下去,amd的flash肯定可以的,是肯定符合cfi标准的,你用命令行操作一下。
作者: f1_f1_f1    时间: 2006-10-26 15:29

请教rouder21control am29lv160D分为两种我用的是am29lv160DT,仍然不能下载。还有一种是am29lv160DB,后缀为T的是小扇区在后边,后缀为B的是小扇区在前面,不知你用的是哪一种?
作者: kzw    时间: 2006-10-26 15:30

amd的都可以下载的,你用命令行的方法试一下。
作者: cosmosd    时间: 2006-10-26 15:30

出现这种原因一般是两种情况,一是你定制目标板不成功,要严格按照文档来做就没有什么问题,如果定制目标板没有什么问题,那就是你的硬件原因了,包括片子是不是CFI的,电路板,焊接等。
作者: cosmosd    时间: 2006-10-26 15:31

Unable to send write-packet 0
buffer-chunk write failed 0
erase-block write failed 0
write failed 0

这种情况一般是写时序问题,还有一个就是仔细检查你的FLASH是否受保护!
作者: f1_f1_f1    时间: 2006-10-26 15:32

问题解决了,定制目标板时出了问题,因为ep1c6容量小,编译通不过,将sopc中的rom改小了,现在将rom改回原值,将缓冲区改小,编译通过后,用amd29lv160再下载可以完成,但是用sst的芯片还是不行。谢谢大家!!

作者: kzw    时间: 2006-10-26 15:33

altera提供第一个关于对flash编程的文档,你仔细看看。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0