Я получаю через uart данные которые требуются записать на sd карту(простой регистратор).
Есть 2 массива по 64кБ в которые DMA записывает принимаемые данные и функция которая записывает, переданный ей массив, на карточку. DMA работает с массивами поочередно, тоесть пока оно заполняет один, другой в это время записывается на карту.
Проблема заключается в следующем:
Сначала DMA заполняет первый массив (mass_1);
Назначаю DMA второй массив (mass_2), записываю mass_1 на флешку;
И вот теперь, когда я назначаю DMA mass_1, оно записывает в mass_1 новые данные, но при этом пропускает в некоторых местах последовательности из 32 байтов(тоесть там остаются данные с предыдущего заполнения).
Так же и с mass_2. Если же я переключаюсь между тремя массивами, то такие дырки есть, но реже.
Такое ощущение что, что-то блокирует эти 32 байтовые последовательности для доступа из DMA.
Помогите понять причину
С уважением
Андрей