Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
公告
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
21615 讨论

Autostart NIOS from external SDRAM problem

Oliver_I_Sedlacek
新分销商 III
6,713 次查看

So my NIOS code has outgrown the available on chip RAM and I've moved it to off chip SDRAM. Very slow, but I fire up Eclipse and I can get it to run. I need to get it to run automatically and I've found snippets of information by perusing the NIOSII software developers Handbook but can anyone point me to definitive documentation. I know I need to persuade the compiler to produce a ROM image that becomes a MIF, which I believe it does, and get something (maybe a bootloader) to do the initialisation, and somewhere I need to tell the tools to run that code.

Can anyone help with the blanks?

标签 (1)
0 项奖励
36 回复数
EBERLAZARE_I_Intel
4,618 次查看

Hi,


Please check this page, and let me know which method would you like to go for?:

https://www.intel.com/content/www/us/en/docs/programmable/683689/current/processor-booting-methods.html


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,610 次查看

Aha, so I was looking in the wrong manual!

Well I've chewed my way through the instructions and as I expected my NIOS neither runs nor can I debug it from Eclipse. The manual does not list any steps for diagnosing faults, so where do I go from here?

0 项奖励
EBERLAZARE_I_Intel
4,575 次查看

Hi,


Apologies I came back a bit late, for debugging it is on chapter 6.


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,570 次查看

I've read chapter 6 and none of it really sheds any light on my problem. My system runs perfectly and the code has been debugged, so I suspect vector offsets are broken but I don't know how to inspect them if I can't connect the debugger.

0 项奖励
EBERLAZARE_I_Intel
4,545 次查看

Hi,


Could you provide your design example? Or is your example similar to any of the booting methods in the Embedded Handbook?


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,534 次查看

The intent was to go with application code stored in EPCQ flash and the run time location is external RAM as per Table 33 and section 5.2.3.4 of the Embedded Design handbook. The SOF is 802 kB in size so I just rounded up to make the offset to the HEX 1024 kB.

As I stated earlier, everything works if I load the application from the Eclipse debugger, but I do need it to run from power up.

I've added a project archive, all done in Quartus 20.1 Lite.

0 项奖励
EBERLAZARE_I_Intel
4,508 次查看

Hi,


I think I got it what you intend to do, let me work on it and get back to you.


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,498 次查看
0 项奖励
EBERLAZARE_I_Intel
4,435 次查看

Hi,


You could do the programming using .jic:

https://www.intel.com/content/www/us/en/docs/programmable/683689/current/programming-96050.html


With programming using .jic, you can reset your FPGA device using the reset button or power cycle your hardware and it will run upon power up. Is this what you are trying to achieve?



0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,425 次查看

The FPGA configures fine from power up (programmed via .JIC as suggested). The problem is the NIOS doesn't boot. I've been following  Table 33 and section 5.2.3.4 of the Embedded Design handbook but I'm obviously doing something wrong, but can't diagnose what.

0 项奖励
EBERLAZARE_I_Intel
4,398 次查看

Hi,


I cannot find any major differences in your design. Have you tried to use the example in the document and start from there? :

https://www.intel.com/content/www/us/en/docs/programmable/683689/current/reset-and-exception-vector-settings.html


0 项奖励
EBERLAZARE_I_Intel
4,322 次查看

Hi,


Any update?


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,266 次查看

Trying to go round the loop again and I'm stumped as the EPCQ isn't offered in the reset vectors memory drop down. I don't remember this as a problem earlier, but then that might just be my memory. Screenshot attached.

0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,309 次查看

You seem to just have pointed me at the online version of the document that I was following anyway, so no progress.

0 项奖励
EBERLAZARE_I_Intel
4,256 次查看

Hi,


The link that I shared have the hardware design for Quartus for you to follow the steps, and shows you the connection that is needed to be made to have it as Reset Vector for Excecute In Place. Maybe you can try the pdf versions and check the 5.2.3.3 Chapter.


0 项奖励
EBERLAZARE_I_Intel
4,243 次查看

Hi,


Can you check the connection made as per the 5.2.3.3 Chapter:

https://cdrdv2-public.intel.com/666980/edh_ed_handbook-683689-666980.pdf


0 项奖励
EBERLAZARE_I_Intel
4,204 次查看

Hi,


Any update?


0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,149 次查看

So two of us worked through it all again very carefully and slowly and got the same symptoms. The NIOS doesn't run and I can't connect to it with the debugger.

Repeating the same experiment and expecting a different result is a sign of madness.

0 项奖励
Oliver_I_Sedlacek
新分销商 III
4,192 次查看

I'm so demoralised it's taking me some time to summon up the will to beat my head against a brick wall again. Anyway, I've switched to the serial flash controller II and I get different options on the NIOS vectors tab, so I'll give that a go.

0 项奖励
EBERLAZARE_I_Intel
3,971 次查看

Hi,


I try as in the example design in the Embedded Design handbook, I do see the epcq on the reset vectors in the Nios II IP:


5.2.3.3 Chapter:

https://cdrdv2-public.intel.com/666980/edh_ed_handbook-683689-666980.pdf


0 项奖励
回复