Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12366 Discussions

Custom QuadSPI Controller and NIOS2 Initialization

trigerion
Beginner
948 Views

Hi,

 

I am currently developing a custom QuadSPI Avalon Memory Mapped Component for a MAX10 FPGA as we use a not support QSPI flash in our current design.

I am struggling what to add to the tcl file in order to be able to generate the hex file with mem_init_generate script with eclipse.

 

I added the following lines

# # module assignments # set_module_assignment embeddedsw.memoryInfo.GENERATE_DAT_SYM 1 set_module_assignment embeddedsw.memoryInfo.GENERATE_HEX 1 set_module_assignment embeddedsw.memoryInfo.IS_FLASH 1 set_module_assignment embeddedsw.memoryInfo.MEM_INIT_DATA_WIDTH 8 set_module_assignment embeddedsw.memoryInfo.WIDTH 32

but the mem_init.mk looks like this

# Memory: qspi_max1000_1 MEM_1 := max1000_qspi $(MEM_1)_NAME := qspi_max1000_1 MEM_INIT_INSTALL_FILES += $(MEM_INIT_INSTALL_DIR)/$(MEM_1).hex $(MEM_1)_START := 0x02000000 $(MEM_1)_END := 0x03ffffff $(MEM_1)_SPAN := 0x02000000 $(MEM_1)_HIERARCHICAL_PATH := qspi_max1000_1 $(MEM_1)_WIDTH := 32 $(MEM_1)_HEX_DATA_WIDTH := 8 $(MEM_1)_ENDIANNESS := --little-endian-mem $(MEM_1)_CREATE_LANES := 0 $(MEM_1)_CFI_FLAGS := --base=$($(MEM_1)_START) --end=$($(MEM_1)_END) --reset=$(RESET_ADDRESS) $(MEM_1)_BOOT_LOADER_FLAG := --boot="$(BOOT_LOADER_CFI)"  

instead of

 

 

# Memory: qspi_max1000_1 MEM_1 := max1000_qspi $(MEM_1)_NAME := qspi_max1000_1 HEX_FILES += $(MEM_INIT_DIR)/$(MEM_1).hex MEM_INIT_INSTALL_FILES += $(MEM_INIT_INSTALL_DIR)/$(MEM_1).hex $(MEM_1)_START := 0x02000000 $(MEM_1)_END := 0x03ffffff $(MEM_1)_SPAN := 0x02000000 $(MEM_1)_HIERARCHICAL_PATH := qspi_max1000_1 $(MEM_1)_WIDTH := 32 $(MEM_1)_HEX_DATA_WIDTH := 8 $(MEM_1)_ENDIANNESS := --little-endian-mem $(MEM_1)_CREATE_LANES := 0 $(MEM_1)_CFI_FLAGS := --base=$($(MEM_1)_START) --end=$($(MEM_1)_END) --reset=$(RESET_ADDRESS) $(MEM_1)_BOOT_LOADER_FLAG := --boot="$(BOOT_LOADER_CFI)"   .PHONY: qspi_max1000_1 qspi_max1000_1: check_elf_exists $(MEM_INIT_DIR)/$(MEM_1).hex

As the 'HEX_FILES +=' and '.PHONY: qspi_max1000_1

qspi_max1000_1: check_elf_exists $(MEM_INIT_DIR)/$(MEM_1).hex' is missing, I do not get the hex file when calling mem_init_generate.

 

Can somebody help me and suggest what I am doing wrong or what I should add the the tcl file?

 

Thank you very much.

0 Kudos
0 Replies
Reply