FatFs — FIL Struct вызывает повреждение памяти — STM32F7

STM32F7, GCC, FatFS

Следующий код повреждает retVal. (Например, вектор создается только с одним объектом, но при проверке он имеет абсурдное количество)

std::vector<uint8_t> SDManager::Test()
{
std::vector<uint8_t> retVal(1);

FIL file;

retVal.push_back(0xFE);

asm("nop");

return retVal;
}

Если вы закомментируете «FIL файл», то вектор в порядке. Но как только вы возвращаете структуру FIL в игру, она повреждает вектор.

Следующая странная вещь, если бы я должен был создать еще один вектор, а затем вернуть, использовать его как функцию возврата объекта. Исходный вектор становится нормальным, однако вновь возвращаемый вектор искажается.

Я очень плохо знаком с c ++, поэтому мне нужно несколько советов о том, как диагностировать эту проблему.

Заранее спасибо.

0

Решение

Вы реализовали caddr_t sbrk(int incr) ?
Если нет, то это может быть проблемой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]