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>
* Add the memory estimator tool
This tool helps in determining the memory estimates for FreeRTOS
libraries.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
* Address review feedback
1. Make the tool python3 compatible - The output read from a process is
bytes array and needs to be decoded as 'utf-8' before doing any string
like operations.
2. Make the script runnable from any directory.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>