Разработка встроенного ПО: прошивки / firmware, BSP, eLinux
Одна из наших специализаций — разработка встроенного программного обеспечения. Мы создаем различные виды ПО для встраиваемых систем: пакеты поддержки аппаратуры (BSP), дистрибутивы ОС Linux и Android, а также микроконтроллерное программное обеспечение.
Разработка прошивок / микроконтроллерное ПО
Команда «НТЦ Прогресс» оказывает услуги по разработке прошивок для самых популярных архитектур 8, 16, 32-разрядных микроконтроллеров и таких семейств, как:
- STMicroelectronics STM32
- Atmel AVR и AT91SAM
- Microchip PIC
- Texas Instruments MSP430, C2000 и Tiva
- Silabs C8051 и EFM32
- Freescale Coldfire
- Renesas RL78 и другие
Наши инженеры-программисты получили сертификаты ARM Accredited Engineer (AAE) и ARM Accredited MCU Engineer (AAME), которые подтверждают их высокую квалификацию в сфере разработки встраиваемых систем с использованием технологий ARM. Ведущие мировые производители полупроводниковых компонентов — STMicrolectronics, Texas Instruments и Freescale — официально признали экспертный уровень инженерных разработок «НТЦ Прогресс», включив нашу компанию в соответствующие партнерские программы.
Помимо языка ANSI C мы также используем встроенные скриптовые языки с малым объемом занимаемой памяти, такие как Lua и Python, они позволяют оптимизировать процесс разработки и прототипирования прошивки (firmware).
Команда «НТЦ Прогресс» разрабатывает встроенное ПО для «голого железа», а также прошивки на базе ОС реального времени (RTOS).
Особенно большой опыт мы приобрели в работе со следующими компонентами:
- STMicroelectronics STM32Cube
- Texas Instruments StellarisWare
- Texas Instruments TI-RTOS (SYS/BIOS)
- FreeRTOS
- RTEMS
- Freescale MQX RTOS
- TCP/IP stacks: uIP, lwIP
- Filesystems: FatFs
Разработка BSP: пакеты поддержки аппаратуры
- Подготовка полного пакета поддержки аппаратуры, включая начальные загрузчики (U-Boot, RedBoot)
- Разработка драйверов для устройств, стеков протоколов, системных интерфейсов (PCI/ISA/LPC, I2C/SPI/SSP, Ethernet, LCD STN/TFT, USB, WiFi), памяти (NOR/NAND Flash, CF/MMC/SD, FRAM/NVRAM/SRAM, EEPROM, DDR/DDR2/SDRAM)
- Разработка тестов для проверки аппаратуры
- Подготовка образов файловых систем
- Написание скриптов для сборки прошивки и дистрибутива
Дистрибутивы ОС Linux и Android для целевых платформ
- Оптимизация и кастомизация дистрибутивов под специализированные решения: мультимедийные системы, системы хранения данных, серверы-маршрутизаторы беспроводных сетей
- Разработка загрузочных live-CD различного назначения
В процессе разработки мы используем:
- Дистрибутивы ОС Linux и Android для микропроцессоров различных архитектур (ARM, XScale, x86, MIPS, PowerPC, Blackfin) и промышленных компьютеров (CompactPCI, PC104/PC104-plus)
- Linux-расширения RTAI и Xenomai для систем реального времени
