Как стать автором
Обновить
52
0.4

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

Отправить сообщение

Переключение контекста и простой вытесняющий планировщик для CortexM

Время на прочтение19 мин
Количество просмотров18K

image

С каждым годом курсовые для моих студентов становятся все объемнее. Например, в этом году одним из заданий была разработка метеостанции, ведь только ленивый не делает метеостанции, а студенты они по определению не ленивые, поэтому должны её сделать. Её можно быстро накидать в Cube или собрать на Ардуино, но задача курсового не в этом. Основная задача — самостоятельно, с нуля разобраться с модулями микроконтроллера, продумать архитектуру ПО и, собственно, закодировать все на С++, начиная от регистров и заканчивая задачами РТОС. Кому интересно, здесь пример отчета по такому курсовому


Так вот, появилась небольшая проблема, а именно, бесплатный IAR позволяет делать ПО размером не более 30 кБайт. А это уже впритык к размеру курсового в неоптимизированном виде. Анализ кода студентов выявил, что примерно 1/4 часть их приложения занимает FreeRtos — около 6 кБайт, хотя для того, чтобы сделать вытесняющую переключалку и управлялку задачами хватило бы, наверное… да байт 500 причем вместе с 3 задачами (светодиодными моргунчиками).


Эта статья будет посвящена тому, как можно реализовать Очень Простой Планировщик(он же SST), описанный в статье аж 2006 года и сейчас поддерживаемый Quantum Leaps в продукте Qp framework.


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


Я попробую показать как можно реализовать такой планировщик самому. Чтобы не сильно перегружать статью, рассмотрю переключение контекста на CortexM0 у которого нет аппаратного модуля с плавающей точкой.


Все кто заинтересовался и хочет понять как можно переключать контекст, добро пожаловать под кат.

Читать дальше →
Всего голосов 25: ↑23 и ↓2+24
Комментарии31

Использование Quartus и ModelSim

Время на прочтение10 мин
Количество просмотров35K
Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры — HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизоляции, я добрался до этой замечательной книги. В процессе чтения я столкнулся с некоторыми трудностями, а в частности, как именно писать и отлаживать код в Quartus Prime. В процессе поисков мне очень помог сайт marsohod.org, но вот процесс симуляции схемы на этом сайте описан с использованием встроенных средств Quartus и в современных версиях программы, этих встроенных средств нет и необходимо использовать ModelSim. Чтобы как-то систематизировать те знания, которые я получил, используя Quartus и ModelSim, я решил написать эту статью. В процессе этой статьи я в качестве примера разберу задачу из книги Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», а конкретно задачу 3.26 про автомат газированной воды. На протяжении статьи я покажу, как установить Quartus, создать проект, написать код и произвести его симуляцию. Всем кому это будет интересно, добро пожаловать под кат.

image
Читать дальше →
Всего голосов 13: ↑12 и ↓1+19
Комментарии15

USB over IP в домашних условиях

Время на прочтение4 мин
Количество просмотров53K
Иногда возникает желание работать с устройством, подключенным по USB, не держа его на столе рядом с ноутбуком. У меня таким устройством является китайский гравёр с лазером на 500 мВт, штука довольно неприятная при близком контакте. Помимо непосредственной опасности для глаз, в процессе работы лазера выделяются токсичные продукты горения, поэтому устройство должно находится в хорошо проветриваемом помещении, и желательно изолированно от людей. А как же таким устройством управлять? Ответ на данный вопрос я случайно нашел, просматривая репозиторий OpenWRT в надежде найти достойное применение старенькому роутеру D-Link DIR-320 A2. Для подключения решил использовать описываемый на Хабре ранее USB over IP tunnel, однако все инструкции по его установке успели потерять актуальность, поэтому пишу свою.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+58
Комментарии28

IP KVM своими руками 3.0

Время на прочтение16 мин
Количество просмотров48K
Это уже третья вариация на тему IP KVM'а, на этот раз концепт полностью пересмотрен, начнем строить нечто новенькое. Будет много интересного, не отходите от экрана. Появится еще один необычный девайс, отбросим почти все старые компоненты, вернемся обратно к родной ардуино и немножко поиграем в хакера.

Для тех, кто только что присоединился, краткое содержание предыдущих серий:

  • Первая статья
    Собирали IP KVM на Arduino и Raspberry Pi, получилось дорого и с плохим качеством видео.
  • Вторая статья
    OrangePI и Atmega16u2, поучилось дешево, но качество изображения всё также отвратительно.

И вот, наконец, в этой статье будут исправлены все минусы предыдущих. Особый упор будет сделан на максимальное снижение стоимости компонентов.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии17

Микроша. Глава первая. Контроллер SD карты

Время на прочтение7 мин
Количество просмотров17K


Многие помнят эту замечательную ПЭВМ. У меня такая появилась, когда мне было 11. Прошло 28 лет и сейчас я решил в порядке хобби сделать устройства расширения, которых мне так не хватало тогда.
Читать дальше →
Всего голосов 80: ↑80 и ↓0+80
Комментарии63

Сеть в DOS с помощью стека mTCP

Время на прочтение3 мин
Количество просмотров11K

Некоторое время назад меня попросили сделать видео-инструкцию по настройке сети в операционной системе DOS. К сожалению в съёмке видео я не силен, поэтому постараюсь максимально подробно письменно (и с картинками) изложить сей процесс.

Однажды мне самому пришлось столкнуться с этой задачей, поскольку для моей домашней коллекции компьютеров уже налажен процесс обмена файлами с помощью локального FTP-сервера. (Если будет интересно, могу подробнее рассказать об этом в одной из следующих статей)

Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии27

Была ли жизнь до Audio CD или как ЕЩЁ раньше писали цифровой звук

Время на прочтение6 мин
Количество просмотров11K


Давным-давно, когда любителей прогревать кабели и ставить “гармонизаторы питания” еще не существовало, а проигрыватели звуковых фонограмм были сплошь аналоговыми, очень шумными и почти всегда монофоническими, суровые японские инженеры из города Токио пришли к выводу, что хватит это терпеть и пора, наконец, осваивать новые горизонты, заодно совместив приятное с полезным — мечтой показать огромный кукиш бака гайдзинам. Так как преимущество в сфере видеозаписи к 60-ым годам уже прочно закрепилось за американцами (дедушка Понятофф ещё в 1956 г. выпустил первый в мире видеомагнитофон Ampex VR-1000, мгновенно похоронивший телекино; чуть позже подтянулись Советы), было принято решение развивать неизведанное тогда ещё направление цифровой звукозаписи.

Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии33

Работа с SD-картой по интерфейсу SPI. Реализация на VHDL

Время на прочтение17 мин
Количество просмотров31K
Привет, Habr! Однажды на работе мне досталась задача оценить возможность реализации хранения данных на SD-карте при подключении ее к FPGA. В качестве интерфейса взаимодействия предполагалось использование SPI, так как он проще в реализации. Полученным опытом хотелось бы поделиться.


Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии39

PCI Express в ПЛИС V-й серии Intel: основы интерфейса и особенности аппаратных ядер

Время на прочтение16 мин
Количество просмотров16K

Введение


Знакомый многим интерфейс PCI Express или PCIe был доступен разработчикам систем на ПЛИС уже тогда, когда он только начинал распространяться в цифровой технике. В это время существовало решение, в котором программное ядро подключалось ко внешней микросхеме физического уровня [5]. Это позволяло создавать одноканальную линию PCIe со скоростью 2,5 гигатранзакций в секунду. В дальнейшем, благодаря развитию технологий, физический уровень интерфейса перекочевал в аппаратные блоки PCIe внутри самих ПЛИС; количество возможных каналов увеличилось до 8, а в ряде новых микросхем — и до 16; вслед за современными стандартами выросли возможные скорости передачи данных.

В то же время, в русскоязычных источниках по-прежнему затруднительно найти вспомогательные материалы по работе с аппаратными ядрами современных ПЛИС, не так и много информации доступно по самому интерфейсу PCIe. Руководство к аппаратным ядрам PCI Express подразумевает, что разработчик уже ознакомился со стандартом и понимает основы передачи данных между устройством и персональным компьютером (ПК). Однако обилие информации в самом стандарте PCIe не дает сразу же разобраться в том, какие шаги необходимо предпринять, чтобы успешно передать данные от устройства в память ПК или обратно. Чтобы получить более полную картину, немалую часть сведений приходится собирать по крупицам из разных источников. Для разработчиков систем на ПЛИС фирмы Intel сложность также заключается в том, что большинство доступных материалов и статей описывают работу с аппаратными ядрами ПЛИС фирмы Xilinx.

В данной статье автор постарается рассказать о том, что необходимо знать разработчику систем на ПЛИС для работы с интерфейсом PCI Express; рассмотрит особенности работы с аппаратными ядрами PCI Express ПЛИС V-й серии фирмы Intel в варианте Avalon-ST.
К основной части
Всего голосов 33: ↑33 и ↓0+33
Комментарии20

Сбор и визуализация метрик приложения в Graphite и Graph-Explorer

Время на прочтение9 мин
Количество просмотров65K
Зачастую возникает необходимость отслеживать различные параметры работы приложения/сервиса. Например, интерес представляет количество запросов в секунду, среднее время ответа сервера, количество ответов сервера с различным HTTP-статусом (технические метрики), количество регистраций пользователей в час, количество платежных транзакций в минуту (бизнес-метрики) и пр. Без системы сбора метрик разработка и сопровождение продукта происходит практически вслепую.



Данная статья является руководством по настройке системы сбора и анализа метрик приложения на базе Graphite и vimeo/graph-explorer.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии11

Оптический удлинитель HDMI. 300 метров

Время на прочтение5 мин
Количество просмотров39K
Доброго времени суток, Хабр!



Разработка волоконно-оптического удлинителя HDMI на 300 метров. Отказ от обратного канала (передача данных по одному волоконно-оптическому кабелю). Клонирование EDID с монитора.
Читать дальше →
Всего голосов 103: ↑103 и ↓0+103
Комментарии104

Два любопытных эксперимента над человеческим мозгом, о которых стоит знать

Время на прочтение4 мин
Количество просмотров21K
Первый эксперимент, даже серия экспериментов, была проведена советскими психиатрами в середине прошлого века. Название и авторы этой научной монографии за давностью лет уже стерлись у меня из памяти, поэтому перескажу основные моменты просто от себя.



Это исследование о делегировании разных функций левому и правому полушариям головного мозга. И любопытное там начинается сразу – с методологии исследования. Ибо это не какой-то софт с полями зрения от американских и британских психологов. Это истинный хардкор.

Дело в том, что в середине XX века ситуация с правами человека во всем мире была, мягко говоря, так себе. ГУЛАГ, расовая сегрегация, Гитлер, в конце концов. Ну, а если человек был психиатрический пациент – это, по сути, была подопытная свинка. Им делали электрошок, отрезали куски мозга, и всё это, практически без контроля со стороны гражданского общества.

Одним из методов лечения было оперативное вмешательство в мозг, с целью полного разрушения нервных связей между левым и правым полушарием. Вроде, они припадки так лечили, и, вроде как, даже получалось, не суть. Суть в том, что на выходе человек получался с головным мозгом, в котором два полушария совершенно не общаются между собой. Ему эти связи попросту рассекали скальпелем в ходе операции. И он потом с этим жил всю оставшуюся жизнь.
Читать дальше →
Всего голосов 44: ↑26 и ↓18+8
Комментарии24

Firefox и Chrome будут шифровать DNS-запросы и обходить цензуру

Время на прочтение3 мин
Количество просмотров48K

Обычно резолвер сообщает каждому DNS-серверу, какой домен вы ищете. Этот запрос иногда включает ваш полный IP-адрес или его большую часть, что можно легко объединить с другой информацией, чтобы установить вашу личность. Из статьи Лин Кларк «DoH в картинках»

На Хабре неоднократно рассказывали о протоколе DNS-over-HTTPS (DoH), недавно принятом в качестве стандарта RFC 8484. Разработанный Mozilla, Google и Cloudflare протокол DNS-шифрования сводит на нет попытки мониторинга трафика «человеком-в-середине». Он устраняет самое «слабое звено» в HTTPS — открытые DNS-запросы, по которым сейчас злоумышленник может отслеживать содержимое DNS-пакетов и даже подменять их. Это позволяет блокировать доступ к ресурсу по IP-адресу или доменному имени.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии180

Поднимаем свой DNS-over-HTTPS сервер

Время на прочтение11 мин
Количество просмотров57K

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


DOH


До последнего времени, несмотря на очевидность уязвимости DNS трафика, который, до сих пор, по большей части, передаётся в открытом виде, для злонамеренных действий со стороны провайдеров, стремящихся повысить своих доходы за счёт встраивания рекламы в контент, государственных силовых органов и цензуры, а также просто преступников, процесс усиления его защиты, несмотря на наличие различных технологий, таких как DNSSEC/DANE, DNScrypt, DNS-over-TLS и DNS-over-HTTPS, буксовал. И если серверные решения, а некоторые из них существуют уже довольно долгое время, широко известны и доступны, то поддержка их со стороны клиентского программного обеспечения оставляет желать много лучшего.

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии29

История создания Ethernet-CAN конвертера

Время на прочтение6 мин
Количество просмотров15K
Одним ясным солнечным днем по работе понадобился недорогой преобразователь интерфейсов CAN в Ethernet. Естественно поиски начались с готовых решений, но, как нередко это бывает, в итоге было принято решение о разработке собственного образца. Естественно, энтузиазм автора не смог устоять и ограничиться столь «урезанным» функционалом. Что из этого вышло, каким образом и почему — под катом.

image
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии36

Ожирение — расслаблять и вовлекать

Время на прочтение35 мин
Количество просмотров24K
Точный подход к вопросу о калориях


Очевидные причины


Все знают причины появления лишнего веса. Если мало двигаешься и много ешь, то наступает ожирение. Нужно меньше есть и сжигать калории, чтобы не толстеть. Это все знают.

Также причиной ожирения называют гены, экологию, стрессы. Для борьбы предлагают раздельное питание, отказ от сладкого или мучного, регуляцию гормонов, пересадку микрофлоры и ушивание желудка. Но главное — меньше есть и больше бегать.

Без преувеличения, миллионы научных работ посвящены изучению ожирения. Еда и диваны вредны — эта очевидная истина прописана в миллиардах анекдотов, картинок и голов. Остался пустяк — выбрать подходящую диету и комплекс упражнений из сотен популярных вариантов.

Постулаты неоспоримы, хотя при переходе от теории к практике часто раздается скрип и треск. Впрочем, эти странные звуки легко заглушить звонкими аргументами: лень, неграмотность, самообман.

Трудно усомниться в очевидном. Солнце вращается вокруг Земли — не нужны доказательства тому, что видно невооруженным взглядом, не так ли? Не так.
Читать дальше →
Всего голосов 94: ↑50 и ↓44+6
Комментарии187

Опыт применения GSM модуля в домашней автоматизации

Время на прочтение9 мин
Количество просмотров40K
На даче холодно, и вы хотите за несколько часов до своего приезда туда включить обогреватель, или вас беспокоит возможность аварийного отключения системы отопления загородного дома в ваше отсутствие. Все эти проблемы можно решить с помощью GSM модуля, который умеет отправлять и получать SMS сообщения и реагировать на них, включая и выключая нужную нагрузку. В теории все просто, на практике же на пути реализации подобного устройства есть множество подводных камней.

image
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии62

Как мы запустили роботов в маленький Чернобыль. Часть 1

Время на прочтение8 мин
Количество просмотров53K

Рождение концепции Remote Reality


История нашего «безумного» проекта началась три года назад, когда размышляя о будущих перспективах развития игровой индустрии, мой друг Леша сказал: «Представь себе будущее, в котором люди в виде развлечения, из любой части мира управляют на игровом полигоне настоящими роботами, как «аватарами»».


image

Идея изначально показалась нам достаточно интересной и не сложной в реализации. Мы тут же «засели» за поиски похожих проектов и с удивлением обнаружили, что никто, ничего подобного не делал. Это казалось странным, ведь идея лежала буквально «на поверхности». Мы нашли множество следов любительских проектов создания прототипов в виде шасси с камерой на основе Arduino, но никто так и не довел ни один проект до логического завершения. Позднее, преодолевая казалось бесконечные трудности и проблемы, мы поняли причину отсутствия аналогов, но изначально идея нам казалось крайне простой и быстро реализуемой.


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


Мы сразу решили, что эти мысли укладываются больше в концепцию развлекательного аттракциона, а не компьютерной игры. Люди любят развлечения и хотят чего-то нового, и мы знали, что им предложить. Как и в любом бизнесе, сразу всплыл вопрос окупаемости, ведь на первый взгляд кажется, что наша физическая модель ограничена количеством роботов. Но умножив роботов на 24 часа и на цену часа в 5-10 долларов, сомнения отпали. Финансовая модель не являлось «Клондайком», но вполне окупалась даже при 10% загрузке.


Очень быстро у нас в голове появилось название новой концепции: Remote Reality, по аналогии с Virtual Reality и Augmented Reality.

Читать дальше →
Всего голосов 215: ↑214 и ↓1+213
Комментарии158

Датчик температуры и влажности на ардуино с отправкой и отрисовкой графика (Часть1)

Время на прочтение5 мин
Количество просмотров14K
Основной задачей проекта является мониторинг температуры в теплице удаленной от дома на 11-15 метров. Без возможности организации прокладки UTP и питания до нее.
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии26

Информация

В рейтинге
1 466-й
Откуда
Павлодар, Павлодарская обл., Казахстан
Дата рождения
Зарегистрирован
Активность