1. 程式人生 > >can't open /dev/ttyAMA0: No such device or address

can't open /dev/ttyAMA0: No such device or address

今天終於找到了這個問題的原因。

原來我是這樣建立  ttyAMA0 的:

mknod  ttyAMA0 c 204 16
這樣建立的問題是 minor number 不是可以隨意設定的,它有固定的值, 是64.

所以,正確的方法是:

mknod ttyAMA0 c 204 64

我們可以在linux 核心程式碼 裡找到根據(drivers/tty/serial/amba-pl011.c): 
#define SERIAL_AMBA_MAJOR   204
#define SERIAL_AMBA_MINOR   64

順便說一下, AMA是 Advanced Microcontroller Bus Architecture的縮寫,是ARM的一款 UART裝置(ARM AMBA PL011)