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
Utveckling av inbyggd mjukvara
Tjänster inom utveckling av inbyggd mjukvara: inbyggd Linux, Android och RTOS, drivrutiner, BSP:er, fordon, nätverk, ljud- och videomjukvara samt säkra uppdateringar, med dedikerade ingenjörer inom inbyggd mjukvara eller projektleverans.
FPGA-utveckling
Tjänster inom FPGA-utveckling: RTL-design i SystemVerilog och VHDL, verifiering av FPGA och ASIC, SoC FPGA, video, nätverk, datainsamling och acceleration, med dedikerade FPGA-ingenjörer eller projektleverans.
Hårdvaru- och PCB-design
Tjänster inom hårdvaru- och PCB-design: kopplingsscheman, layout för flerlagers- och HDI-kort, design för höghastighet, RF, analog teknik och effekt, förberedelse för EMC och produktionsfiler, med dedikerade hårdvaruingenjörer eller projektleverans.
IoT-utveckling
Tjänster inom IoT-utveckling: uppkoppling, provisionering, molnplattformar på Azure eller AWS, uppdateringar av enhetsflottor, industriell IoT, spårning av tillgångar, laddning av elbilar, dashboards och appar, med dedikerade IoT-utvecklare eller projektleverans.
Testning av inbyggda system och hårdvara
Tjänster inom testning av inbyggda system och hårdvara: enhetstestning, hardware-in-the-loop-riggar, automatisering av firmware, ECU:er för fordon, tester av uppkoppling och säkerhet, med dedikerade QA-ingenjörer för inbyggda system eller projektleverans.
Robotikmjukvara
Tjänster inom utveckling av robotikmjukvara på ROS 2: perception, navigation, rörelseplanering, robotstyrning, industriella celler, autonoma fordon och flottmjukvara, med dedikerade robotikingenjörer eller projektleverans.
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.