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.
12421 Discussions

A critical BUG of sopc-create-header-files in quartus 11.0

Altera_Forum
Honored Contributor II
805 Views

I am working with nios2-linux on a self designed ep3c80 board these days. 

I followed almost everything said by alterawiki, but linux always hangs after a single line "uncompressing linux... OK, booting the kernel." showed, no matter what I changed in kernel configurations or sopc system, it never truns me on... 

 

Yesterday, one of my scrupulous student found some big bugs in xxx_fpga.h which was generated by sopc-create-header-files utility. 

They are 4 macro definitions: 

#define FAST_TLB_MISS_EXCEPTION_ADDR 0x0 # define EXCEPTION_ADDR 0x0 # define RESET_ADDR 0x0 # define BREAK_ADDR 0x0 

They are obviously errors! 

Problem solved after I changed them to: 

#define FAST_TLB_MISS_EXCEPTION_ADDR <on_chip_mem addr + 0xc0000000> # define EXCEPTION_ADDR <sdram addr + 0xc0000020> # define RESET_ADDR <epcs addr(no cfi on my board) + 0xc0000000> # define BREAK_ADDR <jtga_debug_module addr + 0xc0000020> 

It seems to be a bug of sopc-create-header-files utility in quartus 11.0. I don't know whether it has been fixed in recent sp. 

 

Guys working with nios2-linux and quartus 11.0, Please Pay Attention!!!
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
95 Views

Yes, this is a known problem and has been reported to Altera. 

 

On a side note: You don't need to use the sopc-create-header-files method anymore with more recent versions of Linux. Instead you can use sopc2dts to generate a Devicetree source file and then pass it to your kernel, see http://alterawiki.com/wiki/devicetree for details.
Reply