Hopp til innholdet
BigTree108

Tjenester innen firmwareutvikling

Tjenester innen firmwareutvikling for mikrokontrollere: bare-metal- og RTOS-firmware i C, C++ og Rust, drivere, Bluetooth- og trådløse stakker, bootloadere og oppdateringer i felten, ECU-firmware til biler, motorstyring og batteristyring, og lavstrømsdesign for wearables, sensorer, målere, husholdningsapparater, kjøretøy og medisinsk utstyr, med dedikerte firmwareutviklere til teamet deres eller prosjekter levert fra start til slutt.

Firmware vi utvikler

  • Mikrokontroller-firmware

    Bare-metal-, Zephyr-, FreeRTOS- eller Eclipse ThreadX-firmware for STM32, Nordic nRF52, nRF53 og nRF54, ESP32, NXP, Renesas, Infineon, Microchip og Silicon Labs, med leverandørens SDK der den sparer tid og pakket inn der den ellers ville binde dere til én brikke.

  • Drivere for periferienheter og sensorer

    I2C-, I3C-, SPI-, UART-, CAN-, ADC- og DMA-drivere for sensorer, skjermer, motorer og radioer, hver testet mot en simulert eller innspilt enhet før den møter den virkelige.

  • Firmware for trådløse protokoller

    Bluetooth Low Energy og LE Audio, Wi-Fi, Thread, Matter, Zigbee og LoRaWAN-stakker konfigurert og utvidet på brikken, og mobilmodemer styrt over AT-kommandoer eller LwM2M, klare for Bluetooth SIG-kvalifisering og Matter-sertifisering.

  • Bootloadere og oppdateringer i felten

    MCUboot eller en skreddersydd bootloader med signerte images, to spor og tilbakerulling, slik at en oppdatering som avbrytes av tomt batteri lar enheten stå på sin siste gode versjon.

  • Lavstrøms- og wearable-firmware

    Treningsbånd, helseplaster, øreplugger og sensorer som går i måneder på et lite batteri: hvilemoduser, vekkekilder og radioens driftssykluser justert mot en strømprofilerer, slik at batterilevetiden som står på esken er en måling og ikke et anslag.

  • Firmware for motorstyring, kraft og batteri

    Feltorientert styring av BLDC- og stepmotorer, batteristyring med cellebalansering og estimering av ladetilstand, og styringsfirmware for ladere, solcelleomformere og energilagring, med reguleringssløyfene justert i simulering før de styrer ekte maskinvare.

  • ECU-firmware til biler

    Classic AUTOSAR-basisprogramvare og applikasjonskomponenter på Infineon AURIX-, NXP S32K- og Renesas RH850-kontrollere, CAN FD-, LIN- og Ethernet-kommunikasjon i bil, og UDS-diagnostikk, skrevet etter MISRA C og det ISO 26262-sikkerhetsnivået elementet deres krever.

  • Lyd, DSP og maskinlæring på enheten

    Lyd- og sensorsignalbehandling med CMSIS-DSP eller på Cadence Tensilica- og Analog Devices SHARC-kjerner, og modeller for nøkkelordgjenkjenning, gester og avvik som kjører på mikrokontrolleren gjennom LiteRT for Microcontrollers eller Edge Impulse.

  • Sikkerhetskritisk og feiltolerant firmware

    Firmware til medisinsk utstyr, husholdningsapparater og industrielle sikkerhetsfunksjoner skrevet etter MISRA C og reglene i IEC 62304, IEC 60730 eller IEC 61508, med watchdogs, feilhåndterere som beholder en krasjlogg gjennom omstarten, og kodedekning målt til nivået standarden krever.

Lei inn firmwareutviklere

  • Dedikerte firmwareutviklere

    Firmwareutviklere som blir en del av teamet deres på heltid, jobber i verktøyene og prosessen deres, og rapporterer til lederen deres. Dere intervjuer dem, og vi tar oss av den ukrainske kontrakten, lønn, fakturering og fravær.

  • Prosjekter innen Firmwareutvikling

    En avgrenset del av firmwareutvikling med et omfang, en fast plan og en navngitt leder hos oss som eier resultatet og rapporterer fremdrift i kanalene deres.

  • Løpende firmwareutvikling

    Firmwareutvikling som en løpende tjeneste: de samme menneskene hver måned, en backlog dere prioriterer, og timer dere kan se i portalen vår og på fakturaen.

Siden om dedikert team forklarer hvordan spesialister blir med i teamet deres, og siden om outsourcing dekker prosjektleveranse, overtakelser og hvordan vi priser.

Hvem som jobber med firmwareutvikling for dere

  • Firmwareutviklere

    C, C++ og Rust på mikrokontrollere

  • Firmwareutviklere til bil

    Classic AUTOSAR, CAN og UDS-diagnostikk

  • Maskinvareingeniører

    Koblingsskjemaer og oppstart av kortet firmwaren kjører på

  • Embedded QA-ingeniører

    Hardware-in-the-loop-tester og testfester

  • Mobilutviklere

    Følgeapper for iOS, .NET MAUI og React Native

Slik skriver vi firmware

Det meste av firmware kan testes uten kortet, så vi skriver den slik: maskinvaretilgang ligger bak tynne grensesnitt, logikken over dem kjører som enhetstester på byggemaskinen i Unity, Ceedling eller GoogleTest, og Renode kjører hele imaget på emulert maskinvare i pipelinen. Statisk analyse sjekker MISRA C- eller CERT C-reglene der produktet deres krever det, kompilatoradvarsler er feil, og hvert utgivelsesimage bygges fra en merket commit av pipelinen og signeres der.

Maskinvaren når utvikleren på én av to måter: utviklingssett og prototypekort sendes til vedkommende, eller vedkommende jobber på et rack i laboratoriet deres gjennom fjernstyrt strømbryter, en debug-probe og en seriekonsoll over VPN-et deres. Uansett kjører bygget i pipelinen deres, og koden ligger i repositoriene deres.

Andre embedded- og maskinvaretjenester

Oversikt: Embedded og maskinvare

Spørsmål om firmwareutvikling

Kan firmwarearbeidet starte før maskinvaren vår er klar?

Ja. Arbeidet starter på utviklingssettet for den valgte mikrokontrolleren og i Renode, med drivere skrevet mot databladene til komponentene på koblingsskjemaet deres, slik at de første prototypekortene startes opp med firmware som allerede finnes i stedet for å begynne fra null.

C, C++ eller Rust for firmwaren vår?

C når leverandørens SDK, den eksisterende koden eller sertifiseringsbeviset deres er i C. C++ for større firmware som har nytte av typer og maler uten heap-allokering. Rust, med Embassy og embedded-hal, for ny firmware der minnesikkerhet teller og mikrokontrolleren er godt støttet; Rust er allerede språket i vår egen skrivebordsprogramvare. Vi anbefaler ett per produkt før den første linjen skrives.

Hvilke bransjer jobber firmwareutviklerne deres i?

Forbrukerelektronikk og wearables, i treningsbånd, øreplugger, husholdningsapparater og smarthussensorer; industri- og energiutstyr, i motordrifter, batteristyringssystemer, målere og ladere; bil, i karosseri-, komfort- og drivlinje-ECU-er og styringer til el-sykler og el-sparkesykler; medisinske og helseenheter, i glukosemålere, infusjonspumper og høreapparater; sikkerhetsprodukter, i alarmsensorer, smartlåser og adgangslesere; og telekom, i modemer og radiomoduler.

Hvor raskt kan firmwareutviklere starte?

Når rett firmwareutvikler er tilgjengelig, avhenger starten bare av intervjuet deres, NDA-en og IP-overdragelsen. Ellers gjennomfører vi et søk, som vanligvis gir kandidatprofiler innen to til tre uker, og ingen starter før dere har sagt ja.

Hvordan leier vi inn firmwareutviklere gjennom BigTree108?

Fortell oss om arbeidet, erfaringsnivået og timene dere trenger. Vi foreslår én eller to personer med profilene deres, dere intervjuer dem slik dere ville intervjuet en egen ansatt, og dere signerer én avtale med BIG TREE 108 LLC og får én faktura i måneden.

Hvem eier arbeidet de leverer?

Det gjør dere. Hver spesialist har en signert kontrakt med BigTree108 som overdrar alt arbeidsresultat til selskapet, og avtalen vår med dere overdrar det videre til dere. Kode, design og dokumenter leveres inn i deres egne repositorier og verktøy, og oppbevares ikke der bare vi kan endre dem.

Trenger dere firmware skrevet eller rettet?

Fortell oss mikrokontrolleren, verktøykjeden og hva enheten skal gjøre. Dere får svar innen én arbeidsdag: en plan for firmwaren, kandidatprofiler eller en gjennomgang av den eksisterende koden.