jim lee
Well-known member
Back in the Teensy 3.2 days..
There was this RamMonitor library that you could use to get some sort of idea how much RAM you had left. I used this to create a stack tracing tool I used for tracking down bugs and to search for memory leaks. Great tool for memory leaks.
Example of the serial monitor doing a stack trace.
My question is : Is there something like RamMonitor for the teensy 4.0? I'd like to get this working for the new stuff.
Thanks!
There was this RamMonitor library that you could use to get some sort of idea how much RAM you had left. I used this to create a stack tracing tool I used for tracking down bugs and to search for memory leaks. Great tool for memory leaks.
Example of the serial monitor doing a stack trace.
Code:
void navigation::loop() out RAM : 7472
void navigation::loop() in RAM : 7472
void NMEA2kBase::loop() in RAM : 7432
void valueBox::idle() in RAM : 7392
4
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
1
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
0
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
3
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
2
void valueBox::idle() out RAM : 7392
void viewMgr::idle() in RAM : 7392
void viewMgr::idle() out RAM : 7392
void numStreamIn::idle() in RAM : 7392
lookForSynk
exitStates numStreamIn::findSynkChar() in RAM : 7352
exitStates numStreamIn::findSynkChar() out RAM : 7352
void numStreamIn::idle() out RAM : 7392
void netObj::idle() in RAM : 7392
void netObj::checkIncoming() in RAM : 7360
ITEMS ON ourMsgQ IN : 0
ITEMS ON ourMsgQ OUT : 0
void netObj::checkIncoming() out RAM : 7360
void netObj::idle() out RAM : 7392
void xferList::idle() in RAM : 7392
void xferList::listCleanup() in RAM : 7352
ITEMS ON xferList IN : 0
ITEMS ON xferList OUT : 0
void xferList::listCleanup() out RAM : 7352
void xferList::idle() out RAM : 7392
void NMEA2kBase::checkDeviceList() in RAM : 7392
void NMEA2kBase::checkDeviceList() out RAM : 7392
void NMEA2kBase::loop() out RAM : 7432
void navigation::loop() out RAM : 7472
void navigation::loop() in RAM : 7472
void NMEA2kBase::loop() in RAM : 7432
void valueBox::idle() in RAM : 7392
4
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
1
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
0
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
3
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
2
void valueBox::idle() out RAM : 7392
void viewMgr::idle() in RAM : 7392
void viewMgr::idle() out RAM : 7392
void numStreamIn::idle() in RAM : 7392
lookForSynk
exitStates numStreamIn::findSynkChar() in RAM : 7352
exitStates numStreamIn::findSynkChar() out RAM : 7352
void numStreamIn::idle() out RAM : 7392
void netObj::idle() in RAM : 7392
void netObj::checkIncoming() in RAM : 7360
ITEMS ON ourMsgQ IN : 0
ITEMS ON ourMsgQ OUT : 0
void netObj::checkIncoming() out RAM : 7360
void netObj::idle() out RAM : 7392
void xferList::idle() in RAM : 7392
void xferList::listCleanup() in RAM : 7352
ITEMS ON xferList IN : 0
ITEMS ON xferList OUT : 0
void xferList::listCleanup() out RAM : 7352
void xferList::idle() out RAM : 7392
void NMEA2kBase::checkDeviceList() in RAM : 7392
void NMEA2kBase::checkDeviceList() out RAM : 7392
void NMEA2kBase::loop() out RAM : 7432
void navigation::loop() out RAM : 7472
void navigation::loop() in RAM : 7472
void NMEA2kBase::loop() in RAM : 7432
void valueBox::idle() in RAM : 7392
4
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
1
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
0
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
3
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
2
void valueBox::idle() out RAM : 7392
void viewMgr::idle() in RAM : 7392
void viewMgr::idle() out RAM : 7392
void numStreamIn::idle() in RAM : 7392
lookForSynk
exitStates numStreamIn::findSynkChar() in RAM : 7352
exitStates numStreamIn::findSynkChar() out RAM : 7352
void numStreamIn::idle() out RAM : 7392
void netObj::idle() in RAM : 7392
void netObj::checkIncoming() in RAM : 7360
ITEMS ON ourMsgQ IN : 0
ITEMS ON ourMsgQ OUT : 0
void netObj::checkIncoming() out RAM : 7360
void netObj::idle() out RAM : 7392
void xferList::idle() in RAM : 7392
void xferList::listCleanup() in RAM : 7352
ITEMS ON xferList IN : 0
ITEMS ON xferList OUT : 0
void xferList::listCleanup() out RAM : 7352
void xferList::idle() out RAM : 7392
void NMEA2kBase::checkDeviceList() in RAM : 7392
void NMEA2kBase::checkDeviceList() out RAM : 7392
void NMEA2kBase::loop() out RAM : 7432
void navigation::loop() out RAM : 7472
void navigation::loop() in RAM : 7472
void NMEA2kBase::loop() in RAM : 7432
void valueBox::idle() in RAM : 7392
4
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
1
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
0
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
3
void valueBox::idle() out RAM : 7392
void valueBox::idle() in RAM : 7392
2
void valueBox::idle() out RAM : 7392
void viewMgr::idle() in RAM : 7392
void viewMgr::idle() out RAM : 7392
void numStreamIn::idle() in RAM : 7392
lookForSynk
exitStates numStreamIn::findSynkChar() in RAM : 7352
exitStates numStreamIn::findSynkChar() out RAM : 7352
void numStreamIn::idle() out RAM : 7392
void netObj::idle() in RAM : 7392
void netObj::checkIncoming() in RAM : 7360
ITEMS ON ourMsgQ IN : 0
ITEMS ON ourMsgQ OUT : 0
void netObj::checkIncoming() out RAM : 7360
void netObj::idle() out RAM : 7392
void xferList::idle() in RAM : 7392
My question is : Is there something like RamMonitor for the teensy 4.0? I'd like to get this working for the new stuff.
Thanks!