我用fpga altera , 用的存储芯片是EPCS16,具体型号是M25P16, 其存储了系统的配置以及我的 nios2 软件。
我在研究如何读取 M25P16 的 ID, 所以需要如何操作芯片, 我用的Altera 15 下的Qsys ,芯片已经添加到系统了。
如何对其进行spi 操作呢? 在网上闻询,查找了资料,顺带学习了其 读写,erase 操作,
先简要描述如下:
需要的几个关键文件: alt_type.h alt_flash.h, alt_flash_dev 都是产生在hello_bsp 的 drivers\inc 下,
drivers\src 下的 altera_avalon_epcs_flash_controller.c, epcs_commands.c, altera_avalon_spi.c 是值得研究的源代码。
主要的步骤是:
1: alt_flash_open_dev("/dev/epcs");//打开FLASH器件,获取句柄
这个 /dev/epcs 的根据是用户在配置NIOS核时自命名的,可以在system.h中查到,即“EPCS_CONTROLLER_NAME”。
2:alt_epcs_flash_get_info (my_epcs, my_epcs->region_info,my_epcs->number_of_regions);//获取配置芯片信息
3: alt_epcs_flash_erase_block(my_epcs,my_epcs->region_info->offset+0x70000);//擦除第8块
一块的大小是0x10000,