(STM32WL55JC) Is it possible to expand flash or RAM in order to fit my project on this board? If so, what is the most straight forward, feasible way?
My project involves LoRaWAN communication and embedded machine learning. we've trained a basic model which fits in flash memory, but barely. As our data set grows and our model becomes smarter, I imagine we will need more space. As of right now, our model absorbs about 90% of flash memory.
For the other requirement, we also need the device to be a very simple, Class A or B, LoRa end node that sends very small, simple packets of data to a gateway. Loading up the end node example project, the build analyzer shows that it takes up 26% of flash.
Our control loop will be very simple and not add much more to the memory budget, but at this point, I can't see a way forward that will allow me to build my project including both the LoRa stack and our embedded ML model.
The only solution I can think of is to somehow expand the available memory with some SPI SD card reader or RAM expansion chip of some kind. But I can't find anywhere in the documentation for the STM32WL series where there is some kind of expansion support.
Could anyone assist with some ideas on how to move forward? I don't see us being able to trim our model, I only see it growing. We're using a third party solution which already does a great job of pruning unnecessary nodes in our CNN.
Maybe there's a way to trim the unnecessary utilities included in the LoRa End Node example project? If all we need to do is use lmhandler() to send a simple frame, are there any other function calls that can be omitted or is there any way to go lower level in the stack and write our own frame sending function without application utilities or middleware bloat?
Thank you in advance for any ideas you're willing to share.