LINUX.ORG.RU

Сообщения TeX

 

Проблема с uart в режиме rs485.

Форум — Development

Всем привет !

Имеется плата на Allwinner A40i на которой на uart4 подключеа микросхема rs485. Для переключения приема и передачи (RTS) используется отдельный пин процессора. Столкнулся со странным поведением uart приём происходит нормально, но при передаче первая отправка работает, пин автоматически поднимается, но после отправки не опускается. При этом порт виснет, ни приём ни передача не происходят. Если перезапустить приложение через которое отправляю данные, состояние rts не меняется, но можно отправлять данные, но так же один раз, а потом виснет. Долгое копание в исходниках драйвера порта и попытки отловить где проблема, привели к функции прерывания serial8250_handle_irq в файле linux/drivers/tty/serial/8250/8250_port.c. Если именно в начале или в конце прерывания вставить вывод в консоль любого текста, dev_err(port->dev, «Hello \n»); например, то все работает отлично, только консоль и логи забиваются сообщениями. Никак не могу понять в чем проблема. Зависание происходит в прерывании из-за функции spin_lock_irqsave(&port->lock, flags); Она почему-то уходит в deadlock. Вот настройка порта в dts.

&uart4 {
	compatible = "snps,dw-apb-uart";
	pinctrl-names = "default";
	pinctrl-0 = <&uart4_ph_pins>;
	status = "okay";
	rts-gpios = <PH 13 GPIO_ACTIVE_HIGH>;
	rs485-rts-delay = <0 0>;
	rs485-rts-active-high;
	linux,rs485-enabled-at-boot-time;	
};

Ядро пробовал 6.0, 6.2, 6.4 сейчас 6.5.8. Не отсылайте в гугл, я был на его последней странице по данному вопросу, ничего не принесло результатов. Подскажите в чем проблема и как ее решить ?!

 , ,

TeX
()

Установка QT для ARM

Форум — Development

Уважаемые ! Подскажите пожалуйста по такому вопросу. Поставили задачу: на pcduino (чип Allwinner A10, ubuntu на борту) написать графическое приложение, работающее с gpio ардуино. Для разработки интерфейса выбрал QT под Windows. Подскажите пожалуйста как правильно установить и настроить QTCreator под windows для того чтобы он компилировал и отлаживал код под ubuntu на проце ARM? Может есть статья или какой-то мануал ? Все, что находил в сети не подходит, или много битых ссылок на тулчейны, или подходит только для x86. Помогите с советом или поделитесь опытом уже 3-ю неделю бьюсь с этим вопросом.

 ,

TeX
()

RSS подписка на новые темы