Я использую устройство zynq, пытаясь перенести данные с DRAM на периферию ARM с помощью части автономной программы (без ОС). В примере кода я нашел этот код для указания адреса источника и адреса назначения транзакции.Как я могу выделить часть памяти из определенной физической памяти в встроенном процессоре?
volatile static u8 SrcBuffer[BUFFER_BYTESIZE] __attribute__ ((aligned (64)));
volatile static u8 DestBuffer[BUFFER_BYTESIZE] __attribute__ ((aligned (64)));
Поскольку нет ОС, с чего стоит адрес? Как я могу его изменить?
Если вы хотите, чтобы определенная область ОЗУ использовалась для чего-то особенного, я предлагаю вам настроить сценарий компоновщика для резервирования область, чтобы она не использовалась ни для чего другого. Затем просто используйте указатель на начало памяти. –
Может быть, пример использовал DMA? – Lundin
Да, он использует DMA. SrcBuffer и DestBuffer для транзакции DMA –