Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

15 сентября 2014 г.

Вядомы пераўтваральнік USB-UART з невядомымі VID/PID у Linux

Спіс вядомых VID/PID  для кожнага пераўтваральніка прашыты ў зыходным кодзе адпаведнага драйвера. Але бываюць абставіны, калі няма магчымасці ці жадання перасабраць модуль.  Для такіх выпадкаў існуе магчымасць дадаць VID/PID дынамічна.

Робіцца гэта вельмі проста:
echo <vid> <pid> > /sys/bus/usb-serial/drivers/<module>/new_id
дзе замест <vid> і <pid> трэба запісаць патрэбныя нумары, а замест <module>  -- імя модуля.

Паслядоўнасць дзеяў цалкам:
  1. загрузіць патрэбны модуль, напрыклад cp210x
    modprobe cp210x
  2. дадаць новыя VID/PID:
    echo 0123 4567 > /sys/bus/usb-serial/drivers/cp210x/new_id
  3. далучыць прыладу.
Майце на ўвазе, што ўсе маніпуляцыі з ядром дазволены толькі карыстальніку root. Таму прывожу варыянты з ужываннем sudo:
sudo modprobe cp210x
sudo bash -c "echo 0123 4567 > /sys/bus/usb-serial/drivers/cp210x/new_id"

30 августа 2014 г.

Драйвер для віртуальнага паслядоўнага парта на μPD78F0730

Renesas Electronics вырабляе некаторыя адладачныя платы з убудаваным адладчыкам. Напрыклад, платы YRPBRL78G1x [1] маюць пераўтваральнік USB-UART, пабудаваны на мікрасхеме μPD78F0730 [2]. Такім чынам, атрымліваецца, што стварыць прашыўку для гэтай платы над Linux магчыма, а запраграміраваць -- не, бо не існуе драйвера для пераўтваральніка.

Узброіўшыся апісаннем пратакола [3], я вырашыў напісаць драйвер. Тое, што не было апісана, прыйшлося падслухоўваць у драйвера для Windows.

Драйвер: https://github.com/msalau/upd78f0730-driver

Пераўтваральнік з гэтым драйверам здольны:
  • выстаўляць наладкі хуткасці, даўжыні дадзеных, цотнасці, колькасць стоп-бітаў, апаратнае кіраванне патокам;
  • кіраваць станам сігналаў RTS ды DTR;
  • ствараць сігнал BREAK.
Запраграміраваць плату можна пры дапамозе rl78flash
rl78flash -aim3 /dev/ttyUSB0 ./firmware.mot

[1] YRPBRL78G13, YRPBRL78G14
[2] UPD78F0730 microcontroller
[3] Application Note: μPD78F0730 USB-to-Serial Conversion Software