Как стать автором
Обновить
11
0
Стулов Тихон Сергеевич @Kudesnick33

Разработчик встраиваемых систем

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

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

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

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

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


Примеры кода из статьи: https://github.com/farcaller/arm-demos

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

ARM-ы для самых маленьких: который час?

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


Сегодня мы разберемся с двумя важными вопросами: как писать более эффективный код с CMSIS и как правильно рассчитывать скорость работы процессора. Начнем мы со второй части и изучим процессы, которые происходят в LPC1114 для генерации тактовой частоты.

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

Мини-ПК под Linux за 45 долларов

Время на прочтение1 мин
Количество просмотров96K
Компания SolidRun обновила линейку своих миниатюрных компьютеров CuBox, поставила более мощное железо и снизила цены. Вместо двух прежних моделей за 120 и 160 долларов представлено четыре модели CuBox-i по цене от 45 долларов. Все они способны декодировать видео 1080p и потребляют менее 3 Вт.

Корпус CuBox-i остался прежним: это кубик со стороной 5 см (как спичечный коробок). В зависимости от модели, кубик комплектуется интерфейсами HDMI, S/PDIF, IR, eSATA, GbE, USB, WiFi и Bluetooth. На нём работают и Android 4.2.2, и различные дистрибутивы Linux, в том числе Ubuntu, Debian и др. Уже начался приём предварительных заказов на ноябрь.
Читать дальше →
Всего голосов 80: ↑76 и ↓4+72
Комментарии115

Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP

Время на прочтение2 мин
Количество просмотров118K
TCP (Transmission Control Protocol) — основной протокол интернета. Одна из его главных задач — бороться с перегрузками в сети (network congestion), когда возникают заторы из пакетов. Регулирование осуществляется путём взаимной подстройки скорости отправки запросов, причём для этого существует множество хитрых методов. Например, в Linux используется алгоритм под названием TCP Cubic, а под Windows — Compound TCP. Кроме них, существуют ещё TCP Tahoe, Reno, NewReno, Vegas, FAST, BIC и др.

Специалисты из Массачусетского технологического института разработали программу Remy, которая методом проб и ошибок пыталась улучшить существующие алгоритмы подавления заторов TCP. Результат превзошёл все ожидания. Эффективность алгоритмов RemyCC превзошла и TCP Cubic, и Compound TCP, и остальных «конкурентов» в различных сетевых условиях. Проблема только в том, что учёные не совсем понимают, за счёт чего именно Remy удалось показать такой феноменальный результат.


Читать дальше →
Всего голосов 206: ↑174 и ↓32+142
Комментарии145

Новый Vogue. Теперь банановый

Время на прочтение3 мин
Количество просмотров97K
Прикручиваем аппаратную консоль к Transcend WiFi SDHC


Прокачаная карточка

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

Читать дальше →
Всего голосов 179: ↑173 и ↓6+167
Комментарии120

Tessel – микроконтроллер, программируемый на JavaScript

Время на прочтение1 мин
Количество просмотров20K
JavaScript уверенно продолжает своё шествие и теперь настал черёд железа.

Tessel — это микроконтроллер программируемый на JavaScript, судя по всему, ориентируемый на работу с интернетом — WiFi модуль в нём идёт по умолчанию.

Пока, к сожалению, в продаже его нет, но официальный твиттер обещает открытие предзаказов уже в сентябре, цена так же не известна (во всяком случае я не нашёл)
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии15

SOINN — самообучающийся алгоритм для роботов

Время на прочтение23 мин
Количество просмотров52K
Пост №1. Что такое SOINN

робот SOINN
SOINN – это самоорганизующаяся инкрементная нейронная сеть. Структура и алгоритм такой нейронной сети повидимому хорошо себя зарекомендовал в японской лаборатории Hasegawa (сайт — haselab.info), потому что он в итоге был взят за основу и дальнейшее развитие алгоритмов искусственного интеллекта шло путем небольших модификаций и надстроек к сети SOINN.

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

На основе SOINN созданы такие сети, как (далее представлены название сети и описание сети от ее создателей):
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии17

Корректная реализация разностной схемы ПИД регулятора

Время на прочтение7 мин
Количество просмотров86K
ПИД-регулятор является простейшим регулятором, имеющим эффективные аппаратные аналоговые реализации, и потому применяемый наиболее широко. Для своей работы требует настройки 3х коэффициентов под конкретный объект, позволяющие подобрать процесс регулирования согласно требованиям. Обладая простым физическим смыслом и простой математической записью, применяется широко и часто в регуляторах температуры, регуляторах расхода газа и других системах, где требуется поддерживать некий параметр на заданном уровне, с возможными переходами между разными заданными уровнями. Разумеется, существуют более сложные регуляторы, позволяющие более точно и быстро и с меньшими перерегулированиями выходить на заданные параметры, а так же учитывающие нелинейность или гистерезис регулируемого объекта, однако они обладают большей вычислительной сложностью и сложнее в настройке.

Несмотря на свою простоту как физического смысла, так и математической записи:

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

Причем проверить качество реализации ПИД регулятора крайне легко.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии27

ПИД-регулятор своими руками

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

I. Постановка задачи


Нужно держать температуру на заданном неком уровне и менять задание. Есть микроконтроллер, к которому прицеплены измеритель температуры, и симистор для управления мощностью. Не будем греть голову на ТАУ, ни разностными схемами, просто возьмём и сделаем «в лоб» ПИД-регулятор.
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии45

ARM-ы для самых маленьких

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


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии66

Информация

В рейтинге
4 902-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность