Rusty Arm

Olet luultavasti kuullut, että ruoste on järjestelmien ohjelmointikieli, jolla on melko seuraava kasvu. Se on nopea kuin C, mutta siinä on takaa, kuten taattu muisti ja lankaturvallisuus, geneeriset, ja se estää segmentointivirheitä. Kuulostaa vain subedded-järjestelmästä, eikö? [Jorge Aparicio] was frustrated because his CPU of choice, an STM32 ARM Cortex-M didn’t have native support for Rust.

Ilmeisesti voit helposti sitoa C-toiminnot Rust-ohjelmaan, mutta se ei ollut sen jälkeen. Joten hän laski rakentamaan puhdasta ruosteen ohjelmia, jotka voisivat käyttää laitteen laitteistoa ja hän dokumentoi vaivaa.

Postin ei vain näytä tarvittavat työkalut ja ohjelmistoversiot, mutta OpenOCD: n avulla [Jorge] jopa onnistui tekemään jonkin verran virheenkorjaajaa. Tekniikka näyttää myös melko tyypillisesti, koska hän sanoo, että hän on tehnyt saman tempun kuusi eri ohjainta kolmesta eri toimittajalta ilman ongelmia. Sinun on määritettävä projekti muuttamalla joitakin arvoja malliin.

Vaikka se ei ole ruoste-opetusohjelma, kun [Jorgen] koodi ja hänen selitykset antavat sinulle melko hyvän käsityksen siitä, mitä ruostetta näyttää. Hän näyttää myös siistien työkalun, GDB-kojelaudan. Rakentaa API ARM: n erityismuistialueille, [Jorge] käyttää työkalua nimeltä SVD2Rust käsittelemään myyjän SVD-tiedostoja. Näitä käytetään tyypillisesti JTAG-ohjelmoinnissa ja testauksessa, joten ajattelimme, että se oli uusi tapa rakentaa prosessorin tukea automaattisesti.

Paljon kieliä, jotka tarjoavat turvallisuusominaisuuksia, pyrkivät kokoamaan rasvakoodin. [Jorge] Näyttää vilkkuva LED-esimerkin ja purkaa sen ja se näyttää melko kompakti noin 127 tavua. Sitten hän abstrakti ajastinrekisterit ja koodi on käytännöllisesti katsoen sama koko koottu.

Me katettiin ruosteen hetkeksi. Olemme myös nähneet ruostetta jossain WiFi-vaihteistoon viime aikoina.