реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Низкоуровневая работа с UART под Linux
Johnson
сообщение Sep 23 2006, 16:46
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 23-09-06
Из: Москва
Пользователь №: 20 619



Заранее извиняюсь, если пишу не в ту тему! Если это так прошу перенести тему куда нужно.

Вводная: есть устройство (Moxa UC-7408) с Montavista Linux (ядро 2.4) на борту. Процессор Intel XScale IXP-422 266 MHz. На борту на шине PCI имеется UART MU860 совместимый с UART 16C550C. Обслуживается драйвером от MOXA (mxser), исходники его есть в составе линукса, однако совпадает ли он с тем, что в устройстве - не знаю.

Задача: Изменить в UART регистр FCR с целью изменения RX trigger level.

Предполагаю, что надо пользовать что-то вроде outb(), но понятия не имею что брать в качестве адреса и вроде надо куда-то отражать память UART-та...

Может кто подскажет с чего начать?

Заранее спасибо!
Павел

P.S. Если кто знает форум где мне точно помогут (можно и англоязычный), то буду благодарен за наводку smile.gif
Go to the top of the page
 
+Quote Post
_artem_
сообщение Sep 23 2006, 21:47
Сообщение #2


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Посмотрите могут ли коды ioctl() помочь Вам ?
http://www.easysw.com/~mike/serial/serial.html

документ может быть и неполный , поэтому надо бы ioctl() коды для Вашей конкретной версии linux'a посмотреть.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
Johnson
сообщение Sep 23 2006, 22:39
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 23-09-06
Из: Москва
Пользователь №: 20 619



Цитата(_artem_ @ Sep 24 2006, 01:47) *
Посмотрите могут ли коды ioctl() помочь Вам ?
http://www.easysw.com/~mike/serial/serial.html

документ может быть и неполный , поэтому надо бы ioctl() коды для Вашей конкретной версии linux'a посмотреть.


Насколько я понял стандартные ioctl() позволяют многое, но не доступ к регистру FCR sad.gif
Т.е. просто так (как в виндах) настройками буффера не порулишь...
У MOXA есть несколько нестандартных, но из них пожалуй интересен только MOXA_GET_CONF он возвращает структуру
struct mxser_hwconf {
int board_type;
int ports;
int irq;
int vector;
int vector_mask;
int uart_type;
int ioaddr[MXSER_PORTS_PER_BOARD];
int baud_base[MXSER_PORTS_PER_BOARD];
moxa_pci_info pciInfo;
int IsMoxaMustChipFlag; // add by Victor Yu. 08-30-2002
int MaxCanSetBaudRate[MXSER_PORTS_PER_BOARD]; // add by Victor Yu. 09-04-2002
int opmode_ioaddr[MXSER_PORTS_PER_BOARD]; // add by Victor Yu. 01-05-2004
};
Из которой вроде можно получить адреса куда писать, но что дальше делать я не понимаю sad.gif
Вообще исходники драйвера можно найти в поиске на "mxser.c" "mxser.h" там даже видно как происходит запись в FCR, но одно дело драйвер, а другое программа...
Go to the top of the page
 
+Quote Post
_artem_
сообщение Sep 24 2006, 11:09
Сообщение #4


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Если у Вас есть возможность перкомпилировать драйвер - добавьте свой ioctl код (если обработчик ioctl находится там) и программу его обработки туда (для записи в нужный Вам регистр).
Или же как Вы сами выразились писать напрямую. Но об этом методе я не знаю, наверно надо найти как адресовать регистр в адресном пространстве, и если есть memory protection, то и возможность его обхода.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
Johnson
сообщение Sep 24 2006, 12:06
Сообщение #5





Группа: Новичок
Сообщений: 4
Регистрация: 23-09-06
Из: Москва
Пользователь №: 20 619



Возможность вроде есть, но нет уверенности, что они (MOXA) ничего не изменили в исходниках для этого девайса... Так что даже если все заработает, то все равно будет грызть червь сомнения, что что-то не так wink.gif
Да и если они прошивку обновят, не хотелось бы драйвер опять править... Короче не хочется быть зависимым от привратностей судьбы.

Вот вроде чего нарыл, попаду на работу проверю.
http://techpubs.sgi.com/library/tpl/cgi-bi..._html/ch07.html

Может и суппорт мохи чем-то более толковым разродится....
Пока они отрицают наличие RX trigger level вообще smile.gif Но я то вижу его работу...

Сообщение отредактировал Johnson - Sep 24 2006, 12:07
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01332 секунд с 7
ELECTRONIX ©2004-2016