मेरे पास एक दिनचर्या है जो GPIO पिन को उच्च/निम्न टॉगल करता है, और उच्च और निम्न (udelay
का उपयोग करके) में देरी होती है, और फिर GPIO का नमूना कुछ अवधि के लिए राज्य। मुझे यह सुनिश्चित करने की ज़रूरत है कि कोड का यह हिस्सा शेड्यूलर द्वारा पूर्व-खाली किए बिना या किसी भी संभावित इंटरप्ट द्वारा निष्पादित किए बिना निष्पादित किया गया हो। मैं दोहरी कोर एआरएम सिस्टम पर कोड चला रहा हूं इसलिए यह एसएमपी होना चाहिए। Spin_Lock_IrqSave()
इस तरह के उद्देश्य के लिए पर्याप्त सुरक्षित है? मुझे लगा कि मेरा कोड अभी भी किसी भी तरह से बाधित हो रहा है लेकिन अभी तक कोई सबूत नहीं है।लिनक्स में, यह सुनिश्चित करने के लिए कि किसी भी बाधा के बिना कोड का अनुक्रम निष्पादित किया गया है
बहुत बहुत धन्यवाद।
धन्यवाद आपके उत्तर के लिए बहुत कुछ। मैं दोनों इंटरप्ट और प्रीम्प्शन को अक्षम करना चाहता हूं, और सुनिश्चित करता हूं कि मेरी रूटीन में से किसी एक बाधा के बिना निष्पादित किया जा सके। नियमित रूप से GPIO ड्राइवर (gpio_set/reset_value, gpio_direction_input/output) और udelay फ़ंक्शंस को कॉल करने की आवश्यकता होती है। इस मामले में, spin_lock_irqsave पर्याप्त सुरक्षित है? एक बार फिर धन्यवाद – user1697356