我正在为嵌入式系统(Cortex M0)编写代码,并且没有互斥锁/自旋锁/等的所有奢侈品。有没有一种简单的方法可以将数据添加到共享缓冲区(日志文件),该缓冲区将从我的 Main() 循环刷新到磁盘?
如果只有一个生产者(1 个中断)和一个消费者(主循环),我可以使用一个简单的缓冲区,生产者增加“头部”,消费者增加“尾部”。这将是完全安全的。但是现在我有多个生产者(中断),我似乎被困住了。
我可以为每个中断提供自己的缓冲区,并将它们组合在 Main() 中,但这将需要大量额外的 RAM 和复杂性。