Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
1,076 Views

ELF file size issue from Nios II

Hi, 

 

I started learning FPGA. Bought MAX10 development kit which has 10M08SAE144C8GESE chip. 

I created basic system using Qsys guide. Imported qip file into Quartus and made a basic bsf file with one LED, Clk and Reset. 

 

Programmed sof into the kit and it worked. [ Only one LED is ON instead of 5, due to the hardware design ]. 

 

Now, I wanted to write a 'C' program using Nios II and download into FPGA. I configured only 30kB of on chip memory. [ If I go for 40kB, Quartus giving error as, insufficient memory] 

In Nios-II, i created a bsp for my MAX10 device with only [ small 'c' lib and limited drivers ]. My elf file size is 304kB :( 

 

so, Can I program my device with NiosII? Bcoz, for a very small program (infact noting in main) itself, 304kB of elf file generated. 

Can some one shed some light regarding this? 

 

Thanks !
0 Kudos
6 Replies
Altera_Forum
Honored Contributor I
88 Views

Hello, 

 

What other types of memory ( i.e SDRAM or DDR etc ) are available on your board? You should use that memory as program memory. In that case, you should be able to download 304KB of your code. 

 

Thanks, 

Bhaumik
Altera_Forum
Honored Contributor I
88 Views

Hello Bhaumik, 

 

I was out of town for a week. Thanks for your reply ! 

Am using MAX 10 FPGA (10M08S, 144-EQFP) Evaluation Kit, which dont have external memory. According to kit manual, the FPGA has 378 kilobits (Kb) M9K memory and 32 – 172 (KB) user flash memory. 

 

I am not sure, whether I can use M9K memory to store the 'C' code output from Nios-II. user flash memory is only 172kB, where as my application code with simple main function is taking 304kB. [ minimal device driver and 'C' lib ] 

 

I dont think, I can do Nios-II in this kit. Am I right here? 

 

Thank you all !
Altera_Forum
Honored Contributor I
88 Views

Can you share your simple main function? Have you tried the template hello_world_small applications from the eclipse GUI? It is typically in 1kB size only. Maybe you can share your Qsys design?

Altera_Forum
Honored Contributor I
88 Views

 

--- Quote Start ---  

Can you share your simple main function? Have you tried the template hello_world_small applications from the eclipse GUI? It is typically in 1kB size only. Maybe you can share your Qsys design? 

--- Quote End ---  

 

 

 

 

its an empty function. I attached qsys,quartus and nios II project files. these are with Quartus HAL bsp 

 

I tried with micro C RTOS also, where the output from nios II itself not generating due to size issue [ configured on-chip memory: 30kB. If I configure more than that, Quartus is throwing error saying that memory can not be accommodated.  

 

Please note, with out micro C rtos, Nios II gave output [*.elf] file. But, the size is ~206kB. so, when I try to download that, am getting download fail message, with out any error code or so. 

 

Any tips ? [ I believe, with this MAX10 dev kit, I can not do Nios-II soft core [with and without Micro C RTOS. This kit is only for hardware design and not for soft processor. am I right? ]  

 

thanks !
Altera_Forum
Honored Contributor I
88 Views

Quick check on your Qsys. 

1. Memory size is 10kBytes 

2. Nios II/e  

3. 1 bit PIO output 

 

I see your confusion. The elf file size has no impact on the actual Nios II codes. In fact, your program size is just 2308 Bytes. 

http://www.alteraforum.com/forum/attachment.php?attachmentid=11870&stc=1  

 

You can go ahead and download the program. It should work. The elf is somewhat larger because it has additional information for the tool to read in order understand where the .text, RW pointers to be downloaded into the Nios memory.
Altera_Forum
Honored Contributor I
88 Views

Hello mikedsouze, 

 

thanks for your reply. I re-installed driver for USB-Blaster and now, I can able to DOWNLOAD elf file with Altera HAL. Due to size availabiliy in my MAX10M08, I cant able to use micro C RTOS.
Reply