Project

Elijah Motorny

Проект

Требовалось организовать опрос нескольких USB-устройств(джойстиков и рулей), подключенных через USB-хаб к некоторому устройству, а собранную информацию передать по каналу UART. Изначально предполагалось использовать плату STM32F4-Discovery, которая имеет на борту несколько UART и USB-host. Однако по ходу дела у меня родилась идея выполнить задачу, используя SOHO раутер с портом USB и прошивку OpenWRT. Практически все подобные раутеры имеют на плате разводку под UART, используемый для отладки и диагностики ПО раутера. По накатанной дорожке был взят раутер D-Link DIR-320, собрана прошивка OpenWRT с модулями поддержки USB HID устройств и специально пропатченным ядром, и написана программа на C для сбора информации с нескольких источников сразу. Ниже изложены основные идеи, подробнее надо читать на openwrt.org.

Применяемые инструменты

  • OpenWRT Image Builder - сборщик прошивок
  • OpenWRT toolchain - набор инструментов разработчика. Кросс-компилятор, кросс-линкер и все необходимое для сборки программ под MIPS-совместимый раутер из-под Linux/x86.
  • VMWare Player - виртуальная машина для запуска Linux и работы toolchain
  • OpenSuSE - дистрибутив Linux
  • tftp клиент
  • putty - универсальный клиент telnet/ssh/scp/com
  • input-events - пакет демо-программ для работы с USB HID под Linux

Ссылки


[Firmware Creation][Flashing Instructions][Configuring]


Related

Wiki: Firmware Creation
Wiki: Flashing Instructions