Mui*_*uis
5
c
locking
interrupt
c99
thread-safety
我正在为嵌入式系统(Cortex M0)编写代码,并没有所有奢侈的互斥锁/自旋锁/等等.有没有一种简单的方法将数据添加到共享缓冲区(日志文件),该缓冲区将从Main()循环刷新到磁盘?
如果只有一个生产者(1个中断)和单个消费者(主循环),我可以使用一个简单的缓冲区,生产者增加'head',消费者增加'tail'.这将是非常安全的.但现在我有多个生产者(中断)似乎我被卡住了.
我可以为每个中断提供自己的缓冲区,并将它们组合在Main()中,但这需要大量额外的RAM和复杂性.