JavaScript is currently disabled.Please enable it for a better experience of Jumi. Svenskarna väljer C
Bättre kompilatorer och tuffare krav på korta utvecklingstider gör att allt fler väljer att programmera sina styrkretsar i högnivåspråket C.

- I Sverige programmerar folk nästan uteslutande i C, berättar Olle Landström, utvecklingschef på IAR Systems som är världsledande på kompilatorer för 8- och 16-bitarskretsar.

- Det är bara vissa grejer man gör i assembler.

Situationen är liknande i resten av Europa och USA. I Asien har assembler alltjämt ett starkt fäste, men även där börjar konstruktörerna vänja sig vid tanken på högnivåspråk, enligt Olle Landström.

- Skillnaden är att arbetskraften är billigare där, man kan anställa flera ingenjörer för att skriva assembler. I Europa har man inte råd med det.

Att knacka assembler tar helt enkelt för lång tid. Koden blir visserligen kompaktare och snabbare, men det uppvägs inte av den extra tid det tar. Gissningsvis blir koden mellan 20 och 40 procent kompaktare skriven i assembler, det beror på tillämpning och styrkrets. Men det finns också fall då C kan ge en bättre optimerad kod.

- För stora tillämpningar är det lättare att ha en överblick i C. Man kan optimera bättre på en global nivå, istället lokalt, i fem rader långa kodsnuttar som i assembler.

Dessutom blir ens program lättare att flytta mellan olika kretsar om man använder ett högnivåspråk.

För vissa hårdvarudrivrutiner och tidskritiska förlopp filar dock många in assemblerkod. Och ibland är tillämpningen så enkel att man inte är intresserad av att de finesser som språket C medför. Men detta är undantag.



Anpassade styrkretsar


C-kompilatorernas intåg i konstruktörernas liv beror naturligtvis på att de blir allt bättre. Det är faktiskt bara elva år sedan IAR lanserade världens första C- kompilator för en 8-bitarskrets, Intels 80C51, och mycket har hänt sedan dess.

- Många av de nya arkitekturerna anpassas för högnivåprogrammering, berättar Carl von Platen, utvecklingsingenjör på IAR. Registeruppsättningen blir större och man har en bättre koppling mellan C-instruktionerna och assemblerinstruktionerna.

Det är alltså inte bara verktygstillverkarna som måste anpassa sina programvaror till kretsarna, halvledartillverkarna måste också jämka på sina kretsidéer.

Exempelvis ser kretsutvecklarna till att subrutinsanrop på assemblernivå anpassas så att de motsvarar funktionsanrop i C, och att parametrar skickas på ett bra sätt mellan funktioner.

Många kiseltillverkare tar också bort komplicerade assemblerinstruktioner som inte har någon direkt motsvarighet i C. Det finns en klar trend mot enklare, mera risc-liknande instruktionsuppsättningar hos styrkretsarna, enligt Carl von Platen.

IAR har också anpassat C-språket lite grand och lagt till en del instruktioner skräddarsydda för styrtillämpningar, till exempel avbrottshantering och möjlighet att adressera kommunikationsportar.

IAR Systems stödjer idag ett tjugotal kretsfamiljer med sina C-kompilatorer och assemblatorer. Man koncentrerar sig uteslutande på 8 och 16-bitarskretsar. Runt 94 procent av utvecklingspaketen säljs utanför Norden.

Mikael Zackrisson
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)