SlideShare a Scribd company logo
1 of 39
Download to read offline
План
● Что такое Виртурилка?
● Как вообще работает разработка и
производство электроники?
● История Виртурилки и собранные грабли
● Как программировать под Виртурилку
● Что вообще из нее можно сделать
Размеры - 70 х 42 х 10 мм
Вес - 25 грамм
Процессор
Texas Instruments DaVinci DM365
SOC — TMS320DM365, 65nm
ARM9 300Mhz (ARM926EJ-S rev 5)
DSP (720p 30 fps, On-Screen Display
(OSD))
Память
DDR2 RAM 128Mb
NAND ROM 256Mb
Питание
2.8-15 Вольт. Потребляемый ток
(основная плата) — 220mA (при
напряжении >= 5В)
Интерфейсы
GPIO (3.3В и 1.8В) — 51 шт
PWM — 4 шт
I2C
SPI — 5 шт
UART — 2 шт
DAC — 3 шт
ADC — 6 шт
USB 2.0 High-Speed host port OTG
USB-клиент
microSD
Аналоговый компонентный
видеовыход
Аудиовыход (моно, 300 mV на
нагрузке 8 Ом)
Аналоговый микрофонный аудиовход
10/100Mb RJ45 Ethernet
Вход для цифровой камеры
McBSP интерфейс (Multi-Channel
Buffered Serial Port)
Видео-входы
Сенсоры:
- OV2643 (стандарт)
- OV5642 (через переходник)
Модули сопряжения:
- аналоговые SD-камеры (TVP5150)
- HDMI (эксперимерты)
Платы расширения
Мезонин Wi-Fi
RJ-45 коннектор
Плата разработки
Релейный модуль
Моторный модуль
Создатели
География на рынке
● Arduino / AVR / PIC / Cortex-M0
● MIPS + WiFi (Carambola, VoCore)
● Virt2Real
● BeagleBone, HummingBoard, Olimex A*
● Raspberry Pi, Orange Pi, Banana Pi,
CubieBoard
● Jetson Tegra K1
Процесс производства
электроники
Инженер-системотехник: выбор платформы
- Документация / SDK
- Development board
- Reference design + Bill of materials (BOM)
- Программные компоненты и IP
Выход: принципиальная схема
Инженер-схемотехник: разводка печатной
платы
- Особенности разводки на высоких частотах
- Много практики
Выход: файлы для производства (макеты слоев, карты
сверлений и металлизации, маски контактных площадок и т.д.)
Процесс производства
электроники - 2
● Производство печатной платы
Количество слоев
Плотность упаковки
● Монтаж компонентов
ручной
полуавтоматизированный
автоматизированный
● Тестирование и отбраковка
автоматизированная проверка
стенды для приемного тестирования
Электроника — наука о контактах
● Непропай и КЗ
● Паразитная емкость и индуктивность
● Помехи и наводки / Мало земли
● Дребезг контактов / Переходные процессы
● Неправильная коммутация / Термо эффекты
● Ошибки проектирования
● Ошибки монтажа / Брак производства / Пересортица
● Ошибки эксплуатации / Вибрация / Окисление
● MTBF / Закон больших чисел
Тиражи Virt2real
Три тиража:
● Т-10 (экспериментальная партия)
● T-100 (предтиражный заказ для проверки
внесенных изменений)
● Т-1000 (продаваемый тираж)
На каждом из них были свои сложности и
проблемы...
T-10
● WiFi на основной плате, а microSD и консоль — на
мезонине
● Родной Ethernet
● Аппаратный патч для UART
● Клеммные колодки для питания и моторов
● Нет зазора и возможна неправильная установка плат
расширения (как раз на фото)
T-100
Конструктивные изменения:
- Wi-Fi переместился на мезонин, а
microSD — на основную плату
- добавлен чип Ethernet для
экономии прерываний
- поменялась контактная группа
питания и мезонина
- появилась защита от
неправильного крепления плат
расширения
- microUSB на плате выполняет
роль не только питания, но и USB
OTG
T-1000
Проблемы и их решения
●
Т-10
- на пятом слое перепутали дорожки TX/RX консоли, пришлось накладывать аппаратный патч
- выбранный чип Wi-Fi оказался с закрытыми драйверами и не поддерживающий AP
●
T-100
- перепутаны дорожки на NAND (аппаратный патч)
- вместо резисторов номиналом порядка мОм впаяли резисторы порядка МОм (ошиблись в
миллиард раз, лечится пайкой)
- перепутаны дорожки на плате сенсора (не лечили)
● Т-1000
- отбраковка 25% тиража Wi-Fi (не проверили на месте)
- SEPIC-схема греется больше заявленного (предположительно — брак компонента, не критично)
- нашли аппаратную ошибку в процессоре (программное исправление в ядре)
- процессор может быть «разогнан» (дает заметный прирост производительности)
- особенности реализации видеоподсистемы: на каждый тип устройства захвата требуется по
своему ядру
Особенности разработки
● Кросс-компиляция и toolchains
● Всего мало (мало памяти, мало постоянного
хранилища, мало производительности процессора)
● Приемы из HPC
● Оптимизация по размеру и скорости, в т.ч.
низкоуровневые
● Аппаратные ускорители
● Аппаратные ошибки
Загрузка и карта памяти
● Загрузка происходит с
- microSD
- NAND Flash
- через UART
● Основные разделы:
- загрузчик (UBL + Uboot)
- ядро (Linux kernel)
- файловая система (UBIFS, UnionFS:
cramfs+jffs2)
Языки программирования
● Интерпретируемые:
PHP, Python, Ruby, JavaScript/NodeJS
Lua (RT = 139kB)
● Компилируемые
C, C++, ObjectiveC
Vala, Go
Java, Mono/C#
Erlang
SDK — и что дальше?
● make getsdk; make build; make install
● Собирает
Uboot
Ядро (2.9.0rc2-davinci)
FS (buildroot)
DaVinci SDK (аппаратные ускорения)
Админка
Утилиты (прошивка Flash, развертывание образа
microSD)
Что из этого всего
можно сделать
IP/PTZ/Live-камера
Питание от широкого диапазона
напряжений
Контроль разряда батареи
Малый вес и компактные
размеры
Низкое энергопотребление
Поддержка 3G и 4G модемов
Множество протоколов вещания
— RTP, RTSP, RTMP
Легкое подключение
сервоприводов
Трансляция игр в сеть
Управляемая машинка
Управляемый танк
Снегоуборщик
Самолет
Робот-манипулятор
Удаленное включение-
выключение устройств
Управление светодиодной лентой
Управление фотоаппаратом
Метеостанция
Системы навигации
IP KVM
Новые потребительские продукты
Больше информации
● http://virt2real.ru/
● http://forum.virt2real.ru/
● http://wiki.virt2real.ru/
● http://github.com/virt2real
● http://g0l.ru/
● http://twitter.com/virt2real
● http://youtube.com/virt2real
Спасибо за внимание
Готов ответить на вопросы
Максим Крентовский
http://devimpress.com/
@mkrentovskiy на Twitter и GitHub

More Related Content

What's hot

01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекцияKamlachPV
 
Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.Sergey Savkin
 
41
4141
41JIuc
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеровKamlachPV
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системpianist2317
 
описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутникАндрей Марин
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ontico
 
Mitsubishi inverter review
Mitsubishi inverter reviewMitsubishi inverter review
Mitsubishi inverter reviewAndey Alexeev
 
1 процессорные серверы
1 процессорные серверы1 процессорные серверы
1 процессорные серверыMikhail Ostroverkhiy
 
пзу, контроллеры
пзу, контроллерыпзу, контроллеры
пзу, контроллерыVadim Garonin
 
11. ЦАП STM32
11. ЦАП STM3211. ЦАП STM32
11. ЦАП STM32KamlachPV
 
lm-sensors in embedded systems: from schematics to management from linux
lm-sensors in embedded systems: from schematics to management from linuxlm-sensors in embedded systems: from schematics to management from linux
lm-sensors in embedded systems: from schematics to management from linuxPavel Kurochkin
 
Аппаратные и программные средства управления
Аппаратные и программные средства управленияАппаратные и программные средства управления
Аппаратные и программные средства управленияMaxim Gubin
 
Аппаратные и программные средства управления
Аппаратные и программные средства управленияАппаратные и программные средства управления
Аппаратные и программные средства управленияMaxim Gubin
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаPositive Hack Days
 

What's hot (20)

01. Вводная лекция
01. Вводная лекция01. Вводная лекция
01. Вводная лекция
 
04. cs
04. cs04. cs
04. cs
 
Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.
 
41
4141
41
 
02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров02. Порты ввода вывода микроконтроллеров
02. Порты ввода вывода микроконтроллеров
 
Лекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и системЛекция №2 Организация ЭВМ и систем
Лекция №2 Организация ЭВМ и систем
 
описание процессор спутник
описание процессор спутникописание процессор спутник
описание процессор спутник
 
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)
 
Mitsubishi inverter review
Mitsubishi inverter reviewMitsubishi inverter review
Mitsubishi inverter review
 
linux and freebsd monitoring
linux and freebsd monitoringlinux and freebsd monitoring
linux and freebsd monitoring
 
1 процессорные серверы
1 процессорные серверы1 процессорные серверы
1 процессорные серверы
 
05. timers
05. timers05. timers
05. timers
 
пзу, контроллеры
пзу, контроллерыпзу, контроллеры
пзу, контроллеры
 
11. ЦАП STM32
11. ЦАП STM3211. ЦАП STM32
11. ЦАП STM32
 
08. adc
08. adc08. adc
08. adc
 
09. usart
09. usart09. usart
09. usart
 
lm-sensors in embedded systems: from schematics to management from linux
lm-sensors in embedded systems: from schematics to management from linuxlm-sensors in embedded systems: from schematics to management from linux
lm-sensors in embedded systems: from schematics to management from linux
 
Аппаратные и программные средства управления
Аппаратные и программные средства управленияАппаратные и программные средства управления
Аппаратные и программные средства управления
 
Аппаратные и программные средства управления
Аппаратные и программные средства управленияАппаратные и программные средства управления
Аппаратные и программные средства управления
 
Смарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны РазработчикаСмарт - Технологии, Взгляд Со Стороны Разработчика
Смарт - Технологии, Взгляд Со Стороны Разработчика
 

Similar to Virt2real - есть ли жизнь в железе?

устройство компьютера.
устройство компьютера.устройство компьютера.
устройство компьютера.Svetlana Belova
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...VThn18
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Ontico
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиMUK
 
Hardware maintenance of_the_computer
Hardware maintenance of_the_computerHardware maintenance of_the_computer
Hardware maintenance of_the_computerVitusKK
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...Dmitry Samsonov
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ru
 
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siams
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siamsновый взгляд на Mes системы с точки зрения теории ограничений ефремов-siams
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siamsExpolink
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Cisco Russia
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Ontico
 
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...Minsk Linux User Group
 
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Tatiana Volkova
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОДMirantis IT Russia
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахAlex Tutubalin
 
Hitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеHitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеКРОК
 

Similar to Virt2real - есть ли жизнь в железе? (20)

устройство компьютера.
устройство компьютера.устройство компьютера.
устройство компьютера.
 
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
Лекция 2 Разработка программно-аппаратного обеспечения информационных и автом...
 
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
Суперкомпьютеры сегодня и завтра архитектура, проблемы, перспективы (Андрей С...
 
High performance computing - принципы проектирования сети
High performance computing - принципы проектирования сетиHigh performance computing - принципы проектирования сети
High performance computing - принципы проектирования сети
 
Hardware maintenance of_the_computer
Hardware maintenance of_the_computerHardware maintenance of_the_computer
Hardware maintenance of_the_computer
 
Micro max 2011 ak corr
Micro max 2011 ak corrMicro max 2011 ak corr
Micro max 2011 ak corr
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...Тюним память  и сетевой стек в Linux: история перевода высоконагруженных  сер...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных сер...
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Вебинар по Advantech boxPC для IPC2U
Вебинар по Advantech boxPC для IPC2UВебинар по Advantech boxPC для IPC2U
Вебинар по Advantech boxPC для IPC2U
 
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siams
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siamsновый взгляд на Mes системы с точки зрения теории ограничений ефремов-siams
новый взгляд на Mes системы с точки зрения теории ограничений ефремов-siams
 
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
 
Adem gpp
Adem gppAdem gpp
Adem gpp
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...
Навигатор с поддержкой GPS/GLONASS на базе процессора AM3517 от Texas Instrum...
 
apparatnoe_obespechenie
apparatnoe_obespechenieapparatnoe_obespechenie
apparatnoe_obespechenie
 
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...
Arduino и бионика (Bionic Arduino). Часть 1. Введение, цифровые входы, перекл...
 
ETegro: решения для ЦОД
ETegro: решения для ЦОДETegro: решения для ЦОД
ETegro: решения для ЦОД
 
Параллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартахПараллельное программирование на современных видеокартах
Параллельное программирование на современных видеокартах
 
Hitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеHitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задаче
 
King Xeon
King XeonKing Xeon
King Xeon
 

Virt2real - есть ли жизнь в железе?

  • 1.
  • 2. План ● Что такое Виртурилка? ● Как вообще работает разработка и производство электроники? ● История Виртурилки и собранные грабли ● Как программировать под Виртурилку ● Что вообще из нее можно сделать
  • 3.
  • 4.
  • 5. Размеры - 70 х 42 х 10 мм Вес - 25 грамм Процессор Texas Instruments DaVinci DM365 SOC — TMS320DM365, 65nm ARM9 300Mhz (ARM926EJ-S rev 5) DSP (720p 30 fps, On-Screen Display (OSD)) Память DDR2 RAM 128Mb NAND ROM 256Mb Питание 2.8-15 Вольт. Потребляемый ток (основная плата) — 220mA (при напряжении >= 5В)
  • 6. Интерфейсы GPIO (3.3В и 1.8В) — 51 шт PWM — 4 шт I2C SPI — 5 шт UART — 2 шт DAC — 3 шт ADC — 6 шт USB 2.0 High-Speed host port OTG USB-клиент microSD Аналоговый компонентный видеовыход Аудиовыход (моно, 300 mV на нагрузке 8 Ом) Аналоговый микрофонный аудиовход 10/100Mb RJ45 Ethernet Вход для цифровой камеры McBSP интерфейс (Multi-Channel Buffered Serial Port)
  • 7. Видео-входы Сенсоры: - OV2643 (стандарт) - OV5642 (через переходник) Модули сопряжения: - аналоговые SD-камеры (TVP5150) - HDMI (эксперимерты)
  • 8. Платы расширения Мезонин Wi-Fi RJ-45 коннектор Плата разработки Релейный модуль Моторный модуль
  • 10. География на рынке ● Arduino / AVR / PIC / Cortex-M0 ● MIPS + WiFi (Carambola, VoCore) ● Virt2Real ● BeagleBone, HummingBoard, Olimex A* ● Raspberry Pi, Orange Pi, Banana Pi, CubieBoard ● Jetson Tegra K1
  • 11. Процесс производства электроники Инженер-системотехник: выбор платформы - Документация / SDK - Development board - Reference design + Bill of materials (BOM) - Программные компоненты и IP Выход: принципиальная схема Инженер-схемотехник: разводка печатной платы - Особенности разводки на высоких частотах - Много практики Выход: файлы для производства (макеты слоев, карты сверлений и металлизации, маски контактных площадок и т.д.)
  • 12. Процесс производства электроники - 2 ● Производство печатной платы Количество слоев Плотность упаковки ● Монтаж компонентов ручной полуавтоматизированный автоматизированный ● Тестирование и отбраковка автоматизированная проверка стенды для приемного тестирования
  • 13. Электроника — наука о контактах ● Непропай и КЗ ● Паразитная емкость и индуктивность ● Помехи и наводки / Мало земли ● Дребезг контактов / Переходные процессы ● Неправильная коммутация / Термо эффекты ● Ошибки проектирования ● Ошибки монтажа / Брак производства / Пересортица ● Ошибки эксплуатации / Вибрация / Окисление ● MTBF / Закон больших чисел
  • 14. Тиражи Virt2real Три тиража: ● Т-10 (экспериментальная партия) ● T-100 (предтиражный заказ для проверки внесенных изменений) ● Т-1000 (продаваемый тираж) На каждом из них были свои сложности и проблемы...
  • 15. T-10 ● WiFi на основной плате, а microSD и консоль — на мезонине ● Родной Ethernet ● Аппаратный патч для UART ● Клеммные колодки для питания и моторов ● Нет зазора и возможна неправильная установка плат расширения (как раз на фото)
  • 16. T-100 Конструктивные изменения: - Wi-Fi переместился на мезонин, а microSD — на основную плату - добавлен чип Ethernet для экономии прерываний - поменялась контактная группа питания и мезонина - появилась защита от неправильного крепления плат расширения - microUSB на плате выполняет роль не только питания, но и USB OTG
  • 18. Проблемы и их решения ● Т-10 - на пятом слое перепутали дорожки TX/RX консоли, пришлось накладывать аппаратный патч - выбранный чип Wi-Fi оказался с закрытыми драйверами и не поддерживающий AP ● T-100 - перепутаны дорожки на NAND (аппаратный патч) - вместо резисторов номиналом порядка мОм впаяли резисторы порядка МОм (ошиблись в миллиард раз, лечится пайкой) - перепутаны дорожки на плате сенсора (не лечили) ● Т-1000 - отбраковка 25% тиража Wi-Fi (не проверили на месте) - SEPIC-схема греется больше заявленного (предположительно — брак компонента, не критично) - нашли аппаратную ошибку в процессоре (программное исправление в ядре) - процессор может быть «разогнан» (дает заметный прирост производительности) - особенности реализации видеоподсистемы: на каждый тип устройства захвата требуется по своему ядру
  • 19. Особенности разработки ● Кросс-компиляция и toolchains ● Всего мало (мало памяти, мало постоянного хранилища, мало производительности процессора) ● Приемы из HPC ● Оптимизация по размеру и скорости, в т.ч. низкоуровневые ● Аппаратные ускорители ● Аппаратные ошибки
  • 20. Загрузка и карта памяти ● Загрузка происходит с - microSD - NAND Flash - через UART ● Основные разделы: - загрузчик (UBL + Uboot) - ядро (Linux kernel) - файловая система (UBIFS, UnionFS: cramfs+jffs2)
  • 21. Языки программирования ● Интерпретируемые: PHP, Python, Ruby, JavaScript/NodeJS Lua (RT = 139kB) ● Компилируемые C, C++, ObjectiveC Vala, Go Java, Mono/C# Erlang
  • 22. SDK — и что дальше? ● make getsdk; make build; make install ● Собирает Uboot Ядро (2.9.0rc2-davinci) FS (buildroot) DaVinci SDK (аппаратные ускорения) Админка Утилиты (прошивка Flash, развертывание образа microSD)
  • 23. Что из этого всего можно сделать
  • 24. IP/PTZ/Live-камера Питание от широкого диапазона напряжений Контроль разряда батареи Малый вес и компактные размеры Низкое энергопотребление Поддержка 3G и 4G модемов Множество протоколов вещания — RTP, RTSP, RTMP Легкое подключение сервоприводов
  • 38. Больше информации ● http://virt2real.ru/ ● http://forum.virt2real.ru/ ● http://wiki.virt2real.ru/ ● http://github.com/virt2real ● http://g0l.ru/ ● http://twitter.com/virt2real ● http://youtube.com/virt2real
  • 39. Спасибо за внимание Готов ответить на вопросы Максим Крентовский http://devimpress.com/ @mkrentovskiy на Twitter и GitHub