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++
12600 Discussions

Custom Flash is not supported in Altera Qsys 12.0

Altera_Forum
Honored Contributor II
2,305 Views

Custom Flash is not supported in altera qsys 12.0, please let us know immediately, how to resolve this. we are using startix V FPGA 

 

0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
675 Views

I'm only using Cyclone FPGAs, but I think you must use the tristate conduit bridge with the generic controller to use cfi.

0 Kudos
Altera_Forum
Honored Contributor II
675 Views

yes, you can use your flash memory, i did it. 

 

you must use 3 "components": 

 

Flash_generic_tristate_controller  

tristate_conduit_pin_sharer 

tristate conduit bridge 

 

It has been explained in an Altera PDF : look around Qsys and tristated component, be carfull of versions, make sure that you read for versions > 10.0 

www.altera.com/literature/hb/qts/qsys_interconnect.pdf 

 

 

Unfortunately, you have to edit you custom Flash component 

http://www.altera.com/literature/ug/ug_embedded_ip.pdf 4. Common Flash Interface Controller Core 

When you edit your flash component, you must add by hand the lines in {I don't remember} 

Is memory device=1 

Parameter=embeddedsw.configuration.hwClassnameDriverSupportList,embeddedsw.CMacro.SUPPORTS_FLASH_FILE_SYSTEM 

Value=altera_avalon_lan91c111:altera_avalon_cfi_flash,1 

and in a place just below 

Parameter=embeddedsw.configuration.isMemoryDevice,embeddedsw.configuration.isPrintableDevice,embeddedsw.configuration.isNonVolatileStorage 

Value=1,0,1 

 

 

Please have a look with legacy CFI Flash component already present. 

 

I spent 2 weeks to partially understand that and finally get my board work by "just working, don't touch ;-)" (no good work, no warranty) 

 

I post here MY file with absolutely NO WARRANTY 

 

EDIT :  

Make sure that your Qsys system is in your directory project (no subdirectory) : I posted on an ohter post for that inconvenient. 

Don't use space or "__" (double underscore) in your name, all lowercase (to avoid probable case sensitivity) 

 

EDIT 2 : For software (exactly BSP Board Support Package) 

That is not all :-P:-P:-P 

In Qsys-edit, you must tell that your component is a Flash by opting for the "good driver" in a drop down list. 

 

EDIT 3 : We like difficulties :p 

 

 

hope it can help you and if you succeed, make us aware.
0 Kudos
Altera_Forum
Honored Contributor II
675 Views

If your cfi pins are not shared with other components, there is no need to use the tristate_conduit_pin_sharer. 

In my system the cfi works well without.
0 Kudos
Altera_Forum
Honored Contributor II
675 Views

Have been developing FPGA and NIOS-based SW for DE2-115 using USB blaster to load SOF and elf files for debugging. 

 

Now want to permanently program FPGA and FLASH. Have been able to load POF into FPGA. Can execute NIOS SW from SDRAM. However, it fails to execute when I try to flash it. Following is the process I've used. 

 

But in Custom Flash is not supported in Altera Qsys 12.0 ??? 

 

i have tried for Flash_generic_tristate_controller 

tristate_conduit_pin_sharer 

tristate conduit bridge 

 

but it is not taken as a memory 

 

i have given the flowwing in bsp editor also 

 

Nios II cannot boot up 

 

1. reset -> CFI flash 

2. exception -> SDRAM  

3. Linker setting: .bss .heap .rodata .rwdata .stack .txt => SDRAM
0 Kudos
Altera_Forum
Honored Contributor II
675 Views

Tnx mmTsuchi :)

0 Kudos
Altera_Forum
Honored Contributor II
675 Views

sorry if I confused you: 

You don't need to include the tristate_conduit_pin_sharer in your system if the the hardware connections to the CFI Flash are not shared 

with other chips in the system (which is the case for the DE115). You can connect the generic_tristate_controller directly to the tristate conduit bridge (tcs to tcm). 

I have build several systems that work this way. The CFI will work only if you set the right parameters (size, adress width, signal polarities etc.) 

Just look at the provided demo projects, you have to scroll down in the generic_tristate_controller window to see them all. There is also a right pane where you can choose presets. 

I have had no problems flashing the cfi, your configuration seems ok to me. Have a look at the output from the Nios2 flasher to see if it has included the boot loader.
0 Kudos
Altera_Forum
Honored Contributor II
675 Views

OK, if Flash pins are not shared, "tristate conduit pin sharer" is not needed. 

 

Flash presets (Quartus 12.0SP1) didn't make me happy ;-) 

 

 

Flash memory must be taken as memory in BSP 

In qsys-edit, flash memory generic .... component editor, check :  

(this is an example) 

in module_assignment :  

embeddedsw.configuration.hwClassnameDriverSupportList = altera_avalon_lan91c111:altera_avalon_cfi_flash embeddedsw.configuration.isMemoryDevice = 1 embeddedsw.CMacro.SIZE = 4194304 for my 4MB embeddedsw.configuration.hwClassnameDriverSupportDefault = altera_avalon_cfi_flash embeddedsw.memoryInfo.IS_FLASH = 1 embeddedsw.memoryInfo.FLASH_INSTALL_DIR = APP_DIR 

 

in interface_assignment :  

embeddedsw.configuration.isMemoryDevice = 1 embeddedsw.configuration.isFlash = 1 embeddedsw.configuration.isNonVolatileStorage = 1 embeddedsw.configuration.isPrintableDevice =0 embeddedsw.CMacro.SIZE = 4194304 embeddedsw.CMacro.SETUP_VALUE = 65 embeddedsw.CMacro.WAIT_VALUE = 100 embeddedsw.CMacro.HOLD_VALUE = 30  

 

After generating Qsys, you will be able to select "altera_avalon_cfi_flash" for flash in BSP editor. 

 

EDIT : Good Luck
0 Kudos
Altera_Forum
Honored Contributor II
675 Views

 

--- Quote Start ---  

sorry if I confused you: 

You don't need to include the tristate_conduit_pin_sharer in your system if the the hardware connections to the CFI Flash are not shared 

with other chips in the system (which is the case for the DE115). You can connect the generic_tristate_controller directly to the tristate conduit bridge (tcs to tcm). 

I have build several systems that work this way. The CFI will work only if you set the right parameters (size, adress width, signal polarities etc.) 

Just look at the provided demo projects, you have to scroll down in the generic_tristate_controller window to see them all. There is also a right pane where you can choose presets. 

I have had no problems flashing the cfi, your configuration seems ok to me. Have a look at the output from the Nios2 flasher to see if it has included the boot loader. 

--- Quote End ---  

 

Hi, 

 

I have used the same but did't get exact pins can you share your .qsf file and .qar files (Qsys system)  

 

Regads 

asickrishna
0 Kudos
Reply