Музыкант, программист
Низкоуровневое программирование STM32: от включения питания до «Hello, World»
Конечно, разрабатывать программы для MCU STM32 можно с помощью существующих фреймворков. Это может быть ST HAL, обычный CMSIS, или даже что-то, более близкое к Arduino. Но… что тут увлекательного? Ведь, в итоге, тот, кто пользуется каким-то фреймворком, полностью зависим от документации к нему и от его разработчиков. И, с другой стороны, если документация к STM32 кажется кому-то, работающему с этой платформой, так сказать, бредом сивой кобылы, то можно ли говорить о том, что этот человек по-настоящему понимает данную платформу?
![](https://habrastorage.org/webt/pa/22/eu/pa22eudug3rtxx0-dmbef7nfas0.jpeg)
Поэтому давайте поговорим о низкоуровневом программировании STM32 и доберёмся от включения питания STM32 до «Hello, World».
Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2
Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не устроило, к тому же она была рассчитана на наличие монитора.
Конфигурирование загрузчика будем формировать для загрузки с SD карты. Поскольку NAND памяти на плате нету а все остальные варианты загрузки слегка кривоваты (у кого получиться собрать uboot для загрузки с USB носителя, пусть сделает два шага вперед и поделится). Алгоритм загрузки процессора allwinner a13 можно найти на сайте производителя. Или вот вырезка из даташита.
![](https://habrastorage.org/webt/4n/qd/wn/4nqdwnqofayue4o5x7i7it2nwmq.jpeg)
Почему я остаюсь с Лиспом (и вам тоже стоит)
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/f44/870/891/f4487089150387b338b3ca67c7c2e2c9.png)
Зрелый язык может использоваться немногими. Но он остаётся частью моей кодовой базы.
Как давнего пользователя (и активного сторонника) Scheme/Common Lisp/Racket, меня иногда спрашивают, почему я предпочитаю их. К счастью, я всегда возглавлял собственные инженерные организации, поэтому мне никогда не приходилось оправдывать это перед руководством. Но есть еще более важная аудитория - мои собственные коллеги-инженеры, которые никогда не имели удовольствия использовать эти языки. Хотя им не требуются оправдания, они все же спрашивают из интеллектуального любопытства, а иногда и из-за удивления, почему я не схожу с ума по поводу следующей крутой функции, которая будет в этом месяце добавлена в Python или Scala, или что бы там ни было в их вкусе.
DIY наушники. Как, а главное, зачем
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/756/fe3/ee4/756fe3ee4d504c120e4ae6d3aec27445.jpg)
Рассказываю, как собрать свои собственные наушники, зачем это нужно и каков результат (спойлер - очень хорош). Для постройки выбрана ленточная технология излучателей и описано то, почему она по многим параметрам предпочтительнее. Все исходники прилагаются.
RS485 — стандарт промышленных сетей. Какими особенностями обладает микросхема приемопередатчика?
![](https://habrastorage.org/webt/bm/42/wu/bm42wuwqmmcjgg0abtk-zagzevk.jpeg)
При построении сети для общения между большим количеством устройств, можно задуматься: а какой интерфейс выбрать? У каждого интерфейса есть свои плюсы и минусы, которые определяют их применение: CAN – автомобилестроение, RS485/RS232 – промышленность, Ethernet – потребительская электроника/сервера. Какие “фичи” микросхемы приёмопередатчика помогают обезопаситься от множества проблем при монтаже и эксплуатации? Как происходит процесс измерений и исследования микросхем приемопередатчиков? Новая микросхема RS485 готова к выходу на рынок!
Let's Encrypt перевел серверы БД на AMD EPYC
![](https://habrastorage.org/webt/s-/no/q5/s-noq5stmhwlk8zm_cw6wbov5kc.jpeg)
Внутреннее устройство 2U-сервера Dell PowerEdge R7525. Два серебристых прямоугольника посередине — процессоры AMD EPYC 7542. Сверху и снизу от них планки оперативной памяти по 64 ГБ каждая. На левом краю фотографии — 24 диска NVMe, такое возможно только на EPYC
Let's Encrypt — крупнейший удостоверяющий центр в интернете, на его бесплатных TLS-сертификатах работает более 235 млн сайтов. В сердце УЦ находится база данных, на основе которой происходит управление сертификатами. Важно, чтобы её производительность была на уровне, иначе мы увидим ошибки API и таймауты при выдаче сертификатов.
В конце 2020 года некоммерческая организация сделала апгрейд своих серверов.
Как книга «Электроника шаг за шагом» обрела новую жизнь
![](https://habrastorage.org/webt/o1/d4/xd/o1d4xdtiuxvmcos9nwpvdojrt2y.png)
Привет, Хабр!
Хорошие новости для тех, кто следил за историей переиздания книги Рудольфа Свореня «Электроника шаг за шагом» — книга вот-вот, на днях, покинет типографию и попадёт в руки читателей. Почему так долго пришлось ждать новое издание книги? Что изменилось в тексте? А иллюстрации всё те же? Что со схемами — по-прежнему, на МП39, с плюсовой «землей»? Будет ли электронная версия книги? На эти и другие вопросы, я попытаюсь ответить ниже.
Инженерный анализ схемы ускоренного переноса процессора Intel 8008
На нижеприведенном фото кристалла показаны главные функциональные блоки 1, включая регистры, декодер команд и хранилище стека. 8-битное арифметико-логическое устройство (АЛУ) находится слева. Над ним расположен генератор ускоренного переноса, повышающий производительность путем упреждающего вычисления переносов суммирования до выполнения самого суммирования. Немного удивительно видеть реализацию ускоренного переноса в столь ранней модели процессора. Но раз она в нем есть, то есть и повод рассказать вам о способе ее технической реализации.
![](https://habrastorage.org/webt/5f/pu/hv/5fpuhvy5vcj6lhat0w8irbr1c14.png)
Кристалл Intel 8008 и его ключевые функциональные блоки.
Разрабы работают медленно и дорого — и люди считают нас лентяями. Просто в разработке всё сложно
— Люди не из индустрии вечно не понимают программистов: что они там такое сложное делают, если видно только две кнопки? Что за непонятные слова говорят? Почему так много получают?
Вместе с парнями из подкаста «Мы обречены» решили с этим разобраться и запустили совместную рубрику, где будем объяснять, почему в разработке всё так сложно. А для тех, кто любит читать, а не слушать, парни написали эту статью.
Intel наносит ответный удар
![](https://habrastorage.org/webt/jp/xe/tx/jpxetxcru0afqjqxkrdphybco_s.png)
После более чем десятилетнего превосходства Intel уступила своему главному конкуренту, AMD. Джереми Лэрд пытался разобраться, где Intel встала на ложный путь и чем ответит противнику.
Так что же именно случилось с Intel? Когда-то безусловный лидер в производстве процессоров и микросхем сейчас уступает соперникам почти по всем возможным показателям. CPU от AMD оказались более продуманными, а технология производства от TSMC – эффективнее. Похоже, что Intel окончательно сбилась с пути.
Даже на рынке мобильных ПК, где производитель был абсолютным лидером не одно десятилетие, процессоры Intel уступили новым гибридным Renoir от AMD.
Дела обстоят настолько плохо, что Apple сообщила о планах разорвать отношения с производителем и начать выпускать собственные чипы на базе ARM. Более того, поговаривают, что сама Intel задумывается о партнёрстве с TSMC, чтобы в будущем производить отдельные виды продукции, в том числе первые пользовательские видеокарты. В сущности, это может стать для корпорации полным унижением.
Освободи свой Android
![](https://habrastorage.org/webt/gx/gk/uj/gxgkujkc_lffeakjljg1wuz-u6a.jpeg)
Некоторое время назад на Хабре вышла статья замечательной девушки fur_habr о проблемах безопасности, приватности и конфиденциальности мобильных коммуникаций и о путях решения этих проблем на платформе Android.
В момент выхода этой статьи я как-то не обратил на неё внимания — тема смартфонов и Андроида мне вообще не очень интересна. Потом, уже через несколько месяцев, я вновь случайно наткнулся на эту статью, вчитался, и проникся идеями, содержащимися в ней. Действительно, почему бы не стать хозяином своему собственному смартфону?
Вашему вниманию предлагается отчёт об эксперименте, проведённым мной по мотивам инструкций из вышеозначенной статьи и о том, что из всего этого может получиться.
Передача аналогового тв сигнала с помощью STM32
Недавно мне попалось к просмотру это видео, стало интересно как это возможно и выяснил что автор видео разогнал частоту I2S до телевизионного диапазона, а затем с помощью DMA генерировал AM сигнал. Мне захотелось повторить это, но или прошивка криво собирается, или ESP модуль оказался неподходящий. Запустить передачу телесигнала не получалось.
Затем я вспомнил что STM32 умеет выводить свой тактовый сигнал на один из пинов.
Мама, кажется я архитектор
Статья направлена на диалог о необходимости архитектора в команде. Она будет интересна тем, кто задумывается о пути своего развития, когда “все дороги уже исхожены”. Когда имеющийся богатый опыт делает твою работу “неэффективной” с точки зрения коллег. Когда тебя уже почти ничего не удивляет и каждый следующий проект это дежа вю. Ты выгораешь.
Подключение OLED дисплея ssd1306 к STM32 (SPI+DMA)
Подключение
Подключать дисплей к микроконтроллеру будем по интерфейсу SPI1 по следующей схеме:
- VDD-> +3.3В
- GND-> Земля
- SCK -> PA5
- SDA -> PA7(MOSI)
- RES-> PA1
- CS-> PA2
- DS-> PA3
![image](https://habrastorage.org/webt/x4/jl/xd/x4jlxdpn3ayax2tdynzrm9nvjb8.png)
![image](https://habrastorage.org/webt/q-/is/hc/q-ishco78ox27nrkmdwqdaldpgo.png)
Передача данных происходит по возрастающему фронту сигнала синхронизации по 1 байту за кадр. Линии SCK и SDA служат для передачи данных по интерфейсу SPI, RES — перезагружает контроллер дисплея при низком логическом уровне, CS отвечает за выбор устройства на шине SPI при низком логическом уровне, DS определяет тип данных (команда — 1/данные — 0) которые передаются дисплею. Так как с дисплея ничего считать нельзя, вывод MISO использовать не будем.
Изучаем миниатюрный шаговый двигатель
Сегодня хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Мы подробно рассмотрим их устройство и способы управления такими крошечными моторчиками.
![](https://habrastorage.org/webt/zh/sz/_x/zhsz_xl6lm4btv11g953x7e2kwa.jpeg)
Пишем свой плагин для VueJS. Как проект на VueJS трансформировать в расширение для браузера?
Вступление
В этой статье мы с вами напишем свой собственный плагин для проектов на VueJS, который трансформирует проект в расширение для браузера. Узнаем как изменять правила сборки webpack и генерировать дополнительную структуру файлов и папок.
Расширения для браузеров часто имеют всплывающие окна, которые появляются при клике на иконку расширения. Во всплывающем окне может быть авторизация, регистрация или управление настройками расширения, а возможно и любая другая логика. Мне показалось очень удобным реализовать всплывающее окно и само расширение на VueJS. Было решено написать плагин для vue-cli который трансформирует существующий проект на VueJS в расширение для браузера. А содержимое проекта будет отображаться во всплывающем окне расширения. Этот плагин уже опробован в реальном проекте по проверке объявлений перекупщиков validauto.ru и расширениях для Google Chrome, Mozilla Firefox и Microsoft Edge "Узнай кто перекуп | (validauto.ru)"
Пишем плагин для vue-cli
Сначала мы создадим папку с именем vue-cli-plugin-simple-extension. Префикс vue-cli-plugin необходим для автоматического поиска плагина в npm пакетах при вызове команды vue add simple-extension.
В папке инициализируем package следующей командой
npm init
Как изучать Machine Learning 5 дней в неделю 9 месяцев подряд
![image](https://habrastorage.org/getpro/habr/post_images/a18/28e/d52/a1828ed52228c160b559938c35b4c777.jpg)
Я изучал машинное обучение каждый день на протяжении девяти месяцев, а потом получил работу.
Я уволился из Apple. Запустил веб-стартап, но из этого ничего не вышло. Душа к этому не лежала.
Я хотел изучать машинное обучение. Это то, что меня воодушевляло. Я собирался изучить все до малейшей детали. Мне не нужно было программировать все эти правила, все сделают за меня. Но у меня не было работы.
А воодушевление не оплачивает мои счета.
По выходным я начал подрабатывать в Uber, чтобы платить за учебу.
Я обожал общаться с новыми людьми, но ненавидел постоянно быть за рулем. Пробки, тормоз, газ, постоянные мысли о бензине и заправке, воздух, кондиционер, переключение передач, куда можно и куда нельзя ехать, все эти мысли.
Я изучал машинное обучение. Днями напролет, пять дней в неделю. Было сложно. Да и сейчас не легче.
Uber по выходным. Машинное обучение по будням. Такой была моя повседневная жизнь. Я должен был учиться. Я был обязан научиться, я просто не мог водить. На тот момент у меня не было жизненной цели, но я точно знал, что это не вождение. Одним субботним вечером я заработал $280 и получил штраф в размере $290. Минус $10 за одну ночь.
Через девять месяцев после получения своей личной степени по ИИ, я нашёл работу. И это была лучшая работа в моей жизни.
Как у меня получалось заниматься каждый день?
А вот как.
Использование C и C++ в Data Science для новичков
В то время как такие языки как Python и R становятся все более популярными для науки о данных, C и C++ могут быть сильным выбором для эффективного решения задач в Data Science. В этой статье мы будем использовать C99 и C++11 для написания программы, работающей с квартетом Энскомба, о котором я расскажу далее.
О своей мотивации к постоянному изучению языков я написал в статье, посвященной Python и GNU Octave, которую стоит прочитать. Все программы предназначены для командной строки, а не для графического интерфейса пользователя (GUI). Полные примеры доступны в репозитории polyglot_fit.
Задача по программированию
Программа, которую вы напишете в этой серии:
- Считывает данные из CSV-файла
- Интерполирует данные прямой линией (т.е., f(x)=m ⋅ x + q).
- Записывает результат в файл изображения
Делаем звёздное небо на потолке при помощи оптоволокна и Arduino
![](https://content.instructables.com/F7O/JDMH/KATNDSIS/F7OJDMHKATNDSIS.LARGE.jpg)
Хотите увидеть кусочек галактики у себя на потолке? Как это сделать – рассказано ниже.
Несколько лет я мечтал о том, чтобы выполнить этот проект, и вот он, наконец, готов. На его реализацию ушло приличное время, но итоговый результат получился настолько замечательным, что оно того стоило.
Немного о самом проекте. Я старался делать всё своими руками по-максимуму, что дало мне полную творческую свободу. В итоге у меня есть созвездия северного полушария, контроль над звёздными скоплениями при помощи пульта д/у (яркость и цвет), реакция на музыку, контроль подсветки, и, что самое важное – возможность изменить всё, что угодно.
Information
- Rating
- Does not participate
- Location
- Дружковка, Донецкая обл., Украина
- Date of birth
- Registered
- Activity