JavaScript is currently disabled.Please enable it for a better experience of Jumi. C-kod direkt från Matlab
Att kunna generera C-kod direkt från algoritmutvecklingsverktyget Matlab är något som många användare länge efterlyst. Nu finns ett sådant verktyg, passande nog kallat Matlab Coder.
Matlab är sannolikt det vanligaste verktyget för utveckling av algoritmer, för exempelvis signalbehandling och kommunikation. Men när dessa algoritmer ska lämna utvecklingsstadiet och implementeras som mjukvara så har de oftast behövt kodas om en gång till, i C eller C++. Att många användare efterlyst en mer automatiserad lösning, ett slags högnivåkompilator för ändamålet, är tämligen självklart.

The Mathworks, företaget bakom Matlab, säger nu att man löst problemet. Med nykomlingen Matlab Coder kan en algoritm eller en modell skriven i Matlab direkt översättas till C- eller C++-kod. Förvisso krävs ibland lite handpåläggning, som att definiera datatyper och att i förekommande fall omvandla flyttal till fixtal. Och hela Matlab stöds inte, det handlar om en stor men dock delmängd.

–  Vi har tusentals användare här i Norden som kan börja använda verktyget direkt. De har tidigare fått skriva C-koden själva, eller lägga ut den på konsulter, säger Peter Sandberg på Matlabs kontor i Kista.

Företaget ser fyra primära områden där nyheten kan komma till pass. Att ta fram prototyper till algoritmer för att testa på exempelvis en pc är förstås en viktig tillämpning, liksom att kunna ta fram mjukvara som ska integreras med annan mjukvara. Likaså att accelerera exekveringen av algoritmer, och att implementera koden i styrkretsar, DSP:er eller andra processorer för inbyggnad.

– En stor poäng är att utvecklingsarbetet går fortare. Konstruktören får en enda referensmodell - i Matlab - och kan verifiera den snabbare. Man slipper också manuell kodning vilket kan spara både tid och konsultarvoden, säger Peter Sandberg.

Inom Matlab går det att optimera modellen eller algoritmen så att den kan exekveras så snabbt som möjligt. Något stöd för minimering av strömförbrukningen finns dock inte i dagsläget.

Matlab Coder är en fristående produkt som kräver att användaren redan har Matlab installerat. Den är en del av releaseversion 11 A som nu släpps. Samtidigt har The Mathworks rensat upp i floran av sina andra kodgenereringsverktyg, så att bolaget nu bara har tre, förutom Matlab Coder även Simulink Coder och Embedded Coder. Att kunna alstra C-kod från Matlabs systerprogram Simulink har gått tidigare, men krävt flera påbyggnadsverktyg, något som nu förenklats.

Embedded Coder är ytterligare ett påbyggnadsprogram. Det kan ta kod från Matlab Coder eller Simulink Coder och optimera för ett urval processorer eller DSP:er, från exempelvis Texas Instruments, Analog Devices, Freescale eller Arm. Koden anpassas då för att dra maximal nytta av målkretsens arkitektur och funktionalitet.
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)