Uncategorized

Armul ruginit

Probabil ați auzit că rugina este un limbaj de programare a sistemelor care are destul de în creștere. Se pretinde a fi rapid ca C, dar are caracteristici cum ar fi memoria garantată și siguranța firului, generic și previne defectele de segmentare. Sună ca doar lucrul pentru un sistem încorporat, nu? [Jorge Aparicio] a fost frustrat pentru că procesorul său de alegere, un Cortex-M STM32 nu avea suport nativ pentru rugină.

Aparent, puteți lega cu ușurință funcțiile C într-un program de rugină, dar nu a fost ceea ce a fost după. Așa că el a stabilit să construiască programe pură de rugină care ar putea accesa hardware-ul dispozitivului și a documentat efortul.

Nu numai că postul vă arată instrumentele de care aveți nevoie și versiunile software, dar folosind Openocd, [Jorge] chiar a reușit să facă niște depanare. Tehnica pare să se aplice destul de tipic, așa cum spune că a făcut același truc pe șase controlori diferiți de la trei furnizori diferiți, fără nici o problemă. Trebuie să configurați proiectul schimbând unele valori într-un șablon.

Deși nu este un tutorial de rugină, urmând împreună cu codul [Jorge’s] și explicațiile sale vă vor oferi o idee destul de bună despre cum arată rugina. De asemenea, el arată un instrument NEAT, GDB-tablou de bord. Pentru a construi API în regiunile speciale de memorie ale ARM, [Jorge] utilizează un instrument numit SDVD2RUST pentru a procesa fișierele SDVR ale vânzătorului. Acestea sunt utilizate în mod obișnuit pentru programarea și testarea JTAG, așa că am crezut că a fost un mod nou de a construi automat suportul pentru procesor.

O mulțime de limbi care oferă caracteristici de siguranță tind să compileze codul de grăsime. [Jorge] prezintă un exemplu LED clipește și îl dezasamblează și arată destul de compact aproximativ 127 de octeți. Apoi a absortat registrele temporizatorului și codul este practic exact aceeași dimensiune atunci când este compilată.

Am acoperit rugina pentru scurt timp înapoi. De asemenea, am văzut rugina pe unele unelte WiFi mai recent.

Leave a Reply