I am wondering if someone has any advice about how to share data among tasks in an embedded system. I have several producers of data and several possible consumer of the data. In some cases, one consumer may be consuming different types of data. I am wondering what the best way to share this data with a consumer task. Issue # 1: Should I send different pieces of data through a single message queue owned by the consumer, or should there be separate queues for each type of data? My OS requires that I cannot have variable length mesages in a given queue.
Issue #2: Is it best to have single task that asks as a "router" for all of this data. So, essentially, it would take incoming data from producers, and distribute it to interested consumers. Or, is it better to have each producer deliver their respective data to each consumer on their own?
Any thoughts would be appreciated!
Brad