in use ESP8266/ESP32 Chip development for some products with strict start-up delay , Optimizing system startup time will improve product user experience , Generally, the system startup time can be optimized to tens of milliseconds .
for example ： Intelligent lamp products , It is sensitive to time delay , Optimizing the system startup time can make users unable to perceive the smart light restart .
<> Optimization measures
Reduce system printing
reduce bootloader Of log level, adopt make menuconfig -> bootloader config->
bootloader log verbosity to configure .
Choose lower level, reduce bootloader Print out of , It can reduce part of the time
modify spi flash Parameters of
use QIO,80MHz, adopt make menuconfig -> Serial flasher config to configure .
( But the need depends on the system used spi flash Can I support it )
Modify verification mode
modify esptool.py In self.append_digest = True by self.append_digest = False
By default ,bootloader It will be crc8 + sha256 Two verification methods , It's closed sha256 The way , If it's closed, it's only a basic operation crc8
check , But it's relatively safe
After optimization , Burning firmware needs to be recompiled