Npi-config/zh

From FriendlyARM WiKi
Jump to: navigation, search

English

1 简介

  • npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项、硬件接口(Serial/I2C/SPI/PWM/I2S)使能等,执行下列命令克隆仓库:
$ git clone https://github.com/friendlyarm/npi-config

在SSH终端中以root账户执行以下命令即可进入:

$ npi-config
  • npi-config的显示界面如下:

npi-config

  • npi-config目前仅支持基于Ubuntu的系统, 例如FriendlyCore、Ubuntu-oled、Ubuntu-tft, 暂时不支持在Debian系统上运行。
  • 如果你在 npi-config 中没有WiKi里描述的功能菜单,可能是因为你的 npi-config 版本太旧,连上网络, 然后利用菜单上的 Update 功能更新一下即可。
$ npi-config
	7 Update|               Update this tool to the latest version

2 Boot Options

2.1 B1 Autologin: 设置如何登录系统

有3种选择:

  • <1> Console: 开机后要求输入用户名和密码, 然后登录终端;
  • <2> Console Autologin: 开机后自动以pi用户登录终端;
  • <3> Qt/Embedded: 开机后不登录终端, 而是直接运行Qt Demo;

2.2 B2 Wait for Network at Boot: 开机时是否等待网络连接

一般设置为否, 就算是网络不通也仍然可以进入系统。

2.3 B3 Boot device: 选择启动设备

2.3.1 设置Mini Shield for NanoPi NEO Core/Core2从SSD运行系统

$ npi-config

Boot Options
然后进入 Boot Options 菜单, 选择 Boot device,然后可以看到有两个选项可供选择:
1) D1 Hard drive
2) D2 TF card
Choose Boot device
选择 D1 Hard drive,然后按提示进行操作即可。
以后要恢复回 TF 卡启动,可在上述菜单中选择 D2 TF card。

3 Advanced Options

3.1 A0 Display: 选择系统默认显示设备

该功能仅支持全志芯片系列的开发板。
Linux系统默认只从一个显示设备输出画面, 使用下列命令可以选择系统默认的显示设备:

$ npi-config
	6 Advanced Options|     Configure advanced setting
		A0 Display|         Select system default display device
			fb0| framebuffer0
                        fb1| fb_st7789v(X)

(X)表示对应的显示设备是使能的, 不同型号的板子的fb设备是不一样的, 在H3/H5的板子里fb0是HDMI, fb1是Matrix - 2'8 SPI Key TFT, 请根据实际情况进行选择, 设置完毕后需要重启系统。

3.2 A1 Audio: 选择系统默认音频设备

该功能仅支持全志芯片系列的开发板。
Linux系统默认只从一个音频设备输出音频, 使用下列命令可以选择系统默认的音频设备:

$ npi-config
	6 Advanced Options|     Configure advanced setting
		A1 Audio|           Select system default audio device
			card0| [Dummy], device 0: Dummy PCM                                
                        card1| [Loopback], device 0: Loopback PCM                          
                        card2| [H3 Audio Codec], device 0: CDC PCM Codec-0 (X)             
                        card3| [allwinner,hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0

(X)表示对应的音频card设备是使能的, 不同型号的板子的card设备是不一样的, 请根据实际情况进行选择, 设置完毕后需要重启系统。

3.3 A2 Welcome message: 使能或关闭开机欢迎界面

3.4 A3 Serial: 使能或关闭串口功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
npi-config-serial

3.5 A4 I2C: 使能或关闭I2C功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
npi-config-i2c

3.6 A5 SPI: 使能或关闭SPI功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
支持使能部分SPI设备, 包括2.8寸TFT屏幕和SPI Flash。
npi-config-spi

3.6.1 使能Matrix - 2'8 SPI Key TFT

Matrix - 2'8 SPI Key TFT是一个2.8寸的TFT显示屏, 详细的使用方法请参考: Matrix - 2'8 SPI TFT/zh, 这里只关注如何使能该配件。

$ npi-config
	6 Advanced Options|     Configure advanced settings
		A5 SPI|             Enable/Disable SPI
			spi0 Enable/Disable spi0[enabled]
				spidev0.0|   SPI0 char device
				spi-2.8'tft| Matrix-2'8_SPI_Key_TFT(X)				
				spi-flash|   SPI0 flash

(X)表示SPI0上连接的Matrix - 2'8 SPI Key TFT是使能的, 设置完毕后需要重启系统, 系统启动后屏幕上会显示校准的界面。

3.6.2 使能SPI0上的SPI Flash

$ npi-config
	6 Advanced Options|     Configure advanced setting
		A5 SPI|             Enable/Disable SPI
			spi0 Enable/Disable spi0[enabled]
				spidev0.0|   SPI0 char device
				spi-2.8'tft| Matrix-2'8_SPI_Key_TFT
				spi-flash|   SPI0 flash(X)

FriendlyElec H5/H3/H2+的Linux-4.14内核集成了"mxicy,mx25l12805d"的SPI Flash驱动,但是默认并没有使能,选择'spi-flash'后即可将其使能, 设置完毕后需要重启系统。
启动Linux系统时,看到类似下面的启动信息则说明SPI Flash被成功检测到了:

m25p80 spi0.0: mx25l12805d (16384 Kbytes)
1 ofpart partitions found on MTD device spi0.0
Creating 1 MTD partitions on "spi0.0":
0x000000000000-0x000001000000 : "spi-flash"

SPI Flash在Linux系统下的使用方法如下:

$ cat /sys/class/mtd/mtd0/size          # 以byte为单位
$ cat /sys/class/block/mtdblock0/size   # 以sector(512 byte)为单位
$ apt-get install mtd-utils 
$ flash_eraseall -j /dev/mtd0           # 格式成jffs2的格式
$ mount -t jffs2 /dev/mtdblock0 /mnt    
$ mkfs.ext4 /dev/mtdblock0              # 也格式化为ext4
$ mount -t ext4 /dev/mtdblock0 /mnt

3.7 A6 PWM: 使能或关闭PWM功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
npi-config-pwm

3.8 A7 I2S: 使能或关闭I2S功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
npi-config-i2s

3.8.1 使能NanoHat PCM5102A

npi-config-pcm5102a

3.9 A8 IR: 使能或关闭IR 接收功能

该功能仅支持全志芯片系列并且使用Linux-4.14内核的开发板。
npi-config-ir
注意: 请先检查红外接收器是否存在。
红外接收功能默认是关闭的, 可以通过npi-config使能:

$ npi-config
    6 Advanced Options     Configure advanced settings
        A8 IR              Enable/Disable IR
            ir Enable/Disable ir[enabled]

重启系统, 然后使用下列命令测试红外接收:

$ apt-get install ir-keytable
$ echo "+rc-5 +nec +rc-6 +jvc +sony +rc-5-sz +sanyo +sharp +mce_kbd +xmp" > /sys/class/rc/rc0/protocols   # 使能紅外协议
$ ir-keytable -t
Testing events. Please, press CTRL-C to abort.

ir-keytable -t用于检查是否有接收到红外信号, 使用任意遥控器发送按键信息给红外接收器, 可以看到类似下列信息:

1522404275.767215: event type EV_MSC(0x04): scancode = 0xe0e43
1522404275.767215: event type EV_SYN(0x00).
1522404278.911267: event type EV_MSC(0x04): scancode = 0xe0e42
1522404278.911267: event type EV_SYN(0x00).