Hi,
After flash program to the board user usually get information about written bytes and commpresed bytes for example:
Wrote 261856 bytes (191269 compressed) at 0x00000000 in 4.4 seconds (effective 474.5 kbit/s)
Can you explain me what is the difference between 'wrote' and 'compressed' bytes? Which of this 2 values represent the real size of flashed program?
Which Arduino board are you using ?
It's not about board. It concern all boards and moreover it depends on environment which user use. Massages like this can be found in eclipse, Arduino IDE, visual studio code with platformIO and many more (even when I flash using linux consol and xtensa toolchain). Currently I use ESP8266 but it's not important.
Massages like this can be found in eclipse, Arduino IDE, visual studio code with platformIO and many more (even when I flash using linux consol and xtensa toolchain)
I get no such messages using the Arduino IDE on Windows with a Nano as the target board
For example :
C:\Program Files (x86)\Arduino\1-8-10\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\1-8-10\hardware -hardware C:\Users\Bob\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\1-8-10\tools-builder -tools C:\Program Files (x86)\Arduino\1-8-10\hardware\tools\avr -tools C:\Users\Bob\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\1-8-10\libraries -libraries C:\Users\Bob\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10810 -build-path C:\Users\Bob\AppData\Local\Temp\arduino_build_146642 -warnings=all -build-cache C:\Users\Bob\AppData\Local\Temp\arduino_cache_864837 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -verbose C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_25627\sketch_mar23b.ino
C:\Program Files (x86)\Arduino\1-8-10\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\1-8-10\hardware -hardware C:\Users\Bob\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\1-8-10\tools-builder -tools C:\Program Files (x86)\Arduino\1-8-10\hardware\tools\avr -tools C:\Users\Bob\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\1-8-10\libraries -libraries C:\Users\Bob\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -vid-pid=1A86_7523 -ide-version=10810 -build-path C:\Users\Bob\AppData\Local\Temp\arduino_build_146642 -warnings=all -build-cache C:\Users\Bob\AppData\Local\Temp\arduino_cache_864837 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\arduinoOTA\1.3.0 -prefs=runtime.tools.avrdude.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino5 -verbose C:\Users\Bob\AppData\Local\Temp\arduino_modified_sketch_25627\sketch_mar23b.ino
Using board 'nano' from platform in folder: C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2
Using core 'arduino' from platform in folder: C:\Users\Bob\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.2
Detecting libraries used...
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\cores\\arduino" "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\variants\\eightanaloginputs" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\sketch\\sketch_mar23b.ino.cpp" -o nul
Generating function prototypes...
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\cores\\arduino" "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\variants\\eightanaloginputs" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\sketch\\sketch_mar23b.ino.cpp" -o "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files (x86)\\Arduino\\1-8-10\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10810 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\cores\\arduino" "-IC:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.2\\variants\\eightanaloginputs" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\sketch\\sketch_mar23b.ino.cpp" -o "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\sketch\\sketch_mar23b.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\Bob\AppData\Local\Temp\arduino_cache_864837\core\core_arduino_avr_nano_cpu_atmega328_5c1bd7a121ab7107eb9193e1c6dc2f5f.a
Linking everything together...
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-gcc" -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.elf" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642\\sketch\\sketch_mar23b.ino.cpp.o" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/..\\arduino_cache_864837\\core\\core_arduino_avr_nano_cpu_atmega328_5c1bd7a121ab7107eb9193e1c6dc2f5f.a" "-LC:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642" -lm
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.elf" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.eep"
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.elf" "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.hex"
"C:\\Users\\Bob\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino5/bin/avr-size" -A "C:\\Users\\Bob\\AppData\\Local\\Temp\\arduino_build_146642/sketch_mar23b.ino.elf"
Sketch uses 1960 bytes (6%) of program storage space. Maximum is 30720 bytes.
Global variables use 223 bytes (10%) of dynamic memory, leaving 1825 bytes for local variables. Maximum is 2048 bytes.
The flash size is 261856 bytes.
It's not about board.
Yes, it is.
This is peculiar to ESPs.
Ok, you are right. So it's maybe wrong place to ask for it. Thank you.
MarkT
March 23, 2020, 11:22pm
7
mrhause:
Hi,
After flash program to the board user usually get information about written bytes and commpresed bytes for example:
Wrote 261856 bytes (191269 compressed) at 0x00000000 in 4.4 seconds (effective 474.5 kbit/s)
Can you explain me what is the difference between 'wrote' and 'compressed' bytes? Which of this 2 values represent the real size of flashed program?
The larger is the real size, the smaller is the compressed size used when communicating to the board.
The other way round would be pretty pointless.