Как стать автором
Обновить
20
Карма
0
Рейтинг
Александр @Sagaris

Пользователь

Динамическая память в системах жёсткого реального времени

Open source *Системное программирование *Алгоритмы *C *Программирование микроконтроллеров *
🔥 Технотекст 2020

Существует класс приложений реального времени, для которых тяжело предсказать потребности в распределении памяти во время выполнения статически. В этот класс входят, например, встраиваемые реализации стеков некоторых коммуникационных протоколов, где поведение и распределение ресурсов определяется отчасти активностью других агентов в сети. Классический подход в таких случаях заключается в использовании блочных менеджеров памяти, выделяющих фрагменты фиксированного размера (как это сделано, например, в LwIP). Этот подход накладывает нежелательные функциональные и качественные ограничения на реализацию. В этой заметке я предлагаю точку зрения, что традиционные (не блочные) аллокаторы незаслуженно обделены вниманием разработчиков систем реального времени, делюсь соображениями по релевантным вопросам, жалуюсь на жизнь, и предлагаю улучшить положение дел.



(КДПВ – см. аннотацию к диаграмме в конце)

Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Просмотры 15K
Комментарии 52

10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками

Блог компании Хекслет Программирование *Отладка *
Перевод

image
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»


Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.


В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.


Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.


Вот перевод этого списка.

Читать дальше →
Всего голосов 92: ↑80 и ↓12 +68
Просмотры 157K
Комментарии 118

БИНС-шминс. Вводная статья

Программирование микроконтроллеров *
Туториал
Recovery mode
Зарегистрирован на хабре с 9 июля 2008. Ни разу ничего не писал, только читал, Карма ниже нуля. Решился.
Сразу обращение к уважаемому «хабрасообщесту» статья это попытка разобраться в тех вопрос которые для меня ещё как бы не до конца поняты, поэтому жду конструктивную критику и понятные отзывы, а не «ты дурак и всё».Теперь и к теме приступим.
Читать дальше →
Всего голосов 64: ↑56 и ↓8 +48
Просмотры 58K
Комментарии 35

Использование автоматизированных верификационных средств для тестирования ПО в соответствии со стандартами DO-178B/C (КТ-178В), EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304

Разработка веб-сайтов *Тестирование IT-систем *

Введение от автора поста



Имея опыт разработки ПО для ответственных систем более чем 8 лет, хочу познакомить сообщество с некоторыми материалами, связанными с разработкой и верификацией ПО для ответственных систем (аэрокосмическая область, медицина, транспорт и промышленность). Получив согласие на перевод и адаптирование ряда интересных статей у зарубежных коллег решил воспользоваться данным ресурсом. Буду рад, если статья заинтересует наше сообщество. В статье использованы материалы фирмы Vector Software, Inc. и рассматривается пример использования автоматизированного верификационного инструментария VectorCAST.
В статье мы акцентируем внимание на стандартах DO-178B/C (КТ-178В), но данная статья актуальна и для применения в соответствии со стандартами: EN 50126, IEC 61508, ISO 26262, FDA, IEC 62304.
На вопросы отвечу в комментариях или в личку.

Введение


В этой статье, мы рассмотрим каким образом платформа тестирования встроенного программного обеспечения (ПО) VectorCAST может быть использована для достижения целей процесса верификации ПО, определенного в разделе 6.0 стандартов DO-178B и DO-178C (КТ-178В) «Требования к программному обеспечению бортовой аппаратуры и систем при сертификации авиационной техники». В документе также освещаются различия между двумя стандартами в части раздела 12 «Процесс квалификации инструментального ПО».

Подробнее
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 23K
Комментарии 9

История одной IT-компании, которая так и не пришла к успеху (Ч.2)

Развитие стартапа

Зарождение компании


Главная польза капитала не в том, чтобы сделать больше денег, но в том, чтобы делать деньги ради улучшения жизни. © Генри Форд

… начало 2011- середина 2012 год.

Действующая схема заработка плавно приходила к своему концу «генетического кода», а именно к закату эры «золотых дровосеков». Самым лучшим решением казалось, взять все дочерние сервисы, которые использовались для своих целей и довести их до ума разума переделать под внешний рынок. В обратном случае придется все сложить в самый дальний угол и оставить там гнить да покрываться пылью.


Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 13K
Комментарии 7

История одной IT-компании, которая так и не пришла к успеху

Развитие стартапа
Из песочницы
Частенько встречаются статьи на тему «что необходимо для создания успешного IT бизнеса», «основополагающие факторы успеха IT компании» и все в этом же духе. Одни убеждены, что для старта необходимы инвестиции, другие делают упор на команду. Существует сто пятьсот советов и такое же количество «историй успеха». По этой причине у меня появилась идея рассказать историю одной компании (реальные имена и названия будут изменены, дабы не тыкать пальцами). История больше похожа на неуспех, несмотря на наличие большинства факторов, которые должны были привести к успеху, но не все пошло на пользу.


Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 18K
Комментарии 14

История одной IT-компании, которая так и не пришла к успеху (Ч.3)

Развитие стартапа

Пролонгация


Денежная инфекция поражает воображение. © Павел Шарпп

2013 год. Пришло время оценить результаты работы за прошлый год. Сделано много — похвалиться нечем.
CEO прочитав какую-то из очередных «умных» книг (а может и посетив семинар) понял в чем у нас загвоздка. Появились понятия о капитализации, экзитах, опционах, акциях, бюджетах, прогнозах, гипотезах и об инвестиционных раундах.


Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 19K
Комментарии 7

Как правильно внести свою лепту в Open Source проект: простые подсказки

Open source *PHP *Программирование *Yii *GitHub *
Open Source проекты с каждым днём набирают всё большие обороты, появляются новые, активно развиваются популярные.
Такие проекты как Bootstrap, Angular.js, Elasticsearch, Symfony Framework, Swift и многие другие привлекают новых разработчиков, их сообщество растёт. Всё это даёт огромный рост проектам, а самим разработчикам интересно поучаствовать в разработке чего-то, чем пользуется весь мир.

Я, как и многие другие программисты, не устоял и также время от времени участвую в разработке Open Source проектов, в основном на PHP. Но когда я начинал, я столкнулся с проблемой — я не знал, как правильно организовать процесс «контрибьютинга», с чего начать, как сделать так, чтобы мой Pull Request рассмотрели и т.д.

Всем начинающим «контрибьютерам», которые столкнулись с похожим проблемами, добро пожаловать под кат.


Читать дальше →
Всего голосов 80: ↑69 и ↓11 +58
Просмотры 67K
Комментарии 41

Калибровка Kinect v2 с помощью OpenCV на Python

Python *Обработка изображений *
Из песочницы
Не так давно мы начали пару проектов, в которых необходима оптическая система с каналом дальности, и решили для этого использовать Kinect v2. Поскольку проекты реализуются на Python, то для начала нужно было заставить работать Kinect из Python, а затем откалибровать его, так как Kinect из коробки вносит некоторые геометрические искажения в кадры и дает сантиметровые ошибки в определении глубины.

До этого я никогда не имел дела ни с компьютерным зрением, ни с OpenCV, ни с Kinect. Исчерпывающую инструкцию, как со всем этим хозяйством работать, мне найти тоже не удалось, так что в итоге пришлось порядком повозиться. И я решил, что будет не лишним систематизировать полученный опыт в этой статье. Быть может, она окажется небесполезной для какого-нибудь страждущего, а еще нам нужна популярная статья для галочки в отчетности.

image
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 24K
Комментарии 9

Sublime Text как IDE для ARM на примере STM32

Программирование *C++ *Системное программирование *
Из песочницы
image

UPDATE из 2019:
Статья уже стала не совсем актуальна с появлением отличных и бесплатных редакторов по типу vscode и atom.
Описанная система сборки тоже эволюционировала и теперь её можно найти тут и тут.


В этой статье будет изложена инструкция по созданию сборки Sublime Text c дополнительными программами, которую можно будет использовать как среду разработки для микроконтроллеров, в частности STM32F10x. Итак, перед нами стоит задача сделать при помощи Sublime Text — IDE, которая включает в себя: статический анализ и автодополнение кода в момент его написания, систему построения проекта с помощью makefile, компилятор, линковщик, прошивку микроконтроллера и отладку. К тому же сборка будет работать без установки.
Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Просмотры 34K
Комментарии 10

Фильтр Маджвика

Алгоритмы *Математика *
Перевод

Предисловие от переводчика


Здесь представлен один из новейших методов расчёта ориентации в пространстве по показаниям датчиков акселерометра, гироскопа и компаса — фильтр Маджвика, который, по словам автора, даёт результат лучший, чем применение фильтра на основе метода Калмана в результатах и производительности. Автор — Себастьян Маджвик (его интернет-магазин). Метод описан в статье на английском. Данная работа защищена в Университете г. Бристоля Перевода я не нашёл. Переводчик из меня так себе, особенно таких сложных текстов. Но нам же интересно, что за метод?

Кое-где буду от себя добавлять — там текст выделен курсивом. Мною найдено более 10 опечаток в оригинальном тексте. Вообще было довольно трудно, поэтому помощь приветствуется — пишите в комментариях, где перефразировать нужно, в общем, где что не так.


Читать дальше →
Всего голосов 66: ↑64 и ↓2 +62
Просмотры 120K
Комментарии 17

Неортогональная БИНС для малых БПЛА

Алгоритмы *
БИНС
По правилам сокращений в заголовке не должно быть, но расписав сокращения я превратил бы заголовок в аннотацию. Так что вот…
  • БИНС — бесплатформенная инерциальная навигационная система
  • БПЛА — беспилотный летательный аппарат
  • ОЧ — ось чувствительности датчика

Речь в статье пойдет о навигационной системе, в которой ОЧ датчиков ориентированы неортогонально, т.е. расположены под некоторым, ненулевым, углом к осям системы координат, связанной с БПЛА. Особенность таких БИНС в том, что по информации от каждого из датчиков можно получить значения всех трех компонент угловой скорости (для гироскопов) и линейного ускорения (для линейных акселерометров) объекта.
Статья написана как дополнение к Строим мультикоптер, часть вторая. Целью является описание одного из способов борьбы с дрейфом нуля в дешевых датчиках.
Для чего нужна избыточность читать тут...
Всего голосов 67: ↑63 и ↓4 +59
Просмотры 30K
Комментарии 45

Проект Dronecode: свободная платформа для беспилотных аппаратов

Open source *


Организация Linux Foundation взяла под своё крыло проект Dronecode, цель которого — создание свободной и открытой платформы для беспилотных летательных аппаратов (БПЛА).

Ключевым участником является компания 3D Robotics, которая предоставила в общественное пользование платформу APM Autopilot Suite для управления БПЛА (платформа раньше была известна как ArduPilot).

Кроме того, в Dronecode включили разработки ещё одного проекта PX4, который ведётся в техническом университете Цюриха.
Читать дальше →
Всего голосов 38: ↑33 и ↓5 +28
Просмотры 24K
Комментарии 16

На пороге дополненной реальности: к чему готовиться разработчикам (часть 2 из 3)

AR и VR

Это продолжение (см. часть 1) стенограммы одноименного доклада с конференции ADD-2010.

В этой части речь пойдет о том, как обрабатывать данные с сенсоров, а именно: акселерометров, гироскопов и магнитных компасов. И зачем в современных устройствах ставят все три вида датчиков.
Читать дальше →
Всего голосов 64: ↑62 и ↓2 +60
Просмотры 80K
Комментарии 15

Эффект Foursquare

Чулан
Перевод
image

Гонка между технологическими компаниями c одной целью: сказать вам что делать со своим свободным временем, свободным вечером и всем остальным, свободным, может закончиться сегодня, с выходом новой версии популярной геолокационной социальной сети. Согласно заявлению компании, долгожданные рекомендации наконец-то будут включены.

Одно дело — когда сервис рекомендует вам фильмы, музыку и другие продукты которые вам могут понравится. Совсем другое, когда автоматическая система говорит, куда вы можете пойти захлопнув дверь своего дома, и какие места в городе вам стоит посетить. Эту область пытается затронуть огромное количество уже-не-стартапов, включая Facebook и Google.
Читать дальше →
Всего голосов 60: ↑54 и ↓6 +48
Просмотры 1.1K
Комментарии 52

Первый пластиковый процессор

Компьютерное железо
Группа исследователей из Бельгийского центра Imec на конференции ISSCC 20 февраля 2011 года представили первый в мире пластиковый (или органический) микропроцессор, который способен выполнять около шести инструкций в секунду.

Восьмибитный чип из 4000 транзисторов по характеристикам напоминает кремниевые микросхемы 70-ых годов, но разница в том, что он сделан на пластиковой подложке (polyethylene naphthalate), на которую наносят последовательно слой золота, органический диэлектрик, второй слой золота и органический полупроводник из пентацена. Получается плёнка толщиной 25 мкм, которую можно приклеить на любую поверхность.
Читать дальше →
Всего голосов 55: ↑48 и ↓7 +41
Просмотры 1.6K
Комментарии 27

Фулвью ор нот фулвью: о пользе и вреде полной BGP-таблицы

Серверное администрирование *

На любом околосетевом форуме легко найти с десяток веток о выборе оборудования для BGP-пиринга с возможностью «держать две, три, пять, двадцать пять фулвью». Большинство таких веток выливается в холивары на тему Cisco vs. Juniper или еще чего похуже. Офлайновое же их развитие нередко напоминает мультфильм о шести шапках из одной овичины. В общем, бывает смешно.




И крайне редко обсуждается вопрос о необходимости этого самого фулвью.



Давайте попробуем разобраться.
Всего голосов 95: ↑92 и ↓3 +89
Просмотры 68K
Комментарии 55

Учимся жить без копирайта

Копирайт
Использование торрентов стало повсеместным. Пираты создали вокруг себя вполне устойчивую бизнес-модель, которая пока и не думает себя изживать. Конечно, правообладатели активно пытаются с этим бороться, но всеми этими судебными исками и штрафованием пользователей они вряд ли завоюют народную любовь, а ведь лояльность потребителей — одна из важнейших составляющих коммерческого успеха интеллектуальных творений.
Важно понимать одну простую вещь — на данный момент не существует стопроцентно надежных и гарантирующих успех способов защитить авторское право и препятствовать свободному распространению продукции. Как ни пугай народ, как ни договаривайся с провайдерами, какие только DRM не ставь — все равно даже неискушенный пользователь интернета сможет без труда найти в сети «защищенный» продукт.
image
Возможно, для правообладателей лучшим решением в этой непростой ситуации будет не поиск новых технических и юридических методов защиты своего драгоценного творчества, а сделать так, чтобы свободное распространение, из-за которого они сейчас теряют деньги, наоборот, создавало возможность зарабатывания денег. Другими словами, вспоминая знаменитое изречение Линкольна, лучший способ победить врага — это обратить его в друга.
Итак, в этом после я хотел перечислить, говоря формальным языком, все возможные альтернативные механизмы компенсации затрат на создание интеллектуальных продуктов, которые мне известны. В данном блоге уважаемые хабраюзеры множество раз обсуждали эту тему, но никто пока не брал на себя труд обобщить все доводы и факты. Я попробую взяться за это.
Читать дальше →
Всего голосов 139: ↑98 и ↓41 +57
Просмотры 3.3K
Комментарии 410

Данные с датчиков HTC Desire

Разработка под Android *
Из песочницы

Введение


Привет хабрасообщетво! Давно хотел написать статью, как однажды пришлось поработать с данными, получаемыми от датчиков HTC Desire, находящегося под управлением Android.
image
Целью было: определение перемещения объекта. То есть по данным с датчиков была возможность получить значения ускорений и моментов времени этих измерений. Далее обрабатывая данные уже вычислить скорость, и затем перемещение.
Читать дальше →
Всего голосов 80: ↑69 и ↓11 +58
Просмотры 7.5K
Комментарии 33

Тестируем: сравнение производительности IMX6 и OMAP4

Блог компании Promwad Высокая производительность *Тестирование IT-систем *Производство и разработка электроники *

В этой статье мы поделимся результатами тестирования производительности двух систем на базе ARM-процессора с ядром Cortex-A9 — OMAP4 PandaBoard ES и i.MX6Q SABRE Lite (dev kit онлайн-сообщества element14).


Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Просмотры 18K
Комментарии 13

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность