Difference between revisions of "NanoPC-T3/zh"
(→快速入门) |
(→关于LCD/HDMI分辨率) |
||
Line 420: | Line 420: | ||
如果要修改LCD的显示分辨率,可以直接修改内核中的文件 arch/arm/plat-s5p4418/nanopi2/lcds.c , 然后重新编译内核并更新即可。<br /> | 如果要修改LCD的显示分辨率,可以直接修改内核中的文件 arch/arm/plat-s5p4418/nanopi2/lcds.c , 然后重新编译内核并更新即可。<br /> | ||
对于HDMI的显示模式,Android则是会通过EDID获得HDMI设备如电视机所支持的显示模式,然后自动选择一个合适的分辨率。如果使用的是Debian,则缺省是720P,可通过修改内核配置来切换为1080P。 | 对于HDMI的显示模式,Android则是会通过EDID获得HDMI设备如电视机所支持的显示模式,然后自动选择一个合适的分辨率。如果使用的是Debian,则缺省是720P,可通过修改内核配置来切换为1080P。 | ||
+ | ===在电脑上修改SD卡上的系统=== | ||
+ | 如果你想在运行系统之前,先对系统做一些修改,可以参看本节内容,否则可以跳过本节。<br /> | ||
+ | 将制作好SD卡插入一台运行Linux的电脑,可以挂载SD卡上的boot和rootfs等分区,对分区内容进行修改,通过在以下情况下你需要进行这些操作:<br /> | ||
+ | 1) 你想更改Kernel Command Line参数,则可以通过sd-fuse_nanopi2/tools目录下的fw_setenv工具来操作。<br /> | ||
+ | 查看当前的Command Line: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd sd-fuse_nanopi2/tools | ||
+ | ./fw_printenv /dev/sdc | grep bootargs | ||
+ | </syntaxhighlight> | ||
+ | 目前的Android 5.1.1_r6启用了SELinux,缺省模式是enforcing,你可以通过Command Line来修改它,例如: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | ./fw_setenv /dev/sdc bootargs XXX androidboot.selinux=permissive | ||
+ | </syntaxhighlight> | ||
+ | 即可修改为permissive模式,其中上面的XXX需要替换成原来的bootargs值。<br /> | ||
+ | |||
+ | 2) 更新内核 <br /> | ||
+ | 新版本的uboot在启动时如果识别到LCD,将读取SD卡boot分区的uImage,否则将读取uImage.hdmi。<br /> | ||
+ | 对于Android来说是同一个文件,因此直接使用新编译的uImage来替换SD卡boot分区下的文件即可。<br /> | ||
+ | 对于Debian来说,这2个文件是不相同的,使用新编译的支持LCD的uImage直接替换SD卡boot分区的文件,如果是支持HDMI的内核,则替换uImage.hdmi。<br /> |
Revision as of 03:11, 19 April 2016
Contents
1 介绍
- NanoPC-T3是友善之臂专门针对企业用户而设计,它采用三星四核Cortex -A53架构的S5P6818处理器,NanoPC-T3与NanoPC-T2相比,除CPU更强劲,接口和布局完全与NanoPC-T2相同。NanoPC-T3动态运行主频400M-1.4GHz, NanoPC-T3配备了8GB的eMMC、音频接口、视频输入/输出接口等;并且集成了WiFi和蓝牙,增加千兆以太网和电源管理功能,板载陶瓷天线,带串口调试功能。为适应工业客户需要,NanoPC-T2加装了标配的散热片,以解决芯片发热问题。
- NanoPC-T3带两路摄像头输入,支持DVP 摄像头及MIPI-CSI摄像头,并且带四路视频输出,分别为HDMI 1.4A接口、LVDS接口、并行RGB-LCD接口、MIPI-DSI接口。并且支持RTC,板载备份电池接口,引出四个USB接口(其中两个是标准A型接口, 另外两个是2.54mm排针)等。
- NanoPC-T3流畅运行Android5.1、Debian、UbuntuCore+Qt等系统,内核驱动源码完全开源,接口丰富,系统集成完善,是企业用户首选主控板。
2 资源特性
- CPU: S5P6818, 动态运行主频400Mhz--1.4GHz
- PMU 电源管理:AXP228,支持软件关机和睡眠唤醒等
- DDR3 RAM: 1GB
- SD: 标准SD卡槽一个
- 网口: 千兆以太网接口(RTL8211E)
- Wireless:802.11 b/g/n
- Bluetooth:4.0 dual mode
- 天线: Wi-Fi和蓝牙共用, 板载陶瓷天线, 同时提供IPX接口
- eMMC:8GB
- 视频输入:DVP Camera/MIPI-CSI(双摄像头口)
- 视频输出:HDMI/LVDS/并行RGB-LCD/MIPI-DSI(四个视频输出接口)
- 音频:3.5mm耳机座/Via HDMI
- 麦克风: 板载麦克风
- USB Host: 4 x USB 2.0 Host , 其中两个是标准A型接口, 另外两个是2.54mm排针
- Micro USB: 1 x USB 2.0 Client
- LCD接口: 45pin, 0.5mm间距FPC贴片座,支持全彩TFT LCD (RGB:8-8-8)
- HDMI: HDMI 1.4a, Type A型口,1080P高清显示
- DVP Camera接口: 24pin, 0.5mm间距,FPC贴片竖座
- GPIO扩展接口: 30 Pin2.54mm排针, 包含3个UART, 1路I2C, 1路SPI, 3路PWM,11个GPIO
- 调试串口:4Pin,2.5mm间距白色座子
- 按键:K1(电源按键),Reset,
- LED:一个电源指示LED, 两个GPIO控制的LED
- 其他: K1(电源按键),Reset, GPIO控制的LED均通过2.54mm排针引出, 板载温控电阻
- RTC: 支持RTC, 板上有备份电池接口
- PCB Size:100 x 60mm,6层,沉金工艺
- 散热片螺丝孔:能加螺丝固定的散热片
- 供电: DC 5V/2A
- OS/Software: u-boot, Android5.1, Debian8
3 接口布局和尺寸
3.1 接口布局
- 30Pin GPIO管脚定义
Pin# Name Pin# Name 1 SYS_3.3V 2 DGND 3 UART2_TX/GPIOD20 4 UART2_RX/GPIOD16 5 I2C0_SCL 6 I2C0_SDA 7 SPI0_MOSI/GPIOC31 8 SPI0_MISO/GPIOD0 9 SPI0_CLK/GPIOC29 10 SPI0_CS/GPIOC30 11 UART3_TX/GPIOD21 12 UART3_RX/GPIOD17 13 UART4_TX/GPIOB29 14 UART4_RX/GPIOB28 15 GPIOB31 16 GPIOB30 17 GPIOC4 18 GPIOC7 19 GPIOC8 20 GPIOC24 21 GPIOC28 22 GPIOB26 23 GPIOD1/PWM0 24 GPIOD8/PPM 25 GPIOC13/PWM1 26 AliveGPIO3 27 GPIOC14/PWM2 28 AliveGPIO5 29 VDD_5V 30 DGND
- 20Pin LVDS接口定义
Pin# Name Pin# Name 1 SYS_3.3V 2 SYS_3.3V 3 GPIOC16 4 GPIOB18 5 DGND 6 DGND 7 LVDS_D0- 8 LVDS_D0+ 9 LVDS_D1- 10 LVDS_D1+ 11 LVDS_D2- 12 LVDS_D2+ 13 DGND 14 DGND 15 LVDS_CLK- 16 LVDS_CLK+ 17 LVDS_D3- 18 LVDS_D3+ 19 I2C2_SCL 20 I2C2_SDA
- DVP Camera接口定义
Pin# Name 1, 2 SYS_3.3V 7,9,13,15,24 DGND 3 I2C0_SCL 4 I2C0_SDA 5 GPIOB14 6 GPIOB16 8,10 NC 11 VSYNC 12 HREF 14 PCLK 16-23 Data bit7-0
- RGB LCD IF 管脚定义
Pin# Name Description 1, 2 VDD_5V 5V输出, 可以给LCD模组供电 11,20,29, 37,38,39,40, 45 DGND 参考地, 0电位 3-10 Blue LSB to MSB RGB的蓝色信号 12-19 Green LSB to MSB RGB的绿色信号 21-28 Red LSB to MSB RGB的红色信号 30 GPIOB25 普通GPIO, 用户可控制 31 GPIOC15 一线协议信号, 以实现LCD型号识别,
背光控制和电阻触摸的功能. 系统已占用, 用户不可重新设置.
32 XnRSTOUT Form CPU 系统复位时向外输出低电平 33 VDEN 指示RGB信号有效的信号 34 VSYNC 场信号 35 HSYNC 行信号 36 LCDCLK LCD频率, Pixel frequency 41 I2C2_SCL I2C2的时钟信号, 用来传输电容屏触摸数据 42 I2C2_SDA I2C2的数据信号, 用来传输电容屏触摸数据 43 GPIOC16 电容触摸中断信号, 配合I2C2使用 44 NC 没有任何连接
- MIPI-DSI接口定义
Pin# Name 1, 2, 3 VDD_5V 4 DGND 5 I2C2_SDA 6 I2C2_SCL 7 DGND 8 GPIOC0 9 DGND 10 GPIOC1 11 DGND 12 GPIOA28 13 nRESETOUT 14, 15 DGND 16 MIPIDSI_DN3 17 MIPIDSI_DP3 18 DGND 19 MIPIDSI_DN2 20 MIPIDSI_DP2 21 DGND 22 MIPIDSI_DN1 23 MIPIDSI_DP1 24 DGND 25 MIPIDSI_DN0 26 MIPIDSI_DP0 27 DGND 28 MIPIDSI_DNCLK 29 MIPIDSI_DPCLK 30 DGND
- MIPI-CSI接口定义
Pin# Name 1, 2 SYS_3.3V 3 DGND 4 I2C0_SDA 5 I2C0_SCL 6 DGND 7 SPI2_MOSI/GPIOC12 8 SPI2_MISO/GPIOC11 9 SPI2_CS/GPIOC10 10 SPI2_CLK/GPIOC9 11 DGND 12 GPIOB9 13 GPIOC2 14, 15 DGND 16 MIPICSI_DN3 17 MIPICSI_DP3 18 DGND 19 MIPICSI_DN2 20 MIPICSI_DP2 21 DGND 22 MIPICSI_DN1 23 MIPICSI_DP1 24 DGND 25 MIPICSI_DN0 26 MIPICSI_DP0 27 DGND 28 MIPICSI_DNCLK 29 MIPICSI_DPCLK 30 DGND
- 说明
- SYS_3.3V: 3.3V电源输出
- VDD_5V: 5V电源输入/输出, 输入范围:4.7~5.6V。
- 更详细的信息请查看原理图:[]
3.2 机械尺寸
- 详细尺寸:[]
- 电源接口
4 快速入门
4.1 准备工作
要开启你的NanoPC-T3新玩具,请先准备好以下硬件
- NanoPC-T3主板
- 大SD卡/: Class10或以上的 8GB SDHC卡
- 一个DC接口的外接电源,要求输出为5V/2A
- 一台支持HDMI输入的显示器或者电视(或选购LCD配件)
- 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
- 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统
4.2 制作一张带运行系统的SD卡
4.2.1 快速从SD卡启动NanoPC-T3
首先访问[/ 此处的下载地址]下载需要的固件文件:
- 您需要准备一张4G或以上容量的SDHC卡,该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。
使用LCD或HDMI作来输出的用户,使用以下固件: Debian系统固件 Android系统固件 烧写工具: win32diskimager.rar Windows平台下的烧写工具,Linux系统可以用dd命令
- 将固件和烧写工具分别解压,在Windows下插入SD卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上, 选择你的SD卡盘符,选择你要烧写的系统固件,点击 Write 按钮烧写即可。
- 当制作完成 SD 卡后,拔出 SD 卡插入 NanoPC-T3 的 BOOT 卡槽,按住靠网口位置的boot按键上电启动(注意,这里需要 5V/2A 的供电),你可以看到板上PWR灯常亮,LED1心跳闪烁,LED2不亮,这时你已经成功启动NanoPC-T3。
4.2.2 烧写系统到NanoPC-T3的eMMC
- 下载RAW Image
用于制作烧写eMMC的SD卡的RAW Image: nanopi2-eflasher-sd4g.img.zip。并且需要下载Windows下的烧写工具: win32diskimager.rar;
- 烧写RAW Image
在Windows下插入SDHC卡(限4G及以上的卡),以管理员身份运行Win32DiskImager,选择 Image File,选择你的SD卡盘符,点 Write 即开始写Image到SD卡。
- 准备好烧写到eMMC的ROM
到以下链接[1]相关Android或者Debian的Images(System-image-files-for-eMMC),下载完成后,在本地解压 .tgz 压缩包,然后将解压出来的文件(不包含目录)复制到SD卡对应的文件夹/目录。
OS Image Files Copy to... Android 5.1 android-lollipop-images.tgz
android-lollipop-images.tgz.hash.md5boot.img
system.img
userdata.img
cache.img
partmap.txt
images\android Debian (Jessie) debian-jessie-images.tgz
debian-jessie-images.tgz.hash.md5boot.img
rootfs.img
partmap.txt
images\debian
- 指定需要烧写的OS
SD卡上配置文件 images\FriendlyARM.ini 缺省是将烧写 Android,如果要烧写Debian,则只需要编辑此文件:
OS = Debian
即可,其中配置文件中”#” 开始行的是注释。
- 烧写到NanoPC-T3的eMMC
将制作好的SD卡插入NanoPC-T3,连接HDMI或LCD, 按住网口旁边标住有boot的按键,拨动电源开关,板子则会自动开始烧写,你可以通过HDMI或LCD上的显示来查看烧写状态,如果看到以下内容即表示成功,否则失败。
Android is fused successfully. All done.
烧写成功完成后,必须按复位键或重新加电, 即可从eMMC启动。
你还可以根据LED来确定烧写状态,以下是LED状态检查表:
LED闪烁状态 系统状态 LED1心跳模式闪 (连续快闪2次)
LED2灭加电后正常启动的状态
如果没有进行烧写则会保持为此状态LED1和LED2交替闪烁 (0.3s) 正在烧写系统 LED1和LED2交替的呼吸效果 (1.2s) 烧写成功 LED1和LED2同时快闪 烧写失败
4.2.3 在Linux Desktop下通过脚本制作
- 1) 将SD卡插入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.2.4 关于LCD/HDMI分辨率
系统启动时uboot会自动识别LCD,成功则会设置为该LCD的显示分辨率,失败则缺省会设置为HDMI 720P模式。
如果要修改LCD的显示分辨率,可以直接修改内核中的文件 arch/arm/plat-s5p4418/nanopi2/lcds.c , 然后重新编译内核并更新即可。
对于HDMI的显示模式,Android则是会通过EDID获得HDMI设备如电视机所支持的显示模式,然后自动选择一个合适的分辨率。如果使用的是Debian,则缺省是720P,可通过修改内核配置来切换为1080P。
4.3 在电脑上修改SD卡上的系统
如果你想在运行系统之前,先对系统做一些修改,可以参看本节内容,否则可以跳过本节。
将制作好SD卡插入一台运行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。