Послуги з розробки прошивок
Послуги з розробки прошивок для мікроконтролерів: прошивки без операційної системи (bare-metal) та на RTOS на C, C++ і Rust, драйвери, стеки Bluetooth і бездротових протоколів, завантажувачі та оновлення пристроїв в експлуатації, прошивки автомобільних ECU, керування двигунами й системи керування батареями, а також проєктування з низьким енергоспоживанням для носимих пристроїв, датчиків, лічильників, побутової техніки, транспортних засобів і медичних пристроїв. Виділені firmware-інженери для вашої команди або проєкти під ключ.
Прошивки, які ми розробляємо
Прошивки для мікроконтролерів
Прошивки без ОС (bare-metal) або на Zephyr, FreeRTOS чи Eclipse ThreadX для чипів STM32, Nordic nRF52, nRF53 і nRF54, ESP32, NXP, Renesas, Infineon, Microchip та Silicon Labs. Ми використовуємо SDK виробника там, де це економить час, і обгортаємо його там, де він прив'язав би вас до одного чипа.
Драйвери периферії та датчиків
Драйвери I2C, I3C, SPI, UART, CAN, ADC і DMA для датчиків, дисплеїв, двигунів і радіомодулів, кожен із яких тестується на симульованому або записаному пристрої ще до зустрічі з реальним.
Прошивки для бездротових протоколів
Стеки Bluetooth Low Energy і LE Audio, Wi-Fi, Thread, Matter, Zigbee та LoRaWAN, налаштовані й розширені на чипі, а також стільникові модеми, якими керують через AT-команди або LwM2M, з підготовкою до кваліфікації Bluetooth SIG і сертифікації Matter.
Завантажувачі та оновлення в експлуатації
MCUboot або спеціально створений завантажувач із підписаними образами, двома слотами та відкатом, тож оновлення, перерване розрядженою батареєю, залишає пристрій на останній робочій версії.
Енергоефективні прошивки та прошивки для носимих пристроїв
Фітнес-браслети, пластирі для моніторингу здоров'я, навушники-вкладиші та датчики, що місяцями працюють від невеликої батареї: режими сну, джерела пробудження та робочі цикли радіомодуля налаштовуються за записом профілювальника енергоспоживання, тож час роботи від батареї, указаний на коробці, є результатом вимірювання, а не оцінкою.
Прошивки для керування двигунами, живлення та батарей
Векторне керування (field-oriented control) для BLDC і кроківних двигунів, керування батареями з балансуванням комірок і оцінкою рівня заряду, а також прошивки керування для зарядних пристроїв, сонячних інверторів та накопичувачів енергії. Контури керування налаштовуються в симуляції ще до того, як почнуть керувати реальним обладнанням.
Прошивки автомобільних ECU
Базове ПЗ та прикладні компоненти Classic AUTOSAR на контролерах Infineon AURIX, NXP S32K і Renesas RH850, обмін даними через CAN FD, LIN та автомобільний Ethernet, діагностика UDS. Код пишеться за MISRA C і з урахуванням рівня безпеки за ISO 26262, якого потребує ваш об'єкт.
Аудіо, DSP і машинне навчання на пристрої
Обробка аудіо- та сенсорних сигналів за допомогою CMSIS-DSP або на ядрах Cadence Tensilica й Analog Devices SHARC, а також моделі розпізнавання ключових слів, жестів і аномалій, що працюють на мікроконтролері через LiteRT for Microcontrollers або Edge Impulse.
Критично важливі для безпеки та відмовостійкі прошивки
Прошивки для медичних пристроїв, побутової техніки та промислових функцій безпеки, написані за MISRA C і вимогами IEC 62304, IEC 60730 або IEC 61508. До них входять сторожові таймери (watchdog), обробники збоїв, що зберігають запис про аварію після перезавантаження, і покриття коду, виміряне до рівня, якого вимагає стандарт.
Наші firmware-інженери для вашої команди
Виділені firmware-інженери
Firmware-інженери, які приєднуються до вашої команди на повний робочий день, працюють у ваших інструментах і за вашим процесом і звітують вашому керівнику. Співбесіду проводите ви, а український договір, зарплата, рахунки й відпустки на нас.
Розробка прошивок як окремий проєкт
Окремий проєкт (напрям: розробка прошивок) з визначеним обсягом, фіксованим планом і призначеним керівником з нашого боку, який відповідає за результат і звітує про хід роботи у ваших каналах.
Постійна співпраця: розробка прошивок
Розробка прошивок як постійна послуга: ті самі люди щомісяця, беклог, пріоритети в якому визначаєте ви, і години, які видно в нашому порталі та в рахунку.
На сторінці виділеної команди пояснено, як фахівці приєднуються до вашої команди, а на сторінці аутсорсингу описано реалізацію проєктів, прийняття систем від інших команд і те, як ми беремо оплату.
Хто працює над вашим проєктом (напрям: розробка прошивок)
Firmware-інженери
C, C++ і Rust на мікроконтролерах
Автомобільні firmware-інженери
Classic AUTOSAR, CAN і діагностика UDS
Hardware-інженери
Схеми й перший запуск плати, на якій працює прошивка
Embedded QA-інженери
Тести hardware-in-the-loop та оснастка
Мобільні розробники
Супровідні застосунки на iOS, .NET MAUI та React Native
Як ми пишемо прошивки
Більшу частину прошивки можна протестувати без плати, тож ми пишемо її саме так: доступ до апаратури сховано за тонкими інтерфейсами, логіка над ними виконується як модульні тести на збиральній машині в Unity, Ceedling або GoogleTest, а Renode проганяє весь образ на емульованому обладнанні в пайплайні. Статичний аналіз перевіряє правила MISRA C або CERT C там, де цього потребує ваш продукт, попередження компілятора вважаються помилками, а кожен релізний образ збирається пайплайном із коміту з тегом і підписується там же.
Обладнання потрапляє до інженера одним із двох способів: йому надсилають набори розробника та прототипні плати, або він працює зі стійкою у вашій лабораторії через віддалене керування живленням, зонд для налагодження та послідовну консоль через ваш VPN. У будь-якому разі збірка виконується у вашому пайплайні, а код зберігається у ваших репозиторіях.
Інші послуги з вбудованих систем і апаратури
Розробка вбудованого ПЗ
Розробка вбудованого ПЗ: embedded Linux, Android і RTOS, драйвери, BSP, automotive, ПЗ для мереж, аудіо та відео й безпечні оновлення. Надаємо виділених інженерів із вбудованого ПЗ або виконуємо проєкт.
Розробка на FPGA
Розробка на FPGA: RTL-проєктування на SystemVerilog і VHDL, верифікація FPGA та ASIC, SoC FPGA, відео, мережі, збір даних і прискорення обчислень. Надаємо виділених FPGA-інженерів або виконуємо проєкт.
Розробка електроніки і друкованих плат
Проєктування hardware і PCB: принципові схеми, багатошарове та HDI-розведення плат, high-speed, RF, аналогові й силові схеми, підготовка до EMC та файли для виробництва. Надаємо виділених hardware-інженерів або виконуємо проєкт.
Розробка IoT
Розробка IoT: підключення, початкове налаштування пристроїв (provisioning), хмарні платформи на Azure або AWS, оновлення парку пристроїв, промисловий IoT, відстеження активів, зарядна інфраструктура для електромобілів, дашборди та застосунки. Надаємо виділених IoT-розробників або виконуємо проєкт.
Тестування вбудованих систем і електроніки
Тестування вбудованих систем і hardware: тестування пристроїв, стенди hardware-in-the-loop, автоматизація тестування прошивок, тести автомобільних ECU, зв'язку та безпеки. Надаємо виділених embedded QA-інженерів або виконуємо проєкт.
ПЗ для робототехніки
Розробка ПЗ для робототехніки на ROS 2: сприйняття, навігація, планування руху, керування роботами, промислові робочі комірки, автономні транспортні засоби та ПЗ для парків роботів. Надаємо виділених інженерів-робототехніків або виконуємо проєкт.
Запитання про розробку прошивок
Чи можна почати роботу над прошивкою, поки наша апаратна частина не готова?
Так. Робота починається на наборі розробника для обраного мікроконтролера та в Renode, а драйвери пишуться за документацією (datasheet) компонентів зі схеми, тож перші прототипні плати запускаються з уже наявною прошивкою, а не з нуля.
C, C++ чи Rust для нашої прошивки?
C, коли SDK виробника, наявний код або ваші матеріали для сертифікації вже на C. C++ для більших прошивок, яким допомагають типи й шаблони без динамічного виділення пам'яті. Rust, з Embassy та embedded-hal, для нової прошивки, де важлива безпека роботи з пам'яттю, а мікроконтролер добре підтримується; Rust уже є мовою наших власних десктопних застосунків. Ми рекомендуємо одну мову на продукт ще до того, як написано перший рядок.
У яких галузях працюють ваші firmware-інженери?
Побутова електроніка та носимі пристрої: фітнес-браслети, навушники-вкладиші, побутова техніка й датчики розумного дому; промислове та енергетичне обладнання: приводи двигунів, системи керування батареями, лічильники та зарядні пристрої; автомобільна галузь: ECU кузова, комфорту й силового агрегату, а також контролери електровелосипедів і електросамокатів; медичні пристрої та пристрої для здоров'я: монітори глюкози, інфузійні насоси та слухові апарати; охоронні продукти: датчики сигналізації, розумні замки й зчитувачі доступу; телеком: модеми та радіомодулі.
Як швидко можуть стати до роботи firmware-інженери?
Якщо відповідний firmware-інженер вільний, старт залежить лише від вашої співбесіди, NDA і передачі прав на інтелектуальну власність. Інакше ми проводимо пошук, який зазвичай дає профілі кандидатів за два-три тижні, і ніхто не починає роботу, доки ви не скажете «так».
Як найняти фахівців через BigTree108, якщо вам потрібні firmware-інженери?
Розкажіть про роботу, рівень і години, які вам потрібні. Ми пропонуємо одну-двох людей з їхніми профілями, ви проводите з ними співбесіду так, як зі своїм власним кандидатом, підписуєте один договір із ТОВ «БІГ ТРІ 108» і отримуєте один рахунок на місяць.
Кому належать результати їхньої роботи?
Вам. Кожен фахівець має підписаний із BigTree108 договір, за яким усі результати роботи передаються компанії, а наш договір із вами передає їх далі. Код, дизайн-макети та документи постачаються у ваші власні репозиторії та інструменти, а не зберігаються там, де змінити їх можемо лише ми.
Потрібно написати або виправити прошивку?
Розкажіть, який у вас мікроконтролер і тулчейн та що має робити пристрій. Відповідь ви отримаєте протягом одного робочого дня: план розробки прошивки, профілі кандидатів або огляд наявного коду.