diff --git a/README.md b/README.md index be6daeb..2ee7919 100644 --- a/README.md +++ b/README.md @@ -205,8 +205,9 @@ the allotted 172KB of irom0_0. To fix the problem the build process modifies the (see the `build/eagle.esphttpd1.v6.ld` target in the Makefile) to increase the irom0_0 segment to 224KB (a somewhat arbitrary value). This doesn't mean that there will be 224KB of irom0_0 in flash, it just means that that's the maximum the linker will put there without giving an error. -In the end what has to fit into the magic 236KB is the sum of the initialized data, the iram1_0 -segment, and the irom0_0 segment, and the dram0_0 and iram1_0 segments can't exceed what's specified +In the end what has to fit into the magic 236KB is the sum of the actual initialized data, +the actually used iram1_0 segment, and the irom0_0 segment. +In addition, the dram0_0 and iram1_0 segments can't exceed what's specified in the loader script 'cause those are the limitations of the processor. Now that you hopefully understand the above you can understand the line printed by the Makefile @@ -216,6 +217,7 @@ when linking the firmware, which looks something like: ``` Here 241664 is 236KB and 218592 is the size of what's getting flashed, so you can tell that you have another 22KB to spend (modulo some 4KB flash segment rounding). +(Note that user2.bin has exactly the same size, so the Makefile doesn't print its info.) The Makefile also prints a few more details: ``` ls -ls eagle*bin