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

increasing performance of nios 2

Altera_Forum
Honored Contributor II
1,035 Views

Hallo, 

 

Is there any possibility to increase the performance of nios II in C4 related to the debug configuration? 

I know this from some µCs the there is a big increase by disabling the debug feature. 

 

Is there any “switch” for nios II which results the same? 

 

Thanks 

sim
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
324 Views

The JTAG debug doesn't affect the execution time of normal code. 

For best performance: 

- Make sure you compile everything (including the BSP/C library) with -O2 or -O3. 

- Don't use floating point. 

- Don't use printf. 

- Try to use as little of the C libarary as possible. 

- Fit all your code and data into tightly coupled memory. 

- Don't use Altera's alt_main() code unless you really need the stdio setup and teardown (forces malloc() and friends into your image). 

- Use the 'small data' segment (%gp relative addressing) for as much data as possible. 

- Write C very carefully to give the compiler the best chance of optimising the code.
0 Kudos
Altera_Forum
Honored Contributor II
324 Views

Hallo, 

 

thanks for your answer. 

Could you explain your first point in more detail? 

Where is it to finde and what is the meaning?
0 Kudos
Altera_Forum
Honored Contributor II
324 Views

I have also seen the option 

 

APP_CFLAGS_OPTIMIZATION := -Os 

 

in templates. But I could not find -Os in any document. What is that? 

 

Greets 

sim
0 Kudos
Altera_Forum
Honored Contributor II
324 Views

-Os is optimize for space. It will create a smaller binary, but maybe not the fastest one. If you are looking for performance it is better to use -O2 or -O3

0 Kudos
Altera_Forum
Honored Contributor II
324 Views

Ok, thanks. 

Now I removed the '-g' option in BSP editor. Then I build all again. But the code size did not decrease. How could that be?
0 Kudos
Reply