2013-10-11 2 views
0

죄송합니다.이 질문에 대한 잘못된 장소 인 경우 사과드립니다. 현재 문제가 어느 수준인지 확신 할 수 없으므로 베팅을 조금 내 렸습니다.ttyS1/uart1이 초기화되었지만/dev/ttyS1을 통해 액세스 할 수 없음

시스템은 TI 고유의 SDK/LSP/BusyBox 커널을 실행하는 LeopardBoard DM368입니다.

기본적으로 시스템에는 bootargs console=ttyS0,115200n8 earlyprintk을 통해 사용/호출되는/dev/ttyS0으로 마운트 된 UART0이 활성화되어 있습니다.

우리는 UART1을은/dev/ttyS1과, 그래서 등 부팅에

pinmux, 시계를 설정하는 낮은 수준의 보드 초기화 코드를 통과 한 낮은 수준의 초기화 보고서와 같은 (사용하려면

[ 0.547812] serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A 
[ 0.569849] serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A 

을하지만, 포트 (안정적)는/dev /에 표시되지 않습니다, 그 상태 불일치 (이 있습니다 : 나는 그것이 UART1을 활성화, 그리고 드라이버 코드가 너무 행복을보고하는)에서 추가의 printk 년대를 통해 흐름 제어 비트)을 보내고 있습니다.

나는 포트가 완벽하게 작동하고, ttyS0에 올바르게 초기화 너무 작동합니다 console=ttyS1,115200n8 earlyprintk에 bootargs를 변경하는 경우,

>: stty -F /dev/ttyS1 
stty: /dev/ttyS1: Inappropriate ioctl for device 

기이 : 나는 명령 행에서이를 수정하려고하면 363,210

cat /proc/tty/driver/serial 
serinfo:1.0 driver revision: 
0: uart:16550A mmio:0x01C20000 irq:40 tx:97998 rx:0 CTS|DSR 
1: uart:16550A mmio:0x01D06000 irq:41 tx:0 rx:0 DSR 

는 오류가 발생합니다 :

cat /proc/tty/driver/serial 
serinfo:1.0 driver revision: 
0: uart:16550A mmio:0x01C20000 irq:40 tx:0 rx:0 CTS|DSR 
1: uart:16550A mmio:0x01D06000 irq:41 tx:11563 rx:0 RTS|DTR|DSR 

자, 잘 될 것이다, 그러나 우리의 차 COMMS에 대한 ttyS1과를 ttyS0에 모든 콘솔 물건을 유지하고있는 것이 좋을 것이다, 그래서 우리의 부트 로더는 UART0을 사용해야합니다. 내가 serial_core.c로의 printk 년대의 몇 가지를 삽입하며, 나는 그것이 수정이 필요 리눅스 초기화/시작 순서에 뭔가가 있으리라 믿고있어() uart_open이 ttyS1과 요구되고 있지 않습니다처럼 보인다 :

편집를 추가 ?

가 나도 커널 코드, 초기화 순서대로 몇 가지 분명한/바보 같은 일을 놓친 적이 전적으로 가능 그래서 내가 지금은 튼튼한 리눅스 해커 아니에요 상태 것이다

어떤 생각을 크게 고맙다!

답변

0

리눅스 보드에서 멋진 문제가 해결되었으므로 어딘가에 mknod /dev/ttyS1 c 4 65을 삽입해야합니다.

은 아주 이유는 (분명히) ttyS0 위해 발생 또는 중 포트는 나도 몰라 console,하지만 지금 모든 문제는 작동 입니다!

내 자신의 지식/미래 세대를 환영하는 이유에 대한 덧글/추가 정보.

관련 문제