Free RAM for additional code mofications
Posted: Wed Apr 29, 2020 4:11 pm
Hello,
integrating some additonal code initially developed on top of the firmware from early 2019 (and worked fine there), I integrated this code into the most recent firmware version.
Doing so, compiling (cload) was not successful, causing the error ".bss" will not fit in region 'RAM'. Reducing memory usage for my algorithm solved this issue, but I wanted to even extend the algorithm. Of course, I should also consider a more efficient implementation for my stuff, but I continuously plan to make modifications around the crazyflie (its basically our research plattform).
Since the algorithm worked out in the old firmware without any modifications, other firmware parts seem to need more RAM in the current version.
So my question is:
Do you have any advice how to reduce memory usage of the basis firmware? We are developing decentral swarm applications and we currently make use of the flow deck v2 the LPS deck (in tdoa Mode, tdoa3 seems to be preferable for us) and also the Multiranger deck (not yet but intended), so using a heterogenous team to solve tasks.
Since, we do not plan to use the lighthouse deck, one might think of getting rid of the relating functions to hopefully free some additional RAM.
Other aspects would be the different controllers - I think we will use one and do not plan to switch (maybe even an own-developed one some day).
However, instead of brutally deleting code, there might be some better way in order to keep in touch with your overall firmware progress and potential bug-fixes.
There might also be possibilities to store data outside the RAM. Some hints for such a solution would also be beneficial.
Thank you in advance
Klaus
integrating some additonal code initially developed on top of the firmware from early 2019 (and worked fine there), I integrated this code into the most recent firmware version.
Doing so, compiling (cload) was not successful, causing the error ".bss" will not fit in region 'RAM'. Reducing memory usage for my algorithm solved this issue, but I wanted to even extend the algorithm. Of course, I should also consider a more efficient implementation for my stuff, but I continuously plan to make modifications around the crazyflie (its basically our research plattform).
Since the algorithm worked out in the old firmware without any modifications, other firmware parts seem to need more RAM in the current version.
So my question is:
Do you have any advice how to reduce memory usage of the basis firmware? We are developing decentral swarm applications and we currently make use of the flow deck v2 the LPS deck (in tdoa Mode, tdoa3 seems to be preferable for us) and also the Multiranger deck (not yet but intended), so using a heterogenous team to solve tasks.
Since, we do not plan to use the lighthouse deck, one might think of getting rid of the relating functions to hopefully free some additional RAM.
Other aspects would be the different controllers - I think we will use one and do not plan to switch (maybe even an own-developed one some day).
However, instead of brutally deleting code, there might be some better way in order to keep in touch with your overall firmware progress and potential bug-fixes.
There might also be possibilities to store data outside the RAM. Some hints for such a solution would also be beneficial.
Thank you in advance
Klaus