Demonstrates crash on memory allocation.

Dependencies:   mbed

Committer:
Kemp
Date:
Tue Mar 29 13:47:01 2011 +0000
Revision:
1:883b8bc1f54a
Parent:
0:786b75c6aaca

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kemp 0:786b75c6aaca 1 #include "mbed.h"
Kemp 0:786b75c6aaca 2
Kemp 0:786b75c6aaca 3
Kemp 0:786b75c6aaca 4 Serial pc(USBTX, USBRX);
Kemp 1:883b8bc1f54a 5 BusOut leds(LED1, LED2, LED3, LED4);
Kemp 0:786b75c6aaca 6
Kemp 0:786b75c6aaca 7 extern "C" void HardFault_Handler()
Kemp 0:786b75c6aaca 8 {
Kemp 0:786b75c6aaca 9 pc.printf("Hard fault!\r\n");
Kemp 1:883b8bc1f54a 10 while(1) {
Kemp 1:883b8bc1f54a 11 leds = 0x09;
Kemp 1:883b8bc1f54a 12 wait(0.4);
Kemp 1:883b8bc1f54a 13 leds = 0x06;
Kemp 1:883b8bc1f54a 14 wait(0.4);
Kemp 1:883b8bc1f54a 15 }
Kemp 0:786b75c6aaca 16 }
Kemp 0:786b75c6aaca 17
Kemp 0:786b75c6aaca 18
Kemp 0:786b75c6aaca 19 void fail()
Kemp 0:786b75c6aaca 20 {
Kemp 0:786b75c6aaca 21 pc.printf("Caught the failure\r\n");
Kemp 1:883b8bc1f54a 22 while(1) {
Kemp 1:883b8bc1f54a 23 leds = 0x09;
Kemp 1:883b8bc1f54a 24 wait(0.4);
Kemp 1:883b8bc1f54a 25 leds = 0x06;
Kemp 1:883b8bc1f54a 26 wait(0.4);
Kemp 1:883b8bc1f54a 27 }
Kemp 0:786b75c6aaca 28 }
Kemp 0:786b75c6aaca 29
Kemp 0:786b75c6aaca 30
Kemp 0:786b75c6aaca 31 class Test
Kemp 0:786b75c6aaca 32 {
Kemp 0:786b75c6aaca 33 public:
Kemp 0:786b75c6aaca 34 int something;
Kemp 0:786b75c6aaca 35 char woot[28];
Kemp 0:786b75c6aaca 36 };
Kemp 0:786b75c6aaca 37
Kemp 0:786b75c6aaca 38
Kemp 0:786b75c6aaca 39 int main() {
Kemp 0:786b75c6aaca 40 Test *dummy;
Kemp 0:786b75c6aaca 41 int index = 0;
Kemp 0:786b75c6aaca 42
Kemp 0:786b75c6aaca 43 while(1) {
Kemp 0:786b75c6aaca 44 dummy = new Test;
Kemp 0:786b75c6aaca 45 if (dummy == NULL) fail();
Kemp 0:786b75c6aaca 46 pc.printf("%u\r\n", index);
Kemp 0:786b75c6aaca 47 ++index;
Kemp 0:786b75c6aaca 48 }
Kemp 0:786b75c6aaca 49 }