NanoPi K2/zh
Contents
1 介绍
- NanoPi K2是友善电子专门针对工业级、商业级用户以及创客、嵌入式爱好者、电子艺术家等群体推出的一款小巧但集成了WiFi蓝牙、千兆网口、eMMC的NanoPi板。
- NanoPi K2采用 Amlogic 四核Cortex -A53架构的S905 64位处理器,GPU方面则是搭载五核的ARM Mali-450,内存为2GB DDR3.支持动态调频、调压以及睡眠唤醒功能。
- NanoPi K2配备了丰富的接口,包括HDMI 1080P完美输出,eMMC模块接口、千兆以太网口、 I2S、四个USB接口等。而且板载红外接收器,拥有独立的调试串口,丰富的GPIO口。解码能力上支持超高清4K@60fps硬件解码,支持H.265 10比特、H.264和AVS+等众多格式,能满足目前以视频播放为主的OTT的应用, 视频服务是OTT上最重要的功能,解码能力提高到了4K 10bit模式,支持Dolby,DTS,能提供4K,高保真音频的完美还原。
2 资源特性
- CPU: S905,Quad-core Cortex-A53@1.4GHz
- DDR3 RAM: 2GB
- 以太网: 10/100/1000M (RTL8211E)
- Wireless:802.11 b/g/n
- Bluetooth:4.0 dual mode
- 天线: Wi-Fi和蓝牙共用, 板载陶瓷天线, 同时提供IPX接口
- 红外:板载红外接收模块
- 音频:Via HDMI
- eMMC: 板载eMMC模块接口以及eMMC固定柱子
- I2S:板载I2S接口, 7Pin, 2.54mm排针
- SD: microSD卡槽一个
- USB Host: 4 x USB 2.0 Host, 标准A型接口
- Micro USB: 1 x USB 2.0 Client
- HDMI: HDMI 1.4a, Type A型口,1080P高清显示
- GPIO扩展接口: 40 Pin,2.54mm排针,兼容NanoPi M1,M2,树莓派等创客板
- 调试串口:4Pin,2.5mm单排针
- 按键:K1(电源按键),Reset
- LED:电源指示灯,系统状态指示灯
- PCB Size:64x60mm,6层,沉金工艺
- 供电: DC 5V/2A
3 接口布局和尺寸
3.1 接口布局
- GPIO管脚定义
Pin# Name Pin# Name 1 SYS_3.3V 2 VDD_5V 3 I2C0_SDA 4 VDD_5V 5 I2C0_SCL 6 DGND 7 GPIOD8/PPM 8 UART3_TXD/GPIOD21 9 DGND 10 UART3_RXD/GPIOD17 11 UART4_TX/GPIOB29 12 GPIOD1/PWM0 13 GPIOB30 14 DGND 15 GPIOB31 16 GPIOC14/PWM2 17 SYS_3.3V 18 GPIOB27 19 SPI0_MOSI/GPIOC31 20 DGND 21 SPI0_MISO/GPIOD0 22 UART4_RX/GPIOB28 23 SPI0_CLK/GPIOC29 24 SPI0_CS/GPIOC30 25 DGND 26 GPIOB26 27 I2C1_SDA 28 I2C1_SCL 29 GPIOC8 30 DGND 31 GPIOC7 32 GPIOC28 33 GPIOC13/PWM1 34 DGND 35 SPI2_MISO/GPIOC11 36 SPI2_CS/GPIOC10 37 AliveGPIO3 38 SPI2_MOSI/GPIOC12 39 DGND 40 SPI2_CLK/GPIOC9
- Debug Port(UART0)
Pin# Name 1 DGND 2 VDD_5V 3 UART_TXD0 4 UART_RXD0
- 7Pin I2S接口定义
Pin# Name 1 DGND 2 VDD_3.3V 3 I2S_BCK1 4 I2S_LRCK1 5 I2S_SDOUT1 6 I2S_SDIN1 7 I2S_MCLK1
- 说明
- SYS_3.3V: 3.3V电源输出
- VDD_5V: 5V电源输入/输出。当电压大于MicroUSB时,向板子供电,否则板子从MicroUSB取电。输入范围:4.7~5.6V
- 全部信号引脚均为3.3V电平,输出电流为5mA,可以带动小负荷模块,io都不能带负载
- 更详细的信息请查看原理图:[]
3.2 机械尺寸
- 详细尺寸:[]
4 快速入门
4.1 准备工作
启动NanoPi K2前,请先准备好以下硬件
- NanoPi K2主板
- TF卡: Class10或以上的 8GB SDHC卡
- 一个DC接口的外接电源,要求输出为5V/2A
- 一台支持HDMI输入的显示器或者电视(或选购LCD配件)
- 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
- 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统
4.2 经测试使用的TF卡
制作启动NanoPi K2的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:
- SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:
- SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:
- 川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:
4.3 制作一张带运行系统的SD卡
4.3.1 快速从SD卡启动NanoPi K2
首先访问[此处的下载地址]下载需要的固件文件:
- 您需要准备一张4G或以上容量的SDHC卡,该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。
固件文件列表: s905-android-sd4g-xxx.img.zip Android5.1系统固件 烧写工具: win32diskimager.rar Windows平台下的烧写工具,Linux系统可以用dd命令
- 将固件和烧写工具分别解压,在Windows下插入SD卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上, 选择你的SD卡盘符,选择你要烧写的系统固件,点击 Write 按钮烧写即可。
- 当制作完成 SD 卡后,拔出 SD 卡插入 NanoPi M2A 的 BOOT 卡槽,上电启动(注意,这里需要 5V/3A 的供电),你可以看到红灯常亮以及蓝灯闪烁,这时你已经成功启动 NanoPi M2A。
4.3.2 在Linux Desktop下通过脚本制作
- 1) 将microSD插入Ubuntu的电脑,用以下命令查看你的SD卡设备名
dmesg | tail
当dmesg输出类拟信息 sdc: sdc1 sdc2时,则表示SD卡对应的设备名为 /dev/sdc,也通过用命令cat /proc/partitions来查看。
- 2) 下载Linux下的制作脚本
git clone https://github.com/friendlyarm/sd-fuse_nanopi2.git cd sd-fuse_nanopi2
- 3) 以下是制作启动Android的SD卡的方法
su ./fusing.sh /dev/sdx
(注:/dev/sdx请替换为实际的SD卡设备文件名)
制作包中未包含Android和Debian的烧写文件,第一次使用时会提示需要下载,输入Y下载,N或10秒未输入则取消。
- 4) 以下是制作启动Debian的SD卡的方法
./fusing.sh /dev/sdx debian
4.3.3 NanoPi M2A 扩展TF卡分区
- Debian/Ubuntu系统在启动的时候,会自动扩展SD卡分区,第一次开机时自动扩展分区和根文件系统。
- Android扩展分区,要在pc上执行下列操作:
sudo umount /dev/sdx? sudo parted /dev/sdx unit % resizepart 4 100 resizepart 7 100 unit MB print sudo resize2fs -f /dev/sdx7
(注:/dev/sdx请替换为实际的SD卡设备文件名)
4.3.4 关于LCD/HDMI分辨率
系统启动时uboot会自动识别LCD,成功则会设置为该LCD的显示分辨率,失败则缺省会设置为HDMI 720P模式。
如果要修改LCD的显示分辨率,可以直接修改内核中的文件 arch/arm/plat-s5p4418/nanopi2/lcds.c , 然后重新编译内核并更新即可。
对于HDMI的显示模式,Android则是会通过EDID获得HDMI设备如电视机所支持的显示模式,然后自动选择一个合适的分辨率。如果使用的是Debian,则缺省是720P,可通过修改内核配置来切换为1080P。
4.4 在电脑上修改SD卡上的系统
如果你想在运行系统之前,先对系统做一些修改,可以参看本节内容,否则可以跳过本节。
将制作好microSD卡插入一台运行Linux的电脑,可以挂载SD卡上的boot和rootfs等分区,对分区内容进行修改,通过在以下情况下你需要进行这些操作:
1) 你想更改Kernel Command Line参数,则可以通过sd-fuse_nanopi2/tools目录下的fw_setenv工具来操作。
查看当前的Command Line:
cd sd-fuse_nanopi2/tools ./fw_printenv /dev/sdc | grep bootargs
目前的Android 5.1.1_r6启用了SELinux,缺省模式是enforcing,你可以通过Command Line来修改它,例如:
./fw_setenv /dev/sdc bootargs XXX androidboot.selinux=permissive
即可修改为permissive模式,其中上面的XXX需要替换成原来的bootargs值。
2) 更新内核
新版本的uboot在启动时如果识别到LCD,将读取SD卡boot分区的uImage,否则将读取uImage.hdmi。
对于Android来说是同一个文件,因此直接使用新编译的uImage来替换SD卡boot分区下的文件即可。
对于Debian来说,这2个文件是不相同的,使用新编译的支持LCD的uImage直接替换SD卡boot分区的文件,如果是支持HDMI的内核,则替换uImage.hdmi。
4.5 运行Android或Debian
- 将制作好SD卡插入NanoPi M2A,连接HDMI,最后接电源(5V 3A)拨动开关,NanoPi M2A会从SD卡启动。你可以看到板上PWR灯常亮,LED1灯闪烁,这说明系统已经开始启动了,同时电视上也将能看到系统启动的画面。
1)要在电视上进行操作,你需要连接USB鼠标和键盘;如果你选购了LCD配件,则可以直接使用LCD上面的触摸屏进行操作。
2)如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对NanoPi M2A进行操作。
- 以下是串口的接法。接上串口,即可调试:
- 如果提示输入密码,Debian的root用户的默认密码是两个字母fa。
4.6 通过VNC和ssh登录Debian
如果你是祼板运行系统(既没有连接LCD也没有连接HDMI),你可以使用手机或电脑到这里下载并安装一个名为VNC Viewer的软件,用VNC连接到NanoPi M2A,默认密码为:fa123456 。
以下是在iPhone上用VNC登录NanoPi M2A的画面:
你也可以通过 ssh -l root 192.168.8.1 命令在终端上登录,默认的root用户密码是 fa 。