Zedboard передает данные с SD-карты на DDR

У меня есть файл на 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.


person bFig8    schedule 06.09.2017    source источник


Ответы (1)


Хорошо, оказывается, моя проблема решена, если я просто перенесу данные в другую область адреса памяти DDR вместо 0x00200000. Не уверен, почему именно 0x00100000 не может работать, когда в xparameters.h ясно видно, что это базовый адрес памяти DDR.

Успешно передано ~13 мегабайт с SD-карты на DDR, начиная с адреса 0x00200000.

person bFig8    schedule 06.09.2017
comment
все адресное пространство разбито на определенные разделы. Пробовали ли вы проверить, как разделено ваше адресное пространство внутри вашего проекта? - person Leos313; 30.05.2019