Teething troubles
Posted: Fri May 17, 2019 4:39 am
Many years ago, like 20, I used to write x86 Ethernet device drivers and other apps. I got convinced to take on an ESP32 development after 15 years of not doing any software, and the world has changed a lot.
I'm going through the ESP32 startup stuff, doing the examples etc. I've got Hello_World and blink running. I tried adding a printf() statement to the blink program because.... I could and wanted to see what would happen. I got a stack overflow. I took the printf() statement from hello_world_main.c There's just not that much going on in blink.c. How could the stack overflow. Is the system loading all that crap that gets compiled on a first "make flash" and is deposited in ~/esp/blink/build, rather than just what the linker thinks is required by blink.c? Can one control where the stack starts? How big could the heap possibly be?
(The ESP has 4Mb. I lived in the world where Bill Gates said no one would ever need more than 640K, and we made that 640K sing and dance.)
How do I get a handle on how to control this? Is there a book or a resource that explains what's really going on once you do the cookbook exercises to get simple programs running? And where does one find the documentation for this version of make?
Lot's of questions here. Help!
I'm going through the ESP32 startup stuff, doing the examples etc. I've got Hello_World and blink running. I tried adding a printf() statement to the blink program because.... I could and wanted to see what would happen. I got a stack overflow. I took the printf() statement from hello_world_main.c There's just not that much going on in blink.c. How could the stack overflow. Is the system loading all that crap that gets compiled on a first "make flash" and is deposited in ~/esp/blink/build, rather than just what the linker thinks is required by blink.c? Can one control where the stack starts? How big could the heap possibly be?
(The ESP has 4Mb. I lived in the world where Bill Gates said no one would ever need more than 640K, and we made that 640K sing and dance.)
How do I get a handle on how to control this? Is there a book or a resource that explains what's really going on once you do the cookbook exercises to get simple programs running? And where does one find the documentation for this version of make?
Lot's of questions here. Help!