SEGGER adaugă tehnologia Stack Overflow Prevention (STOP) la Embedded Studio pentru ARM

Cea mai recentă versiune a programului Embedded Studio pentru ARM de la SEGGER vine cu tehnologia STOP, creată de SEGGER pentru a preveni eficient depășirile de stivă. Cu STOP activat, compilatorul adaugă un apel la o rutină de verificare a limitei stivei, ori de câte ori este necesar, înainte de a ajusta pointerul stivei.

by gabi

Opțiunea STOP pentru compilatorul SEGGER cu grad ridicat de optimizare poate fi activată cu ușurință, fără nicio modificare a codului aplicației. În acest fel, toate depășirile de stivă sunt prevenite. Dacă o depășire de stivă a fost evitată, sistemul poate intra într-o stare sigură și își poate reveni.

STOP are un impact surprinzător de scăzut asupra dimensiunii și vitezei: adaugă doar aproximativ 2 – 5% la dimensiunea codului și la timpul de execuție, ceea ce, de obicei, nu are un impact semnificativ asupra performanței sistemului.

O depășire a stivei poate provoca tot felul de erori într-un sistem embedded, de la erori de calcul greu de detectat, aparent aleatorii, până la disfuncționalități grave sau chiar blocări.

STOP funcționează pur și simplu, protejând toate stivele din sistem.

Acesta protejează stiva de proces, precum și stiva “principală” utilizată pentru întreruperi.

Poate fi utilizat cu orice RTOS, cu condiția ca acesta să actualizeze variabila “stack-limit” la o schimbare de situație.

Tehnologia este disponibilă în prezent pentru arhitecturi Thumb-2, cum ar fi Cortex-M4, Cortex-M7, Cortex-A9 și Cortex-A15.

Pe arhitecturile ARMv7M, STOP este gata de utilizare în Embedded Studio cu o singură comutare a opțiunii de proiect.

Pentru mai multe informații despre tehnologia STOP, precum și pentru un proiect care demonstrează tehnologia în simulatorul Embedded Studio, accesați următoarele link-uri:

Tehnologia Stack Overflow Prevention (STOP) pe segger.com: https://www.segger.com/products/development-tools/embedded-studio/technology/stack-overflow-prevention/
Prevenirea supraîncărcării stivei pe wiki.segger.com: https://wiki.segger.com/Stack_Overflow_Prevention

Despre Embedded Studio

Embedded Studio este mediul integrat de dezvoltare (Integrated Development Environment – IDE) multi-platformă al SEGGER. Fiind caracterizat de o utilizare flexibilă, acesta include toate instrumentele și funcțiile de care un dezvoltator are nevoie pentru programarea și dezvoltarea profesională în C și C++ embedded. Vine cu bibliotecile foarte optimizate de execuție emRun și în virgulă mobilă emFloat de la SEGGER, precum și cu Smart Linker de la SEGGER, toate acestea fiind dezvoltate de la zero special pentru sistemele embedded cu resurse limitate. În combinație cu compilatorul SEGGER C/C++ bazat pe Clang, înalt optimizat, pot fi generate programe extrem de mici, dar eficiente, punând la lucru fiecare octet.

Embedded Studio este disponibil pe toate platformele (Linux, macOS și Windows) pe Arm, Intel și Apple Silicon.

Datorită licențelor prietenoase ale SEGGER, Embedded Studio poate fi utilizat pentru evaluare și în scopuri educaționale și necomerciale, gratuit, fără restricții în ceea ce privește dimensiunea codului, caracteristicile sau durata de utilizare.

SEGGER

S-ar putea să vă placă și