Первое приближение к USB
Oct. 19th, 2012 11:21 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Сегодня наконец-то у меня что-то небольшое получилось. Отсюда я скачал проект-заготовку (если точнее, то скачал отсюда, в оригинальной статье версия нерабочая).
После некоторых изменений и отключении USART и printf (первый мне не нужен, т.к. некуда подключать, а второй вешал систему, т.к. некуда выводить), получил это.
После сборки и прошивки (make && make load) светодиод замигал, а dmesg выдал
В /dev/ появилось устройство /dev/bus/usb/001/069. Конечно, с ним пока ничего не поделаешь: использовать libusb я не хочу, т.к. есть вроде бы возможность "оформить" железяку как посредник USB→RS232, чтобы появилось устройство /dev/ttyUSBx, с которым уже можно было бы работать, как с обычным последовательным портом, безо всяких libusb. А это будет намного лучше: все равно для работы эта плата будет использовать USART, но для тестовых подключений — как раз USB (т.к. я не собираюсь таскать туда-сюда "железный" переходник USB→RS232, не для того дорогущий ARM покупался).
Итак, остается почитать спецификации: как должно себя идентифицировать устройство, чтобы система решила, что это — USB→RS232, а не какое-то "левое" устройство.
А потом — дело за малым: подрихтовать исходники (выбросить все ненужное и заменить жирную printf на самописную) и добавить своих функций.
P.S. Только вчера обнаружил "приятную неожиданность": на макетке распаяна STM32F103RBT6, а заказал я пяток STM32F103VBT6, у которых на 36 "ног" больше. Паять, конечно, замучаюсь, зато сколько можно железа лишнего навешать! Хоть пультик с LCD делай для возможности управления железом без компьютера (при всяких настройках, калибровках и т.п.).
Кстати, насчет LCD: надо будет и их штучки 3-4 заказать в следующий раз, когда буду термодатчики и всякую мелочевку заказывать (на фоне стоимости термодатчиков эти LCD — просто копеечные).
После некоторых изменений и отключении USART и printf (первый мне не нужен, т.к. некуда подключать, а второй вешал систему, т.к. некуда выводить), получил это.
После сборки и прошивки (make && make load) светодиод замигал, а dmesg выдал
[181351.201294] usb 1-1: new full-speed USB device number 69 using xhci_hcd
В /dev/ появилось устройство /dev/bus/usb/001/069. Конечно, с ним пока ничего не поделаешь: использовать libusb я не хочу, т.к. есть вроде бы возможность "оформить" железяку как посредник USB→RS232, чтобы появилось устройство /dev/ttyUSBx, с которым уже можно было бы работать, как с обычным последовательным портом, безо всяких libusb. А это будет намного лучше: все равно для работы эта плата будет использовать USART, но для тестовых подключений — как раз USB (т.к. я не собираюсь таскать туда-сюда "железный" переходник USB→RS232, не для того дорогущий ARM покупался).
Итак, остается почитать спецификации: как должно себя идентифицировать устройство, чтобы система решила, что это — USB→RS232, а не какое-то "левое" устройство.
А потом — дело за малым: подрихтовать исходники (выбросить все ненужное и заменить жирную printf на самописную) и добавить своих функций.
P.S. Только вчера обнаружил "приятную неожиданность": на макетке распаяна STM32F103RBT6, а заказал я пяток STM32F103VBT6, у которых на 36 "ног" больше. Паять, конечно, замучаюсь, зато сколько можно железа лишнего навешать! Хоть пультик с LCD делай для возможности управления железом без компьютера (при всяких настройках, калибровках и т.п.).
Кстати, насчет LCD: надо будет и их штучки 3-4 заказать в следующий раз, когда буду термодатчики и всякую мелочевку заказывать (на фоне стоимости термодатчиков эти LCD — просто копеечные).