2017-04-25 19 views
0

STM32F7, GCC, FATFSFATFS는 - FIL 구조체는 손상된 메모리의 원인 - STM32F7

다음 코드는 RETVAL 손상됩니다. 그런 다음 벡터 괜찮습니다 "FIL 파일을"주석 경우

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

    FIL file; 

    retVal.push_back(0xFE); 

    asm("nop"); 

    return retVal; 
} 

를 (예를 들어, 벡터는 하나의 객체로 만든, 그러나 당신이 검사 할 때 그것은 터무니없는 금액을 가지고있다). 그러나 FIL 구조체를 다시 작동 시키면 벡터가 손상됩니다.

또 다른 벡터를 작성한 다음이를 함수 리턴 오브젝트로 사용하면 다음과 같은 이상한 일이 발생합니다. 원래의 벡터는 잘되지만 새로 반환 된 벡터는 손상됩니다.

저는 C++에 새롭기 때문에이 문제를 진단하는 방법에 대한 지침이 필요합니다.

미리 감사드립니다.

답변

0

caddr_t sbrk(int incr)을 구현 했습니까? 그렇지 않은 경우 문제가 될 수 있습니다.