initial test app that shows potential memory usage by mbed-rtos
Dependencies: mbed-rtosMemoryTest mbed
main.cpp
- Committer:
- dmatsumoto
- Date:
- 2014-12-09
- Revision:
- 0:9a0840718117
File content as of revision 0:9a0840718117:
#include "mbed.h"
#include "heapsize.hpp"
DigitalOut GreenLed(LED_GREEN);
DigitalOut RedLed(LED_RED);
DigitalOut BlueLed(LED_BLUE);
void BlinkErrorCodeNoRtos( int blinks)
{
GreenLed = 1;
BlueLed = 1;
for( int i=0; i<blinks; i++) {
RedLed = 0;
wait( 0.15);
RedLed = 1;
wait( 0.15);
}
wait(0.5);
}
extern "C" void HardFault_Handler()
{
while( 1)
BlinkErrorCodeNoRtos(1);
}
extern "C" void UsageFault_Handler()
{
while( 1)
BlinkErrorCodeNoRtos( 2);
}
extern "C" void BusFault_Handler()
{
while( 1)
BlinkErrorCodeNoRtos( 3);
}
extern "C" void MemManage_Handler()
{
while( 1)
BlinkErrorCodeNoRtos( 4);
}
/*
extern "C" void SVC_Handler(int R0)
{
//wait(0.1);
}
extern "C" void NMI_Handler()
{
}
extern "C" void DebugMon_Handler()
{
GreenLed = 1;
BlueLed = 0;
RedLed = 0;
wait( 0.1);
BlueLed = 1;
RedLed = 1;
}
extern "C" void PendSV_Handler()
{
BlueLed = 1;
GreenLed = 0;
RedLed = 0;
wait( 0.1);
GreenLed = 1;
RedLed = 1;
}
extern "C" void SysTick_Handler()
{
}
extern "C" void IntDefaultHandler()
{
}
*/
int main()
{
#ifdef __CC_ARM
printf( "CC ARM \r\n");
#elif defined(__GNUC__)
printf( "GNUC \r\n");
#elif defined(__ICCARM__)
printf( "ICC ARM \r\n");
#endif
printf( "in main, heap free is: %ld\r\n", heapSize());
while (true) {
GreenLed = 0;
BlueLed = 0;
RedLed = 0;
wait( 0.15);
GreenLed = 1;
BlueLed = 1;
RedLed = 1;
wait( 0.15);
}
}