Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12589 Discussions

Eclipse - Serial Flash Controller II IP-Core - Micron MT25QL256 - The initial process goes wrong

Amir3
New Contributor I
1,051 Views

Hey,

 

At Nios environment, I am using the "Serial Flash Controller II Intel FPGA IP" in order to communicate with the Micron MT25QL256 memory device. This device is connected to the Active-Serial signals on the FPGA (Cyclone 5).

 

In Eclipse, the IP-Core driver addresses the ID register in Byte #1 instead of Byte #3. This mismatch prevents the driver from finishing its initialization process.

 

From Micron MT25QL256 Datasheet:

Amir3_0-1669733613080.png

 

1. Could it be that the Eclipse (or the Quartus), with this IP-Core, does not know how to analyze the data from the MT25QL256 and, in fact, it analyzes the data of the memory device as if it were an EPCQ256?

 

2. Is there any setting similar to "pgm_allow_mt25q=on" on Quartus.ini file that can be put into Eclipse?

 

Thanks.

0 Kudos
1 Solution
hareesh
Employee
977 Views

Hi

The "Serial Flash Controller II" IP does not support external flash such as Micron but dropdown selection got micron, there are some register memory map mismatch issue if using micron. please use Generic QUAD SPI Controller II.


Actually engineering team plating for new ip for this. may be it's available in next version.


reference :

https://community.intel.com/t5/FPGA-Intellectual-Property/Failed-driver-initialization-of-Serial-Flash-Controller-II-Intel/m-p/1430968#M26632



View solution in original post

7 Replies
hareesh
Employee
1,014 Views

Hi,

In Eclipse, the IP-Core driver addresses the ID register in Byte #1 instead of Byte #3. This mismatch prevents the driver from finishing its initialization process


can you please give more information about that line. i didn't get it.


0 Kudos
hareesh
Employee
978 Views

Hi

The "Serial Flash Controller II" IP does not support external flash such as Micron but dropdown selection got micron, there are some register memory map mismatch issue if using micron. please use Generic QUAD SPI Controller II.


Actually engineering team plating for new ip for this. may be it's available in next version.


reference :

https://community.intel.com/t5/FPGA-Intellectual-Property/Failed-driver-initialization-of-Serial-Flash-Controller-II-Intel/m-p/1430968#M26632



Amir3
New Contributor I
964 Views

Hi Harish,

 

Thank you for searching for the solution!

 

BTW, why not use the IP-Core "Generic Flash Serial Interface"?

0 Kudos
hareesh
Employee
940 Views

Hi,

Generic QUAD SPI Controller II only can support for micron. May be Generic Serial Flash Interface IP drivers also not matching to micron registers. so, we suggesting QUAD SPI Controller II.



if you don't have any queries about this i'll close the case. please conform


Thanks,


Amir3
New Contributor I
912 Views

Hey Hareesh,

 

I have a new problem using this IP-Core (QUAD SPI Controller II) - I can't burn the SW image (Nios Application) to the Micron MT25QL256 by the 'quartus_pgm' function.

 

background:

Original project - Contain Nios2f with the regular Cores (RAM, Timer and more..) and 'Serial Flash Controller' IP-Core.

- New project - Contain Nios2f with the regular Cores (RAM, Timer and more..) and 'Generic QUAD SPI controller II' IP-Core.

- Note - The QSYS component is clocked at a rate of 14[MHz].

- Flash Batch file - "E:\intelFPGA_standard\22.1\nios2eds\bin\elf2flash.exe --verbose --input=HelloWorld.elf --output=HelloWorld.flash --base=0xX --end=0xZ --reset=0xV --boot=E:\intelFPGA_standard\22.1\nios2eds\components\altera_nios2\boot_loader_cfi.srec
pause".

- Burn Batch file - "E:\intelFPGA_standard\22.1\quartus\bin64\quartus_pgm --nios2 --epcq --csr=0xY --debug --base=0xX --cable="USB-Blaster on localhost" HelloWorld.flash
pause"

 

My experiments so far:

- Original project - Quartus Standard 18.0 - The Burn Batch file works fine and the SW image is burned to the memory device.

- Original project - Quartus Standard 22.1 - The Burn Batch file works fine and the SW image is burned to the memory device.

- New project - Quartus Standard 22.1 - The Burn Batch file doesn't work and the SW image does burn to the memory device, and I get this message:

Amir3_0-1670345339418.png

 

When I operate the Nios2f from the Eclipse by 'Run' or 'Debug', with all 3 projects ,It works - I get "Hello World" message.

 

 

 

0 Kudos
Amir3
New Contributor I
834 Views

Hey Hareesh,

 

I would appreciate your help.

 

Thanks.

0 Kudos
hareesh
Employee
923 Views

p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.


0 Kudos
Reply