mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2026-08-04 12:14:12 +00:00
Add support for generating JSON report Passing -g option will generate a JSON file containing size information about all the libraries. It also adds the support to patch source code before calculating size and revert the patch afterwards. This should ideally be not needed as we should be able to control all the configurations via config files. OTA currently defines the logging level in a header file as opposed to taking it from a config file. As a result, we need to patch the header file before calculating the size as we want to turn off logging while calculating size. Later when logging level is moved to a config file, it will not be needed and we will turn off logging in the header file contained with the memory estimator tool. Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
1.4 KiB
1.4 KiB
MemoryEstimator
This utility helps in determining the memory estimates for FreeRTOS libraries.
Usage
python memory_estimator.py -p <path_to_freertos_lts_directory> -o <optimization> -l <library_name>
Where:
<path_to_freertos_lts_directory>is the path to the directory containing FreeRTOS LTS source code.<optimization>is the compiler optimization level (O0, Os etc).<library_name>is the library to calculate the memory estimates for.
Options
| Short Name | Long Name | Default | Description |
|---|---|---|---|
| -p | --lts-path | Path to the directory containing FreeRTOS LTS code. | |
| -o | --optimization | O0 | Compiler optimization level (O0, Os etc). |
| -l | --lib | mqtt |
The library to calculate the memory estimates for. Currently supported libraries are: mqtt, light-mqtt, https, shadow, jobs, ota-mqtt, ota-http, kernel |
| -c | --compiler | arm-none-eabi-gcc | Compiler to use. |
| -s | --sizetool | arm-none-eabi-size | Size tool to use. |
| -d | --dontclean | The generated artifacts, which include the generated Makefile and built object files, are deleted by default. Pass -d to ensure that the generated artifacts are not deleted. |
|
| -g | --generate-report | Pass -g to generate a JSON report containing sizes for all libraries. If this option is used, values for --optimization, --lib and --dontclean are ignored. |