discolux
Пункты: 2838
Регистрация: 21.06.2010
пытаюсь вывести через консоль printf "fsdfsdf" > /dec/ttyS0(1,2)
тишина.
Он вообще подключен в ядре?
sasamy
Пункты: 83556
Регистрация: 14.08.2009
Порт называется /dev/ttymxc0
discolux
Пункты: 2838
Регистрация: 21.06.2010
Да все работает. а не в курсах на какой максимальной скорости могут работать порты COM? и как обстоят дела с SPI устройствами.
Спасибо заранее!
sasamy
Пункты: 83556
Регистрация: 14.08.2009
через stty больше 921600 не выставить, теоретический максимум смотрите RM на процессор
stty -F /dev/ttymxc0 921600
драйвер spi DMA не использует, аппаратный FIFO 64 слова
discolux
Пункты: 2838
Регистрация: 21.06.2010
в исходниках imx serial тоже скорость 921600 указывается.
OlegVB
Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Попробовал работать с ком портом UART2 (откликался на /dev/ttymxc1).
Периодически возникали ошибки при вызовах tcsetattr(), помогала только перезагрузка.
Возникло предположение, что на порту не меняется скорость (нет под рукой прибора проверить). Поставил утилиту setserial, вот что на выходе
Цитата user@tmonitor:~$ sudo setserial -a /dev/ttymxc1
/dev/ttymxc1, Line 1, UART: undefined, Port: 0x0000, IRQ: 59
Baud_base: 5000000, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal
user@tmonitor:~$ sudo setserial -a /dev/ttymxc0
/dev/ttymxc0, Line 0, UART: undefined, Port: 0x0000, IRQ: 58
Baud_base: 5000000, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal
Похоже на проблемы с драйвером. Использую ubuntu_server и ядро которое там было.
Пересобрал rel_imx_3.0.35_4.1.0-sk, поставил. Порт вообще перестал работать (соединяю Tx и Rx через сопротивление и проверяю эхо). setserial вывод не изменился, но пропал /dev/ttyGS0
Подскажите, что не так.
sasamy
Пункты: 83556
Регистрация: 14.08.2009
Цитата
Периодически возникали ошибки при вызовах tcsetattr(), помогала только перезагрузка.
если не секрет - какие ?
Цитата
Поставил утилиту setserial, вот что на выходе
она не будет правильно работать c фрискейловскими уартами, сморите man setserial
Цитата
uart uart_type
This option is used to set the UART type. The permitted types are none, 8250, 16450, 16550, 16550A, 16650,
16650V2, 16654, 16750, 16850, 16950, and 16954.
используйте stty для ручной настройки и тестов
Цитата
Похоже на проблемы с драйвером.
похоже нет
Цитата
пропал /dev/ttyGS0
/dev/tty
GS 0 это виртуальный порт USB
G adget
S erial
OlegVB
Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Цитата если не секрет - какие ?
После принудительного прерывания программы tcsetattr() начинал давать ошибку, в errno было Invalid parametr.
Получается правильное ядро в архиве ubuntu_server? Не подскажите где взять его исходники?
sasamy
Пункты: 83556
Регистрация: 14.08.2009
Цитата
После принудительного прерывания программы tcsetattr() начинал давать ошибку, в errno было Invalid parametr.
проблема скорей в программе а не в ядре
Цитата
Получается правильное ядро в архиве ubuntu_server? Не подскажите где взять его исходники?
на FTP есть все исходники для всех плат
OlegVB
Пункты: 690
Регистрация: 28.04.2014
Пол: Мужчина
Из: Москва
Подниму тему.
Возникла необходимость использовать UART1, оказалось его использует u-boot и ядро под консоль
Код U-Boot 2013.10 (May 08 2015 - 07:15:56)
CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: WDOG
Board: Starterkit
DRAM: 512 MiB
Setup enet clock OK
Пытаюсь его освободить
1. В файле src/u-boot/u-boot-2013.10-sk/include/configs/wandboard.h добавил
#define CONFIG_SILENT_CONSOLE
#define CONFIG_SYS_DEVICE_NULLDEV
#define CONFIG_SILENT_CONSOLE_UPDATE_ON_SET
2. добавил "silent=1\0" \ и изменил console на ttymxc2 в #define CONFIG_EXTRA_ENV_SETTINGS
Теперь сообщения не выводятся однако при обращение к порту Linux зависает с перезагрузкой по Watchdog
Если добавить #define CONFIG_SILENT_U_BOOT_ONLY
остаются только сообщения ядра, но все равно используется порт ttymxc0. В конце загрузки ядро пишет что переключается с bootconsole на ttymxc2, т. е. игнорируется параметр console=ttymxc2
Подскажите, что еще нужно сделать?