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

nios&vhdl

Altera_Forum
名誉コントリビューター II
917件の閲覧回数

I connected vhdl, which is o.k., to a full featured nios 2c35 via a 16bit pio.  

The seven segment pio and the parts were removed.  

The compilation to the sof and quartus was o.k. too.  

 

So I ran the board test, where deleted the seven segment part. That went o.k.  

 

Then I put the simple socket server in the NIOS IDE. Compilation goes o.k.  

 

But...  

 

----  

Simple Socket Server starting up  

Can't read the MAC address from your board (this probably means  

that your flash was erased). We will assign you a MAC address and  

static network settings  

 

Please enter your 9-digit serial number. This is printed on a  

label under your Nios dev. board. The first 3 digits of the  

label are ASJ and the serial number follows this.  

-->050500368  

050500368  

 

[lwIP]: See STDERR for expanded diagnosis translation.  

[lwIP]: [init_done_func] Fatal: lwip_devices_init failed, perhaps ethernet inter  

face.  

[lwIP]: ERRNO: :  

 

[lwIP]: See STDERR (FAULT_LEVEL is SYSTEM).  

[lwIP]: FAULT_LEVEL is SYSTEM.  

[lwIP]: FATAL Error, Restart required.  

[lwIP]: Locking scheduler - endless loop.  

----  

What is the reason for this?  

Is there a collision between vhdl and the nios core? Would the use of an avalon logic component avoid this problem?  

 

Thanks for your help. 

 

andy
0 件の賞賛
1 返信
Altera_Forum
名誉コントリビューター II
235件の閲覧回数

I assume this is a custom board with a CFI flash chip named ext_flash, and a lan91c111 chip. 

 

The 91c111 does not store its MAC address internally; it has to be loaded by the driver during initialization. Altera stores theirs in a part of the flash chip; if you look at the LWIP code, you should see where it goes looking for this during initialization (sorry, I haven't looked at the code myself, so I can't tell you exactly where). You need to either program a new MAC address there, or change the routine to get the MAC address some other way.
返信