Hoppa till innehåll
BigTree108

Tjänster inom firmwareutveckling

Tjänster inom firmwareutveckling för mikrokontroller: bare-metal- och RTOS-firmware i C, C++ och Rust, drivrutiner, Bluetooth- och trådlösa stackar, bootloaders och uppdateringar i fält, firmware för ECU:er i fordon, motorstyrning och batterihantering samt lågenergidesign för wearables, sensorer, mätare, hushållsapparater, fordon och medicintekniska produkter, med dedikerade firmwareutvecklare till ert team eller projekt som levereras från start till mål.

Firmware som vi utvecklar

  • Firmware för mikrokontroller

    Bare-metal-, Zephyr-, FreeRTOS- eller Eclipse ThreadX-firmware för kretsar från STM32, Nordic nRF52, nRF53 och nRF54, ESP32, NXP, Renesas, Infineon, Microchip och Silicon Labs, med tillverkarens SDK där den sparar tid och inkapslad där den annars skulle binda er vid ett enda chip.

  • Drivrutiner för kringutrustning och sensorer

    Drivrutiner för I2C, I3C, SPI, UART, CAN, ADC och DMA för sensorer, displayer, motorer och radioenheter, var och en testad mot en simulerad eller inspelad enhet innan den möter den riktiga.

  • Firmware för trådlösa protokoll

    Stackar för Bluetooth Low Energy och LE Audio, Wi-Fi, Thread, Matter, Zigbee och LoRaWAN konfigurerade och utökade på chipet, samt mobilmodem styrda över AT-kommandon eller LwM2M, redo för Bluetooth SIG-kvalificering och Matter-certifiering.

  • Bootloaders och uppdateringar i fält

    MCUboot eller en specialbyggd bootloader med signerade avbilder, två platser (slots) och återställning, så att en uppdatering som avbryts av ett tomt batteri lämnar enheten på sin senast fungerande version.

  • Firmware för låg effekt och wearables

    Träningsarmband, hälsoplåster, hörlurar och sensorer som går i månader på ett litet batteri: sömnlägen, väckningskällor och radions arbetscykler justerade mot en spårning från en effektprofilerare, så att batteritiden som står på förpackningen är en mätning och inte en uppskattning.

  • Firmware för motorstyrning, effekt och batterier

    Fältorienterad styrning (FOC) för BLDC- och stegmotorer, batterihantering med cellbalansering och uppskattning av laddningsnivå, samt styrfirmware för laddare, solcellsväxelriktare och energilagring, med reglerslingorna justerade i simulering innan de styr verklig hårdvara.

  • Firmware för ECU:er i fordon

    Basmjukvara och applikationskomponenter i Classic AUTOSAR på styrenheter från Infineon AURIX, NXP S32K och Renesas RH850, kommunikation via CAN FD, LIN och Ethernet för fordon samt UDS-diagnostik, skriven enligt MISRA C och den säkerhetsnivå enligt ISO 26262 som er funktion kräver.

  • Ljud, DSP och maskininlärning på enheten

    Signalbehandling av ljud och sensordata med CMSIS-DSP eller på kärnor från Cadence Tensilica och Analog Devices SHARC, samt modeller för nyckelordsigenkänning, gester och avvikelser som körs på mikrokontrollern via LiteRT for Microcontrollers eller Edge Impulse.

  • Säkerhetskritisk och feltolerant firmware

    Firmware för medicintekniska produkter, hushållsapparater och industriella säkerhetsfunktioner skriven enligt MISRA C och reglerna i IEC 62304, IEC 60730 eller IEC 61508, med watchdogs, felhanterare som sparar en kraschlogg över omstarten och kodtäckning mätt till den nivå standarden kräver.

Anlita firmwareutvecklare

  • Dedikerade firmwareutvecklare

    Firmwareutvecklare som går med i ert team på heltid, arbetar i era verktyg och er process och rapporterar till er teamledare. Ni intervjuar dem; vi står för det ukrainska avtalet, lönen, faktureringen och ledigheten.

  • Projekt inom Firmwareutveckling

    En avgränsad insats inom firmwareutveckling med omfång, fast plan och en namngiven ledare hos oss som äger resultatet och rapporterar framsteg i era kanaler.

  • Löpande firmwareutveckling

    Firmwareutveckling som löpande tjänst: samma personer varje månad, en backlog ni prioriterar och timmar ni kan se i vår portal och på fakturan.

Sidan om dedikerade team förklarar hur specialister går med i ert team, och sidan om outsourcing beskriver projektleverans, övertaganden och hur vi debiterar.

Vilka som arbetar med firmwareutveckling åt er

  • Firmwareutvecklare

    C, C++ och Rust på mikrokontroller

  • Firmwareutvecklare för fordon

    Classic AUTOSAR, CAN och UDS-diagnostik

  • Hårdvaruingenjörer

    Kopplingsscheman och uppstart av kortet som firmware körs på

  • QA-ingenjörer för inbyggda system

    Hardware-in-the-loop-tester och testfixturer

  • Mobilutvecklare

    Följeslagarappar för iOS, .NET MAUI och React Native

Så skriver vi firmware

Det mesta av firmware går att testa utan kortet, så vi skriver den på det sättet: hårdvaruåtkomst ligger bakom tunna gränssnitt, logiken ovanför körs som enhetstester på byggmaskinen i Unity, Ceedling eller GoogleTest, och Renode kör hela avbilden på emulerad hårdvara i pipelinen. Statisk analys kontrollerar MISRA C- eller CERT C-reglerna där er produkt kräver det, kompilatorvarningar är fel, och varje releaseavbild byggs från en taggad commit av pipelinen och signeras där.

Hårdvaran når utvecklaren på ett av två sätt: utvecklingskit och prototypkort skickas till dem, eller så arbetar de mot ett rack i ert labb via fjärrstyrd strömbrytning, en debugprobe och en seriekonsol över ert VPN. Oavsett vilket körs bygget i er pipeline och koden ligger i era repositorier.

Andra tjänster för inbyggda system och hårdvara

Översikt: Inbyggda system och hårdvara

Frågor om firmwareutveckling

Kan firmwarearbetet börja innan vår hårdvara är klar?

Ja. Arbetet börjar på utvecklingskitet för den valda mikrokontrollern och i Renode, med drivrutiner skrivna mot databladen för komponenterna i ert kopplingsschema, så att de första prototypkorten startas upp med firmware som redan finns i stället för att börja från noll.

C, C++ eller Rust för vår firmware?

C när tillverkarens SDK, den befintliga koden eller ert certifieringsunderlag är i C. C++ för större firmware som tjänar på typer och mallar utan heap-allokering. Rust, med Embassy och embedded-hal, för ny firmware där minnessäkerhet spelar roll och mikrokontrollern har bra stöd; Rust är redan språket i vår egen skrivbordsmjukvara. Vi rekommenderar ett per produkt innan den första raden skrivs.

Inom vilka branscher arbetar era firmwareutvecklare?

Konsumentelektronik och wearables, i träningsarmband, hörlurar, hushållsapparater och sensorer för smarta hem; industri- och energiutrustning, i motordrifter, batterihanteringssystem, mätare och laddare; fordon, i ECU:er för kaross, komfort och drivlina samt styrenheter för elcyklar och elsparkcyklar; medicinska produkter och hälsoprodukter, i glukosmätare, infusionspumpar och hörapparater; säkerhetsprodukter, i larmsensorer, smarta lås och passerläsare; samt telekom, i modem och radiomoduler.

Hur snabbt kan firmwareutvecklare börja?

När rätt firmwareutvecklare finns tillgänglig styrs starten bara av er intervju samt NDA och IP-överlåtelse. Annars gör vi en sökning, som vanligtvis ger kandidatprofiler inom två till tre veckor, och ingen börjar förrän ni har sagt ja.

Hur anlitar vi firmwareutvecklare via BigTree108?

Berätta om arbetet, senioriteten och de timmar ni behöver. Vi föreslår en eller två personer med deras profiler, ni intervjuar dem på samma sätt som ni skulle intervjua en egen anställning, och ni skriver under ett avtal med BIG TREE 108 LLC och får en faktura i månaden.

Vem äger arbetet de producerar?

Det gör ni. Varje specialist har ett undertecknat avtal med BigTree108 som överlåter allt arbetsresultat till bolaget, och vårt avtal med er överlåter det vidare. Kod, designer och dokument levereras in i era egna repositories och verktyg, inte på ett ställe där bara vi kan ändra dem.

Behöver ni få firmware skriven eller åtgärdad?

Berätta vilken mikrokontroller och vilken toolchain det gäller och vad enheten ska göra. Ni får svar inom en arbetsdag: en plan för firmware, kandidatprofiler eller en genomgång av den befintliga koden.