在nios2平台下,在NiosII Command shell使用nios2-flash-programmer命令烧写flash时容易出现“no cfi table found”的错误,可能以下几种原因造成的:
1.地址搞错,指定的地址不是flash的起始地址;
2.参数设置错误,在SOPC Builder中检查CFI Flash的设置参数,如timing选项卡容易漏掉设置。
3.设计有问题,Flash的地址线或数据线搞错了(把数据总线的传输方向置为输出output了,改成双向bidir就可以了),或数据位宽不匹配;另外还有FL_RST_N=1和FL_WP=1要置高电平。
4.管脚分配错误,检查flash的引出管脚(flash_nCS、flash_oe、flash_we、flash_addr、flash_data等)分配有无错误。
5、硬件焊接有问题;
6、Flash不支持CFI协义,或坏掉了。