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

EPCS : read electronic signature

Altera_Forum
Honored Contributor II
1,312 Views

Hi, 

 

I need to identify the EPCS that is linked to my fpga. 

 

How can I get the electronic signture of the EPCS ? 

 

I have called the alt_epcs_flash_init(handle_epcs) function but my software is faulty after the call of this function. 

 

What can I do to get it ? 

 

I thank you, 

 

Etienne
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
364 Views

Etienne, 

 

Have you tried single-stepping through this code to find out what is failing? 

 

In any case, the command that determines the flash's "silicon ID" is contained within the very function you're referring to: 

 

 

/* Send the RES command sequence */  flash->silicon_id =    epcs_read_electronic_signature(flash->register_base); 

 

 

Best of luck! 

 

- slacker
0 Kudos
Altera_Forum
Honored Contributor II
364 Views

I thank you for your answer, but It doesn't work in my project. When I call the function, the software never goes out ? Do you have an idea ? 

 

I thank you again 

 

 

--- Quote Start ---  

originally posted by slacker@Nov 12 2005, 06:52 PM 

etienne, 

 

have you tried single-stepping through this code to find out what is failing? 

 

in any case, the command that determines the flash's "silicon id" is contained within the very function you're referring to: 

 

 

/* send the res command sequence */  flash->silicon_id =    epcs_read_electronic_signature(flash->register_base); 

 

 

best of luck! 

 

- slacker 

<div align='right'><{post_snapback}> (index.php?act=findpost&pid=10952)</div> 

--- Quote End ---  

0 Kudos
Altera_Forum
Honored Contributor II
364 Views

Etienne, 

 

I&#39;m sorry, but I don&#39;t know what you mean by "the software never goes out". 

 

Do you mean that this software is never called from within the alt_sys_init() function? Do you mean that the software fails to find a silicon_id? Or something else? 

 

Please elaborate. 

 

- slacker
0 Kudos
Altera_Forum
Honored Contributor II
364 Views

We&#39;ve struggled with a similar problem and so I&#39;d be interested in knowing what you&#39;ve found. 

 

I&#39;ve put breakpoints in alt_epcs_flash_query where it does the call: 

 

flash->silicon_id = 

epcs_read_electronic_signature(flash->register_base); 

 

and have seen rather intermittent results, i.e. sometimes it reads the signature okay and sometimes it doesn&#39;t. It often changes its behavior when I re-download the .sof file. We are running on our own hardware with a 2C20-C8. We are using a STM serial flash M25P64V6G. We have Quartus 5.1 and Nios 5.1.  

 

We&#39;ve looked at the read sequence on a scope and when it fails it looks .... funny, it gets 0 back for the signature and other random stuff. The read signature sequence should be 40 clocks. They are being done a byte at a time which makes sense as they are coming out of a SPI controller but there is a long time between bytes, about 10 us, the clock is 12.5 MHz. 

 

Has anyone experienced similar problems? 

 

Mike
0 Kudos
Altera_Forum
Honored Contributor II
364 Views

Did you specify a reference designator in your SOPC configuration? You need to run mk_target_board as detailed here... 

 

http://www.altera.com.cn/literature/ug/ug_..._programmer.pdf (http://www.altera.com.cn/literature/ug/ug_nios2_flash_programmer.pdf)
0 Kudos
Reply