Forum Discussion
Altera_Forum
Honored Contributor
8 years agoI found the error.
The error is in the preloader when try to transfer the fpga file. Looking into the preloader in the file spl.c there is this function: void spl_program_fpga_qspi(void) { struct spi_flash *flash; struct image_header header; u32 flash_addr, status, transfer_size; u32 temp[64]; ..... ..... while (spl_image.size) { /* * Read the data by small chunk by chunk. At this stage, * use the temp as temporary buffer. */ if (spl_image.size > sizeof(temp)) transfer_size = sizeof(temp); else transfer_size = spl_image.size; spi_flash_read(flash, flash_addr, transfer_size, temp); /* update the counter */ spl_image.size -= transfer_size; flash_addr += transfer_size; /* transfer data to FPGA Manager */ fpgamgr_program_write((const long unsigned int *)temp, transfer_size);# ifdef CONFIG_HW_WATCHDOG WATCHDOG_RESET();# endif }#endif when I read the value of the spl_image.size it was half of the full dimension of my rbf program. I tryed to modify this value by manually writing spl_image.size to the correct value and finally the fpga works. Now I think that the problem is the header of the .rbf file. How can I modify the header file?