Fix regressions affecting compilation
This fixes two regressions, caused by #1167 and #1191 .
This commit is contained in:
parent
3d1da45f3e
commit
2ec2bf1564
2 changed files with 17 additions and 14 deletions
|
|
@ -26,21 +26,24 @@
|
|||
/** Amount of free RAM
|
||||
* \return The number of free bytes.
|
||||
*/
|
||||
#ifdef __arm__
|
||||
extern "C" char* sbrk(int incr);
|
||||
int SdFatUtil::FreeRam() {
|
||||
extern int __bss_end;
|
||||
extern int* __brkval;
|
||||
int free_memory;
|
||||
if (reinterpret_cast<int>(__brkval) == 0) {
|
||||
// if no heap use from end of bss section
|
||||
free_memory = reinterpret_cast<int>(&free_memory)
|
||||
- reinterpret_cast<int>(&__bss_end);
|
||||
} else {
|
||||
// use from top of stack to heap
|
||||
free_memory = reinterpret_cast<int>(&free_memory)
|
||||
- reinterpret_cast<int>(__brkval);
|
||||
}
|
||||
return free_memory;
|
||||
char top;
|
||||
return &top - reinterpret_cast<char*>(sbrk(0));
|
||||
}
|
||||
#else // __arm__
|
||||
extern char *__brkval;
|
||||
extern char __bss_end;
|
||||
/** Amount of free RAM
|
||||
* \return The number of free bytes.
|
||||
*/
|
||||
int SdFatUtil::FreeRam() {
|
||||
char top;
|
||||
return __brkval ? &top - __brkval : &top - &__bss_end;
|
||||
}
|
||||
#endif // __arm
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
/** %Print a string in flash memory.
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue