Chapter 4. API Guides
Command-line Interface
The command-line interface of parttool.py has the following structure:
parttool.py [command-args] [subcommand] [subcommand-args]
- command-args - These are arguments that are needed for executing the main␣
,→command (parttool.py), mostly pertaining to the target device
- subcommand - This is the operation to be performed
- subcommand-args - These are arguments that are specific to the chosen operation
# Erase partition with name 'storage'
parttool.py --port "/dev/ttyUSB1" erase_partition --partition-name=storage
# Read partition with type 'data' and subtype 'spiffs' and save to file 'spiffs.bin
,→'
parttool.py --port "/dev/ttyUSB1" read_partition --partition-type=data --partition-
,→subtype=spiffs --output "spiffs.bin"
# Write to partition 'factory' the contents of a file named 'factory.bin'
parttool.py --port "/dev/ttyUSB1" write_partition --partition-name=factory
,→"factory.bin"
# Print the size of default boot partition
parttool.py --port "/dev/ttyUSB1" get_partition_info --partition-boot-default --
,→info size
More information can be obtained by specifying –help as argument:
# Display possible subcommands and show main command argument descriptions
parttool.py --help
# Show descriptions for specific subcommand arguments
parttool.py [subcommand] --help
4.23 Performance
ESP-IDF ships with default settings that are designed for a trade-off between performance, resource usage, and
available functionality.
These guides describe how to optimize a firmware application for a particular aspect of performance. Usually this
involves some trade-off in terms of limiting available functions, or swapping one aspect of performance (such as
execution speed) for another (such as RAM usage).
4.23.1 How to Optimize Performance
1. Decide what the performance-critical aspects of your application are (for example: a particular response time
to a certain network operation, a particular startup time limit, particular peripheral data throughput, etc.).
2. Find a way to measure this performance (some methods are outlined in the guides below).
3. Modify the code and project configuration and compare the new measurement to the old measurement.
4. Repeat step 3 until the performance meets the requirements set out in step 1.
4.23.2 Guides
Maximizing Execution Speed
Espressif Systems 1439
Submit Document Feedback
Release v4.4