I have a Nios II runing with a vga controller and a SD-Card controller. The Nios II starts with a C program at the on-chip memory, can i call another C program located in the SD Card, if yes, how can I do that ?
What you want to do is basically what operating systems do.
Therefore try to go the Linux road (boot linux from SD Card), then you can start as many programs as you want.
Doing someting similar with Nios is a much more complex and elaborate task.
The NIOS can run the code that pointed in the reset vector only.
I have a good idea to do so, you can create dual core system with 2 NIOS processors CPU0 and CPU1.
CPU0 controls CPU1 by keeping it in reset mode.
CPU0 has the code pointed in On-chip memory
CPU1 has the code pointed in your target memory.
Once you want to run a code on the SDcard you can release CPU1 and let it execute the code.
Make sure that bothe cores don't use the same memory address at the same time.
Here is a reference can help you to create a multi-core system.