I am getting closer to the problem, this is how it can be reproduced:
Code:
Select all
static const char ___aaa[] = "aaa";
char const * ___aaap = ___aaa;
int main(void) {
...
sdWrite(&SD1, (const uint8_t *)___aaap, 4);
}
The pointer passed to sdWrite() is garbage, this happens with the F7 but not the F4, I suspect it is a linker issue triggered by the F7 linker script (different from F4 one). It should be a linker problem because GCC 4.7 works perfectly.
Giovanni