У меня есть файл на SD-карте, который я хочу перенести в память DDR на Zedboard. Для этого я использую baremetal-приложение. Это работало для данных размером менее 2048 байт, но когда данные превышают 2048 байт, процессор Zynq зависает при попытке передачи данных.
Вызов функции для чтения данных SD-карты и передачи в память DDR:
FileOpResult = f_read(&fil_obj,(void*)DDRDestAddr, DDRTxSize, *br);
DDRDestAddr — XPAR_PS7_DDR0_S_AXI_BASEADDR (0x00100000) Процессор Zynq зависает, когда DDRTxSize равен 2048 и выше
Есть ли ограничение на объем данных, которые я могу перенести с SD-карты в память DDR? Где я могу изменить это? Или я допустил какую-то фундаментальную ошибку?
Обновление: хорошо, оказывается, моя проблема решена, если я просто перенесу данные в другую область адреса памяти DDR вместо 0x00200000. Не уверен, почему именно 0x00100000 не может работать, когда в xparameters.h ясно видно, что это базовый адрес памяти DDR.
Успешно передано ~13 мегабайт с SD-карты на DDR, начиная с адреса 0x00200000.