Embedded Software

Vi udvikler embedded software til intelligente produkter, IoT-enheder og industrielle systemer. Det kan være hardwareintegration, realtidsapplikationer eller komplette softwareplatforme. Vi bygger robuste løsninger til drift, høj pålidelighed og lang levetid.

 

Embedded Software

Embedded software binder hardware og software sammen

Embedded software er det softwarelag, der kører direkte på produktets hardware. Det styrer sensorer, aktuatorer og periferiudstyr. Det håndterer også kommunikation og sikrer, at produktet fungerer stabilt.

Hos Move Innovation udvikler vi embedded software til både nye produkter og eksisterende løsninger. Vi arbejder med alt fra batteridrevne IoT-enheder og målesystemer til industrielle produkter med høje krav til stabilitet, sikkerhed og levetid.

Fordi vi udvikler både elektronik og software, kan vi træffe de rigtige tekniske valg tidligt. Det mindsker behovet for redesign senere og sikrer, at hardware og software passer sammen fra starten.

Board til app

Bring-up, drivere og applikation

Test på target

Løbende test på rigtig hardware

Batteritid

Sleep modes og sendefrekvens

Robust drift

Høj pålidelighed og lang levetid

Kommunikation og integration

Embedded software er sjældent en isoleret løsning. Produkter skal ofte kommunikere med sensorer, andre enheder eller eksterne systemer. Vi udvikler software til kommunikationsgrænseflader og industrielle protokoller som CAN og MODBUS. Vi arbejder med både trådløs og kablet kommunikation. Uanset om data skal behandles lokalt eller sendes til cloud, har vi fokus på stabil drift og høj pålidelighed.

Kommunikation er også et af de steder, hvor et produkt oftest skuffer i felten. En forbindelse, der er stabil på skrivebordet, kan opføre sig helt anderledes i en produktionshal med metal, motorstøj og hundrede andre enheder på samme frekvens. Derfor ser vi på gensendelse, timeouts, buffering og hvad produktet skal gøre, når forbindelsen forsvinder. Et produkt, der håndterer manglende forbindelse pænt, opleves som mere driftssikkert end et, der bare regner med, at den er der.

Samarbejde mellem hardware og software

Vores embedded softwareudviklere arbejder tæt sammen med elektronikingeniører gennem hele forløbet. Sammen vurderer vi processorvalg, hukommelse, strømforbrug, kommunikation og softwarearkitektur, så hardware og software understøtter hinanden bedst muligt. Det reducerer udviklingsrisikoen og gør produktet lettere at vedligeholde i årevis.

De valg er svære at lave om senere. Er der hukommelse nok til den funktion, der først kommer i version to? Kan processoren nå at reagere inden for det tidsvindue, produktet kræver? Er der testpunkter, så firmwaren kan debugges, når printet sidder i kabinettet? Ligger der en bootloader, så produktet kan opdateres hos kunden? Det er billigt at svare på, mens printet stadig kun findes som en tegning.

Vores udviklingsproces

Et embedded-projekt starter typisk med en teknisk afklaring, hvor vi gennemgår produktets krav, hardwareplatform og systemarkitektur sammen med dig. Herefter udvikler vi løsningen i korte ryk med løbende test på den faktiske hardware.

Når vi tester softwaren tidligt på den endelige platform, opdager vi fejl, før de bliver dyre at rette. Efter levering kan vi fortsætte med vedligeholdelse, optimering og videreudvikling af firmware og software gennem produktets levetid.

Vi tester på den faktiske hardware så tidligt, vi kan — ofte på development boards eller delkredsløb, før det endelige print findes. En fejl, der fanges på et dev board, koster timer. Den samme fejl, der først dukker op i en nulserie, koster en printrevision.

Strøm er et softwarespørgsmål

På batteridrevne produkter afgør softwaren en stor del af levetiden. Hardwaren sætter rammen, men det er firmwaren, der bestemmer, hvor længe processoren sover, hvor ofte der måles, hvornår radioen tændes, og hvor meget der sendes hver gang. Forskellen mellem et produkt, der holder et halvt år, og et, der holder fem, ligger ofte i de valg.

Vi arbejder med sleep modes, måleintervaller, sendefrekvens og strømmålinger på den rigtige hardware, så batterilevetiden bliver noget, vi kan regne på undervejs i stedet for noget, vi opdager til sidst. Det hænger tæt sammen med elektronikken, og derfor sidder de valg bedst hos et team, der laver begge dele.

Embedded software development fra board bring-up til applikation

Vi udvikler både til mikrocontrollere og til Linux-baserede platforme. Et batteridrevet målepunkt, der skal holde i årevis, hører typisk hjemme på en lille 32-bit ARM Cortex-M-processor med bare-metal eller et RTOS som Zephyr. Et produkt med skærm, netværk, kamera eller tungere databehandling hører oftere hjemme på Embedded Linux. Valget handler om ydeevne, hukommelse, strømforbrug, opdateringsbehov og levetid — ikke om, hvad vi bruger mest til hverdag.

Vores erfaring omfatter blandt andet:

  • Board bring-up og hardware-integration
  • Driverudvikling
  • Embedded Linux
  • Zephyr RTOS og andre realtidsoperativsystemer
  • Low Power Design
  • IoT- og edge-enheder

Vi udvikler software til både mikrocontrollere og Linux-baserede platforme afhængigt af produktets krav til ydeevne, hukommelse, strømforbrug og funktionalitet.

Ofte stillede spørgsmål

Hvad er embedded software, og hvornår har jeg brug for det?

Embedded software er den kode, der kører direkte på et fysisk produkt — fx en sensor, et medicoinstrument eller en industrimaskine — og styrer hardwaren. Vi udvikler stabil og energieffektiv software, der er skræddersyet til netop jeres produkt.

Hvilke typer projekter arbejder I typisk med?

Vi arbejder med alt fra prototyper og MVP'er til fuld produktudvikling. Det omfatter firmware, RTOS-baserede systemer, drivere, kommunikationsprotokoller (CAN, SPI, I²C, UART) og low-power design til batteridrevne enheder.

Kan I arbejde med vores eksisterende hardware og kodebase?

Ja. Vi tilpasser os dit setup. Det kan være videreudvikling af firmware, optimering af ydeevne, portering til ny hardware eller review og debugging af kode skrevet af andre.

Hvad betyder realtid i embedded software?

Realtid betyder, at systemet skal reagere inden for et præcist tidsvindue. Det skal ikke bare være hurtigt, men forudsigeligt. I en industriel maskine kan et sensorsignal for eksempel kræve svar inden for mikrosekunder. Ellers kan det få fysiske konsekvenser. Her kommer et RTOS (Real-Time Operating System) ind i billedet, fordi det styrer opgaver og prioriteter deterministisk.

Klar når du er

Skal vi gøre din idé til virkelighed?

Teknisk udvikling kræver mere end gode idéer — det kræver de rigtige kompetencer. Vi har samlet hardware, software og ingeniørekspertise under ét tag, så du kommer hurtigt og sikkert fra prototype til produktion.

Ræk ud til os