Closed AndersHoglund closed 6 years ago
Hi @AndersHoglund ! Thanks for the pull request. We'll take a look at this when our guy is back from vacation! Thanks for the contribution!
Experimental sample runs to test this PR and show that it works, even on ARM, here: http://andwho.sytes.net:8080/job/AndWho_Betaflight/
However, we will not put this into production, as we have 100++ targets and map files to check. That is too much for this plugin to handle, would need a more statistical approach to condense that amount of data into a few graphs. Even if we select a few worst case candidates, that would still be too many graphs. However, for a more normal project, with a single executable and a single map file, it could be very useful.
Betaflight production runs with all targets and deliverables here (slow dl): http://andwho.sytes.net:8080/job/BorisB_BetaFlight/ and here: https://ci.betaflight.tech/job/Betaflight/
See comment in #40 https://github.com/Praqma/memory-map-plugin/issues/40#issuecomment-357980579 as that change will contain this PR.
When #40 is closed, we close this PR.
However, we will not put this into production, as we have 100++ targets and map files to check. That is too much for this plugin to handle, would need a more statistical approach to condense that amount of data into a few graphs. Even if we select a few worst case candidates, that would still be too many graphs.
@AndersHoglund then you might be interested in a little side project we have with some bachelor students that make parsing of memory map files using semantic analysis. The also revises the data structures, so the output will be more useful. I will probably be available in summer, and hope we can replace the current not so maintainable reg exp parsing setup in the plugin with a more common approach.
Thank you for accepting and merging this fix. Your side project sounds interesting.
There is a problem where wordSize is incorrectly used as radix when doing hex to dec conversion. Unfortunately the UnitTest only tested with wordsize 16, which also happens to be the radix for hexadecimal numbers, so the bug slipped by in all tests. So, I also added a few UnitTests for various word sizes.
Tested on Jenkins with the
gcc-arm-none-eabi-6-2017-q2-update
compiler on a STM32F303 project. Linker command file and map files used in the Jenkins test are attached. STM32_map_testfiles.zip