Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Особенности разработки ПО
для встраиваемых систем
и промышленного оборудования
НПО «МИР», Казимиров Андрей
• операционные системы
• клиентские приложения
• игры
• корпоративные системы, бизнес-ПО
• серверное ПО
• приложения для г...
Что такое «встраиваемое ПО»?
Привет
участникам
соревнований
Привет
участникам
соревнований
Чем отличается встраиваемое ПО
• повышенная надежность
• высокая цена ошибки
• ограниченность ресурсов
• предсказуемость в...
Надежность и цена ошибки
Завис Skype ?
Я перезвоню !
Глючит Angry Birds ?
Я переустановлю !
Улетел не туда Фобос-Грунт ?
?...
Использование ресурсов
Кто круче ?
CPU 1 ГГц, 2 ядра
8Г FLASH
1Г RAM
WiFi 150 Мбит/с
экран 1280*720
CPU 80 МГц
512к FLASH
...
Использование ресурсов
Ресурсов мало и поэтому приходится думать
• архитектура ПО важна, как никогда
• любая универсальнос...
Реальное время и многозадачность
Что такое «реальное» время ?
• телеком: микросекунды и меньше
• системы управления: 1 мс ...
Реальное время и многозадачность
Время обработки данных м многозадачность
ВРЕМЯ
Реальное время и многозадачность
• приоритеты задач
• вытесняющая
и кооперативная
многозадачность
• устойчивость к
«ненорм...
«Поставить процессор помощнее»?
А действительно – почему бы не облегчить
жизнь программисту ?
• стоимость для low-mid-end ...
Существующие технологии
• в России – либо дорого, либо невозможно
• в Китае – нужна серийность десятки тысяч
Результат: да...
Условия эксплуатации
• жесткие нормы к излучаемым помехам
• выше частота – больше помех
• выше частота – больше
энергопотр...
Ресурсов мало, но достаточно
Компромисс железо-софт
Типовые характеристики систем:
• частоты CPU от 10…20 до 200…400 МГц
•...
Квалификация пользователя
Уровень техники растет, а квалификация
персонала падает !!!
Что делать ?
• скрыть все от пользов...
Защита от дурака
Типовые случаи действий пользователя:
• неправильное конфигурирование
• включение всех функций «на всякий...
Обновление ПО
Есть отрасли, где ПО обновлять нельзя !!!
то есть нельзя ошибаться??? ДА, НЕЛЬЗЯ !!!
При обновлении ПО нельз...
Использование готового кода
Шаблоны, фреймворки,
библиотеки, сторонний код
• слабая предсказуемость
• занимаемые ресурсы
•...
Безопасность и защита
Проблема взлома встраиваемых систем гораздо
менее актуальна, чем на ПК
Исключение – системы охраны
В...
Что в итоге ?
Встраиваемое ПО не сложнее и не проще,
чем игра или WEB-клиент, оно ДРУГОЕ
• ограниченность ресурсов
• предс...
Немного о нас
НПО «МИР» – это разработка,
производство, внедрение
автоматизированных систем
сбора данных и управления
для ...
Разработка
• измерения и цифровая
обработка сигналов
• сбор и передача данных
• серверное ПО, СУБД
• клиентские места,
WEB...
С чего начать путь в embedded ?
• Arduino
• STM Discovery
• Raspberry PI
• практика в НПО «МИР»
СПАСИБО ЗА ВНИМАНИЕ !!!
Upcoming SlideShare
Loading in …5
×

13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встраиваемых систем и промышленного оборудования.

97 views

Published on

Не всегда у программистов есть возможность использовать побольше памяти или более производительные процессоры.

Published in: Education
  • Be the first to comment

  • Be the first to like this

13 HappyDev-lite-2014. Андрей Казимиров. Особенности разработки по для встраиваемых систем и промышленного оборудования.

  1. 1. Особенности разработки ПО для встраиваемых систем и промышленного оборудования НПО «МИР», Казимиров Андрей
  2. 2. • операционные системы • клиентские приложения • игры • корпоративные системы, бизнес-ПО • серверное ПО • приложения для гаджетов Какое бывает ПО
  3. 3. Что такое «встраиваемое ПО»? Привет участникам соревнований Привет участникам соревнований
  4. 4. Чем отличается встраиваемое ПО • повышенная надежность • высокая цена ошибки • ограниченность ресурсов • предсказуемость во времени • жесткие условия эксплуатации • долгий срок жизни
  5. 5. Надежность и цена ошибки Завис Skype ? Я перезвоню ! Глючит Angry Birds ? Я переустановлю ! Улетел не туда Фобос-Грунт ? ???
  6. 6. Использование ресурсов Кто круче ? CPU 1 ГГц, 2 ядра 8Г FLASH 1Г RAM WiFi 150 Мбит/с экран 1280*720 CPU 80 МГц 512к FLASH 96к RAM Zigbee 10кбит/с экран 128*32
  7. 7. Использование ресурсов Ресурсов мало и поэтому приходится думать • архитектура ПО важна, как никогда • любая универсальность избыточна • «про запас, на всякий случай» не бывает Кто из них умеет считать копейки ?
  8. 8. Реальное время и многозадачность Что такое «реальное» время ? • телеком: микросекунды и меньше • системы управления: 1 мс и меньше • автомобиль: 10…100 мс • медицинское оборудование: 100 мс…1 сек • «обычные компьютеры»: секунды
  9. 9. Реальное время и многозадачность Время обработки данных м многозадачность ВРЕМЯ
  10. 10. Реальное время и многозадачность • приоритеты задач • вытесняющая и кооперативная многозадачность • устойчивость к «ненормальным» данным ЦЕЛЬ: предсказуемость системы
  11. 11. «Поставить процессор помощнее»? А действительно – почему бы не облегчить жизнь программисту ? • стоимость для low-mid-end продуктов CPU – от $1 до $10 • достаточность ресурсов при грамотной разработке, консервативность • ограниченность существующих технологий • жесткие условия эксплуатации
  12. 12. Существующие технологии • в России – либо дорого, либо невозможно • в Китае – нужна серийность десятки тысяч Результат: далеко не все, что есть, можно применить в разработке
  13. 13. Условия эксплуатации • жесткие нормы к излучаемым помехам • выше частота – больше помех • выше частота – больше энергопотребление • далеко не все «бытовые» технологии применимы в промышленности
  14. 14. Ресурсов мало, но достаточно Компромисс железо-софт Типовые характеристики систем: • частоты CPU от 10…20 до 200…400 МГц • объемы памяти от 10 кБайт до 1Гб • часто только целочисленная арифметика • отсутствие файловых систем, динамической памяти и других радостей Отдельный класс: Linux/WindowsCE-системы
  15. 15. Квалификация пользователя Уровень техники растет, а квалификация персонала падает !!! Что делать ? • скрыть все от пользователя • что нельзя скрыть - сделать интуитивно понятным ПОЛЬЗОВАТЕЛЬ НЕ УМЕЕТ ПРОГРАММИРОВАТЬ
  16. 16. Защита от дурака Типовые случаи действий пользователя: • неправильное конфигурирование • включение всех функций «на всякий случай» • ПО обновили, конфигурацию – нет • обновили конфигурацию каналов связи по этим же каналам связи Переполнение переменных – штатный случай ! проблемы 2000 быть не должно
  17. 17. Обновление ПО Есть отрасли, где ПО обновлять нельзя !!! то есть нельзя ошибаться??? ДА, НЕЛЬЗЯ !!! При обновлении ПО нельзя удалять старую версию При обновлении ПО нельзя терять накопленные архивные данные
  18. 18. Использование готового кода Шаблоны, фреймворки, библиотеки, сторонний код • слабая предсказуемость • занимаемые ресурсы • «индусский код» Единственный плюс: скорость освоения
  19. 19. Безопасность и защита Проблема взлома встраиваемых систем гораздо менее актуальна, чем на ПК Исключение – системы охраны ВАЖНО: защита данных от сбоев • контрольные суммы всех важных данных • дублирование данных • корректное восстановление после сбоев
  20. 20. Что в итоге ? Встраиваемое ПО не сложнее и не проще, чем игра или WEB-клиент, оно ДРУГОЕ • ограниченность ресурсов • предсказуемость во времени • повышенная надежность • долгий срок жизни
  21. 21. Немного о нас НПО «МИР» – это разработка, производство, внедрение автоматизированных систем сбора данных и управления для электроэнергетики
  22. 22. Разработка • измерения и цифровая обработка сигналов • сбор и передача данных • серверное ПО, СУБД • клиентские места, WEB-технологии
  23. 23. С чего начать путь в embedded ? • Arduino • STM Discovery • Raspberry PI • практика в НПО «МИР» СПАСИБО ЗА ВНИМАНИЕ !!!

×