Avatar ·

Compilación de una aplicación C++ para trabajar en condiciones de radiación intensa: protección contra fallos

Hola a todos. Estoy escribiendo software embebido en C++ para un dispositivo que funcionará dentro de un reactor nuclear (sistema de monitoreo de temperatura). El nivel de radiación allí es extremo. Ya me he encontrado con que después de un par de semanas de funcionamiento, el programa comienza a comportarse de manera extraña: los cálculos dan resultados incorrectos, a veces ocurren segmentation fault, y un par de veces el controlador simplemente se colgó. Sospecho que esto se debe a errores de bits en la RAM y la memoria flash causados por la radiación. Mi código actual se ve así: ```cpp int main() { int sensor_value = read_sensor(); // función que lee el ADC int threshold = 100; if (sensor_value > threshold) { activate_alarm(); } return 0; } ``` Estoy compilando con GCC para ARM Cortex-M4 con las flags `-O2 -std=c++17`. La pregunta es: ¿cómo debo cambiar el enfoque de compilación y el código para minimizar el impacto de los fallos por radiación? ¿Existen flags especiales de GCC o prácticas de programación? Necesito específicamente para C++ y GCC, preferiblemente sin