Saksalaisen SEGGERin Arm-prosessorien Embedded Studio -työkaluihin on lisätty STOP-teknologia, joka estää pinon ylivuodot luotettavasti. Kun STOP on käytössä, kääntäjä lisää kutsun pinon rajoituksen tarkistusrutiiniin aina tarvittaessa.
STOP-vaihtoehto voidaan kytkeä helposti päälle ilman muutoksia sovelluskoodiin. Tällä tavalla estetään kaikki pinon ylivuoto. Jos pinon ylivuoto on estetty, järjestelmä voi siirtyä turvalliseen tilaan ja palautua.
SEGGERin mukaan STOP vaikuttaa minimaalisesti prosessorikoodiin. Se lisää vain noin 2-5 prosenttia koodin kokoon ja suoritusaikaan, mikä ei yleensä vaikuta merkittävästi järjestelmän suorituskykyyn.
SEGGERin perustaja Rolf Segger muistuttaa, että havaitsematon pinon ylivuoto voi olla katastrofaalinen. - Suosittelen STOPin käyttöä kaikissa sovelluksissa. Kaikissa turvallisuuskriittisissä sovelluksissa pidän sitä välttämättömänä. Tietääkseni SEGGER on ainoa yritys, joka tarjoaa tällaista tekniikkaa.
Embedded Studiota voi käyttää ilmainen arviointiin, koulutukseen ja ei-kaupallisiin tarkoituksiin. Se sopii niin ohjelmistosuunnittelijalle, opiskelijalle kuin harrastajalle.
Pinon ylivuoto voi aiheuttaa kaikenlaisia vikoja sulautetussa järjestelmässä vaikeasti havaittavista, näennäisesti satunnaisista virhelaskutoimituksista vakaviin toimintahäiriöihin tai jopa kaatumisiin. STOP-tekniikkaa voidaan käyttää minkä tahansa RTOS:n kanssa, jos RTOS sisältää mahdollisuuden määrittää pinon rajoituksen muuttujan.
STOP-tekniikka on tällä hetkellä saatavilla Thumb-2-arkkitehtuureille, kuten Cortex-M4, Cortex-M7, Cortex-A9 ja Cortex-A15. ARMv7M-arkkitehtuureissa STOP on valmis käytettäväksi Embedded Studiossa yhdellä projektin vaihtoehtokytkimellä.
Lisätietoja STOP-tekniikasta täällä.