Pull to refresh
-1
0
Send message

Как сделать context switch на STM32

Reading time11 min
Views24K
Добрый день!

Потоки… Переключение контекстов… Базовая сущность ОС. И конечно, при разработке библиотек и приложений мы всегда полагаемся на то, что реализация потоков безошибочна. Поэтому было неожиданно найти грубую ошибку в переключении потоков для STM32 на ОСРВ Embox, когда уже продолжительное время работали и сеть, и файловая система и многие сторонние библиотеки. И мы даже успели похвастаться о своих достижениях на Хабре.

Я бы хотел рассказать про то, как мы делали переключение потоков для Cortex-M, и тестировали на STM32. Кроме того, постараюсь рассказать о том как это сделано в других ОС — NuttX и FreeRTOS.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments22

ТОП-9 YouTube-каналов для изучения английского языка

Reading time3 min
Views127K
Впереди пора отпусков и каникул, поэтому мы просто поделимся с вами полезными YouTube-каналами на случай, если у вас будет пара свободных минут и желание немного заняться английским.

// "Enjoy the Content" — from author with Love 
Читать дальше →
Total votes 49: ↑35 and ↓14+21
Comments14

I2C-сниффер

Reading time3 min
Views28K
Добрый день! Как-то возникла на работе проблема — имеется устройство, работающее по I2С и протокол которого необходимо было понять. Следовательно, нужен сниффер под интерфейс I2С, который бы выводил все, что приходит-уходит по I2C, на порт UART и далее через преобразователь на COM-порт компьютера.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments49

Настройки Photoshop после установки

Reading time2 min
Views42K

image


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

Читать дальше →
Total votes 45: ↑29 and ↓16+13
Comments31

Real-time BeagleBone: использование высокоскоростных выводов

Reading time14 min
Views28K
Fast GPIO tutorial

Здравствуйте, уважаемые хабравчане! Давно уже являюсь читателем Хабра, но до сих пор не мог найти достойной темы для публикации. И вот, наконец, хорошенько прошерстив Хабр и GT, удивился отсутствию публикаций, посвященных программируемой подсистеме реального времени (PRU‐ICSS) линейки процессоров SitaraTM фирмы TI.

Наиболее популярной и доступной отладочной платой с процессором AM335x является так называемый «одноплатник» BeagleBone Black (White,Green). И именно наличие PRU делает BeagleBone наиболее предпочтительным для использования в hardware-проектах по сравнению с другими бюджетными одноплатниками типа *Pi. Кроме того, в некоторых случаях BBB-PRU может достаточно эффективно заменить связку ПК-МК-ПЛИС.

В данной статье приведен краткий обзор подсистемы PRU и режимов работы высокоскоростных портов ввода/вывода, рассмотрен пошаговый пример инициализации высокоскоростных портов вывода (Enhanced GPIO) и произведена оценка их производительности.
Добро пожаловать
Total votes 46: ↑45 and ↓1+44
Comments7

Простой контроллер освещения

Reading time4 min
Views41K
Как ни странно, на разработку этого устройства меня толкнули лень и дискомфорт. Каждый раз загоняя автомобиль в гараж, в темное время суток, постоянно приходилось искать заветную клавишу выключения света, что бы ориентироваться при выходе. В итоге начал обдумывать методы устранения данной проблемы. Первое что пришло на ум, готовый датчик движения, что применяется для уличного освещения. Но не захотел я легкого пути, решил изготовить самостоятельно. Начал прокручивать в голове различные решения на подобии измерителя поля на полевом транзисторе и антенне, ИК приемо-передатчиками в воротный проем и в итоге тернистый путь привел меня к широко известному PIR-датчику HC-SR50.
image
Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments83

Расширения языков C и C++. Часть 1

Reading time19 min
Views62K
Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков C и C++, которые существуют практически в каждом компиляторе.

Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков C и C++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
Читать дальше →
Total votes 65: ↑61 and ↓4+57
Comments54

Подключаем «отечественный» LCD 16x2 MT-16S2S по SPI

Reading time3 min
Views28K


Тенденция импортозамещения подтолкнула протестировать символьный LCD индикатор от фирмы МЭЛТ. Мы взяли МТ-16S2S на ST7070. В некотором роде это аналог широко известного WH-1602 на 44780. А еще он поддерживает SPI-режим.

МЭЛТ кроме того собирает дисплеи и на отечественном контроллере КБ1013ВГ6 от Интеграла. У него есть отличие в в работе в 4-битном режиме от ставшего уже стандартом 44780.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments36

Как скрыть свой реальный IP-адрес при помощи VPN-сервера

Reading time3 min
Views15K


В данной статье мы хотели бы поделиться с Вами особенностями развёртывания VPN-сервера с помощью стандартных средств Windows Server 2012 R2 на вашем VPS-сервере. О плюсах и минусах различных протоколов туннелирования для организации VPN на хабре уже писали тут. Про развертывание openVPN на *nix можно почитать тут, тут и тут. Мы же попытались создать максимально простое и понятное руководство, предназначенное в первую очередь для тех, кто хотел бы скрыть свой реальный IP-адрес при помощи VPN-сервера.
Читать дальше →
Total votes 7: ↑3 and ↓4-1
Comments14

Интерполяция: рисуем плавные графики с помощью кривых Безье

Reading time4 min
Views41K
Доброго времени суток, харбачитатель.

В этой статье мне хотелось бы рассказать об одном придуманном когда-то алгоритме (или скорее всего — переизобретённом велосипеде) построения плавного графика по заданным точкам, используя кривые Безье. Статья была написана под влиянием вот этой статьи и очень полезного комментария товарища lany, за что им отдельное спасибо.

Постановка задачи
Есть массив Y-ков точек, расположенных равномерно по оси X. Нужно получить плавный график, который проходит через все заданные точки. Пример на рисунке ниже:



Всех, кому интересно, прошу под кат.
Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments53

Логические выражения в C/C++. Как ошибаются профессионалы

Reading time5 min
Views48K
Логическое выражение в программировании — конструкция языка программирования, результатом вычисления которой является «истина» или «ложь». Во многих книгах по программированию, предназначенных для изучения языка «с нуля», приводятся возможные операции над логическими выражениями, с которыми сталкивался каждый начинающий разработчик. В этой статье я не буду рассказывать, что оператор 'И' приоритетнее оператора 'ИЛИ'. Я расскажу о распространённых ошибках в простых условных выражениях, состоящих всего из трёх операторов, и покажу, как можно проверить свой код с помощью построения таблиц истинности. Описанные ошибки делают разработчики таких известных проектов как FreeBSD, Microsoft ChakraCore, Mozilla Thunderbird, LibreOffice и многих других.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments46

История одного проекта. Рейтинг и Анонимайзер

Reading time5 min
Views15K
Как мы уже прояснили в первой части статьи, что нужно пользователю? Все тоже самое, только больше и лучше. Так мы решили улучшить представление информации, ее визуальную составляющую и добавить новые сервисы, которые могут оказаться полезны нашей аудиторией.

image

Одним из первых, мы начали работать над тем, что назвали впоследствии — «Рейтинг анонимности».  
Читать дальше →
Total votes 17: ↑14 and ↓3+11
Comments129

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views333K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23

Советы о том, как писать на С в 2016 году

Reading time20 min
Views90K

Если бы язык С был оружием

От автора: Наброски для этой статьи появились еще в начале 2015 года, правда, до публикации материалов дело так и не дошло. Наконец, решив, что в ящике моего письменного стола от вышеупомянутого «черновика» не будет никакой пользы, представляю его вашему вниманию в исходном виде. Единственное, что изменилось в тексте – год, с 2015 на 2016.

И я всегда рад услышать комментарии по поводу необходимых исправлений, уточнений или даже ваши жалобы.

Итак, статья ...


Первое правило программирования на С – не используйте его, если можно обойтись другими инструментами.

Когда найти альтернативный метод не удается, самое время вспомнить о современных заповедях программиста.
Читать дальше →
Total votes 92: ↑84 and ↓8+76
Comments80

О сортировках (пузырьковой, быстрой, расческой...)

Reading time8 min
Views54K
Эта статья ориентирована в первую очередь на начинающих программистов. О сортировках вообще и об упомянутых в заголовке в интернете море статей, зачем нужно еще одна? Например, есть хорошая статья здесь, на хабре: Пузырьковая сортировка и все-все-все. Во-первых, хорошего много не бывает, во-вторых в этой статье я хочу ответь на вопросы «зачем, что, как, почему».Зачем нужны сортировки? В первую очередь, для поиска и представления данных. Некоторые задачи с неотсортированными данными решить очень трудно, а некоторые просто невозможно. Пример: орфографический словарь, в нем слова отсортированы по алфавиту. Если бы это было не так, то попробуйте найти в нем нужное слово. Телефонная книга, где абоненты отсортированы по алфавиту. Даже если сортировка не обязательна и не сильно нужна, все равно бывает удобнее работать с отсортированными данными.

Читать дальше →
Total votes 14: ↑5 and ↓9-4
Comments12

Большой обзор красивых многоуровневых меню с codepen

Reading time4 min
Views195K


Хабр, привет!

На Сodepen появляется много хороших решений от разных специалистов, и я считаю, что лучшие из них нужно собирать в одном месте. Поэтому 2 года назад начал сохранять у себя на компьютере интересные скрипты по разным тематикам.

Раньше я их выкладывал в группе продукта облачной IDE mr. Gefest, это были сборки из 5-8 решений. Но теперь у меня стало скапливаться по 15-30 скриптов в разных тематиках (кнопки, меню, подсказки и так далее).

Такие большие наборы следует показывать большему числу специалистов. Поэтому выкладываю их на Хабр. Надеюсь они будут Вам полезны.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments33

Расчет трансформатора для обратноходового импульсного источника питания (Flyback)

Reading time18 min
Views131K
Популярность обратноходовых источников питания (ОИП, Flyback) последнее время сильно возросла в связи с простотой и дешевизной этого схемного решения – на рынке можно часто встретить интегральные схемы, включающие в себя практически всю высоковольтную часть такого источника, пользователю остается только подключить трансформатор и собрать низковольтную часть по стандартным схемам. Для расчета трансформаторов также имеется большое количество программного обеспечения – начиная от универсальных программ и заканчивая специализированным ПО производителей интегральных схем.

Сегодня же я хочу поговорить о ручном расчете импульсного трансформатора. «Зачем это нужно?», может спросить читатель. Во-первых, ручной расчет трансформатора подразумевает полное понимание процессов, происходящих в источнике питания, чего зачастую не происходит, если начинающий радиолюбитель рассчитывает трансформатор в специальном ПО. Во-вторых, ручной расчет позволяет выбирать оптимальные параметры функционирования источника (и иметь представление, какой параметр в какую сторону надо изменить для достижения заданного результата) еще на этапе разработки.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments21

Начало разработки на микроконтроллерах Kinetis. Быстрый старт

Reading time9 min
Views19K


Продолжаем освоение микроконтроллеров Kinetis. На этот раз освоим среду разработки KDS и запрограммируем вывод меандра. Выясним сколько на это нужно времени. Узнаем какой максимальной частоты меандра можем добиться и обнаружим удивительное быстродействие портов Kinetis. И конечно же напишем классический «Hello, world!» с выводом через UART на скорости в 1.5 Мбит/c.

Предыдущие статьи:

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

Советы по оптимизации Windows для использования SSD

Reading time5 min
Views60K
Привет, Geektimes! Многие до сих пор продолжают утверждать, что твердотельные накопители ненадежные, поскольку имеют ограниченное количество циклов перезаписи и больше подвержены износу, нежели HDD. Сейчас большинство мифов об этом уже развенчаны, однако некоторые советы по оптимизации Windows для работы с SSD могут оказаться полезными.

image

Многие трюки по оптимизации устарели с того момента, когда SSD были слишком дорогими и ограничивались максимальной емкостью в 128 ГБ. Тем более в погоне за более высокой производительностью накопителя вы можете затронуть другие процессы и в конечном итоге сделать только хуже. Поэтому очень важно знать, какие советы действительно окажутся полезными и будут работать, а какие в современных реалиях бестолковые и не имеют практического смысла.
Читать дальше →
Total votes 55: ↑30 and ↓25+5
Comments39

Не читайте тексты про западные стартапы

Reading time7 min
Views28K
Привет, Гиктаймс!

Не думал, что вообще буду сюда писать тексты такой специфической тематики, но свежий пост ФРИИ — «С чего начинается hardware-стартап: Команда и прототип» — меня зацепил. Дело в том, что центральная часть текста там посвящена тому, как правильно раздавать направо и налево доли в вашем стартапе — от основателей до рядовых сотрудников, причём последним предлагается раздавать минимальные доли почти по конец первой сотни нанятых вами работников.

Проблема в том, что в России такое не просто крайне затруднительно чисто технически — я даже не уверен, что вообще возможно, в России сама попытка реализации такой схемы эффективно похоронит ваш стартап, причём самым глупым образом.

Подробно причины этого описаны в законе 14-ФЗ («Об обществах с ограниченной ответственностью», то есть базовый закон по данной теме), который любому человеку, в принципе задумывающемуся о каком-либо стартапе, стоит прочитать хотя бы по диагонали, чтобы в общих чертах представлять себе, как работает и регулируется ООО в России.

Я сознательно говорю именно про ООО, потому что примерно 100 из 100 стартапов в России — это ООО. Теоретически, вы можете зарегистрировать стартап как непубличное АО и избавиться от описанных ниже проблем, но немедленно влететь в другие: например, если в ООО любые решения о судьбе общества вы можете подтверждать просто подписями всех соучредителей, то в АО требуется проведение полноценного собрания с присутствием нотариуса, заверяющего все принятые решения.

Итак, ООО — что делать с долями и инвестициями стартапу, живущему в России.

Читать дальше →
Total votes 73: ↑63 and ↓10+53
Comments132

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity