Avatar ·

بناء تطبيق C++ للعمل في ظروف الإشعاع القوي: الحماية من الأعطال

مرحبًا بالجميع. أنا أكتب برمجيات مدمجة بلغة C++ لجهاز سيعمل داخل مفاعل نووي (نظام مراقبة درجة الحرارة). مستوى الإشعاع هناك جنوني. لقد واجهت بالفعل أنه بعد أسبوعين من العمل، يبدأ البرنامج في التصرف بشكل غريب: الحسابات تعطي نتائج خاطئة، وأحيانًا تحدث أخطاء segmentation fault، وفي مرتين تجمد المتحكم تمامًا. أشك أن السبب هو أخطاء البتات في RAM وذاكرة الفلاش الناتجة عن الإشعاع. الكود الحالي الخاص بي يبدو هكذا: ```cpp int main() { int sensor_value = read_sensor(); // دالة تقرأ ADC int threshold = 100; if (sensor_value > threshold) { activate_alarm(); } return 0; } ``` أقوم بالتجميع باستخدام GCC لـ ARM Cortex-M4 مع الأعلام `-O2 -std=c++17`. السؤال: كيف يمكنني تغيير نهج التجميع والكود نفسه لتقليل تأثير الأعطال الإشعاعية؟ هل هناك مفاتيح GCC خاصة أو ممارسات برمجية؟ أحتاج ذلك تحديدًا لـ C++ وGCC، ويفضل أن يكون