Alex02
Newbie level 6
Hello everyone!
I did a software application in C language which uses pointers and dynamic memory allocation, I ran it with a C compiler and the application is working well.
Now I am trying to implement it in microblaze using the EDK and the XUPV5 board, so I created a bootloader in order to store my application from the flash to DDR (as it says in these documents: Using Serial Flash on the Xilinx Spartan-3E and Using and Creating Flash Files for the MicroBlaze Development Kit), this part is also working well. However, when the application is running there is an instruction where the program stops “ xil_printf("\r\nData number %d\r\n", i); ” and does not do anything else. At first, I had 0x90000000 as start address in the Default linker Script, it is the DDR2 baseaddr, after that I generated the linker script using the DDR2_SDRAM for most of the sections, but the problem still remains. Can someone give me an idea of what is wrong?
Many thanks!!!
This is the code:
While(1)
{
…..
…..
xil_printf("Waiting for 0x01\r\n");
if (DataRead == 0x01)
{
InitR(p,v,&dt,&dtt); //dynamic memory allocation
Sample = (dtt/dt);
xil_printf("\r\nProcessing....");
for (i = 0; i < Ndata; i++)
{
xil_printf("\r\nData number %d\r\n", i); //program stop
I did a software application in C language which uses pointers and dynamic memory allocation, I ran it with a C compiler and the application is working well.
Now I am trying to implement it in microblaze using the EDK and the XUPV5 board, so I created a bootloader in order to store my application from the flash to DDR (as it says in these documents: Using Serial Flash on the Xilinx Spartan-3E and Using and Creating Flash Files for the MicroBlaze Development Kit), this part is also working well. However, when the application is running there is an instruction where the program stops “ xil_printf("\r\nData number %d\r\n", i); ” and does not do anything else. At first, I had 0x90000000 as start address in the Default linker Script, it is the DDR2 baseaddr, after that I generated the linker script using the DDR2_SDRAM for most of the sections, but the problem still remains. Can someone give me an idea of what is wrong?
Many thanks!!!
This is the code:
While(1)
{
…..
…..
xil_printf("Waiting for 0x01\r\n");
if (DataRead == 0x01)
{
InitR(p,v,&dt,&dtt); //dynamic memory allocation
Sample = (dtt/dt);
xil_printf("\r\nProcessing....");
for (i = 0; i < Ndata; i++)
{
xil_printf("\r\nData number %d\r\n", i); //program stop