I'm studying the development of a hardware composed of modules, I initially thought of a serial bus like ICSP, I2C or even CAM to communicate between modules, but I wonder if it could not use a ram in common between processes to build circular buffers for Each module and its serialized data structures, so the modules would be present through reserved spaces to identify them and each circular buffer would be defined according to the presence of the module.
These modules would be, for example, a GPS controlled by a Cortex-M0 (there being an alternative to an ESP8266 A7), an ESP8266 A6 would be used for cellular communication and another for WiFi communication, thus the GPS module would be depositing in its circular buffer the collected data And preprocessed GPS, the other Wireless modules would also maintain communication through their circular buffers in this ram memory, with pinnacles connected to the central cortex-M triggering ISR alerts when hearing emergency cases that need to be prioritized.
Well the big question is how to use a ram memory shared between these modules, I know there are Cortex-M line chips that allow such features, but would there be such a possibility with the ESP8266?
Assuming two scenarios:
A first one where all the modules would be based on Cortex-M, choosing the most suitable to work respectively GPS data collection, GSM / GPRS Communication and WiFi / BlueTooth Communication, and finally a central processing and logger module via SDCard.
And a second module has this mix between Cortex-M and ESP8266, with ESP8266 being responsible for Wireless and GPS communication, and Cortex-M for central processing and datalogger.
What would then be the Cortex-M models available for use with external ram memory, how to adapt the ESP8266 for such use? And Of course what external RAM could be used?