Power User Features/Hacks Collection and Documentation
Posted: Sat Jul 04, 2015 5:38 pm
Hoping to collect all the "power user" features and hacks here and maybe turn it into wiki page[s]. Please contribute.
Thanks to everyone.
- Hack: Use the stage 1 bootloader to set values in RAM at boot time
example: eagle.flash_disable_rf.bin
advantages: control hardware early in boot time, power saving, ...?
issues:
- Feature: Custom bootloader (stage 2)
example: https://github.com/raburton/esp8266/tree/master/rboot
advantages: control flash layout and firmware initialization process
issues: requires modifying libmain.a to enable extended flash mapping
- Hack: Reduce flash cache size from 32K to 16K
example: https://github.com/pvvx/mp3_decode
advantages: increase available iRAM to use as, for example, streaming buffer
issues: requires patched SDK libraries, setup in bootloader (Cache_Read_Enable)?, reduced performance due to more cache reads?
- Hack: Stripped down firmware without RF
example: https://github.com/pvvx/SDKnoWiFi
advantages: fast boot, low memory usage, low power?
issues: experimental, how to use alongside standard firmware image for improved deep sleep performance
- Feature: Replace precomplied SDK libraries with open source versions
examples: https://github.com/SuperHouse/esp-open-rtos
advantages: allow low level customization, debugging
issues: integrating with other SDK code and keeping pace with SDK updates
- Feature: Use Mask ROM functions
examples: viewtopic.php?f=5&t=3555&p=20602
advantages: already in ROM memory, executes from ROM?
issues:
- Feature: Flash config parameters
example: deep sleep interval byte 108
advantages: low level configuration
issues: not fully documented?
- Feature: Debugging with GDB
example: viewtopic.php?f=9&t=3751
advantages: debugging
issues: in development, requires uart or jtag pins
- Feature: Deep sleep options
example: disable RF calibration
advantages: power saving
issues: how often is RF cal necessary?, will skipping it affect performance?
Thanks to everyone.