NanoPi A64/zh

From FriendlyELEC WiKi
Revision as of 08:43, 15 December 2016 by Yonganch (Talk | contribs) (接口布局)

Jump to: navigation, search

English
此页面目前仍处于编辑状态中,请稍后查看...

1 介绍

概览
正面
背面

2 资源特性

compact01

  • CPU:Allwinner A64, Quad-core Cortex-A53@648MHz to 1.152GHz, DVFS
  • GPU:Mali400MP2@600MHz,Supports OpenGL ES2.0, OpenVG1.1
  • PMU: AXP803, 支持软件关机
  • DDR3 RAM:1GB DDR3
  • 网络:10/100/1000M以太网
  • Wi-Fi: 板载Wi-Fi模块, 支持802.11/b/g/n, 板载芯片天线和IPEX接口
  • 音频:3.5mm耳机座/Via HDMI
  • 红外:板载红外接收模块
  • USB Host:Type A型号,USB 2.0 x 2
  • MicroSD Slot:x1
  • MicroUSB :仅用来供电
  • 视频输出: HDMI 1.4 1080P高清显示, MIPI-DSI
  • DVP Camera接口:24pin,0.5mm间距竖直贴片FPC座
  • 调试串口:4Pin,2.54mm排针
  • GPIO: 40pin, 2.54mm间距,兼容RasberryPi2的扩展GPIO,含UART, SPI, I2C, PWM, IO等管脚资源
  • I2S: 7pin, 2.54mm间距, 独立I2S接口一路
  • 按键:电源按键x1
  • LED: 电源指示LED x1, 状态指示LED x1
  • PC Size: 64 x 60mm, 6层板
  • Power Supply: DC 5V/2A
  • OS/Software: u-boot,Ubuntu-MATE,Ubuntu-Core

3 接口布局和尺寸

3.1 接口布局

NanoPi A64接口布局
  • GPIO管脚定义
Pin# Name Pin# Name
1 SYS_3.3V 2 VDD_5V
3 GPIOE15/I2C2_SDA 4 VDD_5V
5 GPIOE14/I2C2_SCL 6 GND
7 GPIOD7 8 GPIOH4/UART3-TX
9 GND 10 GPIOH5/UART3-RX
11 GPIOB0/UART2-TX 12 GPIOL10/PWM_S
13 GPIOL8/I2C_S_SCL 14 GND
15 GPIOL9/I2C_S_SDA 16 GPIOH6/UART3-RTS
17 SYS_3.3V 18 GPIOH7/UART3-CTS
19 GPIOC0/SPI0-MOSI 20 GND
21 GPIOC1/SPI0-MISO 22 GPIOB1/UART2-RX
23 GPIOC2/SPI0-CLK 24 GPIOC3/SPI0-CS
25 GND 26 GPIOH8/SPDIF-OUT
27 GPIOH3/I2C1_SDA 28 GPIOH2/I2C1_SCL
29 GOIOH10 30 GND
31 GOIOH11 32 GPIOD4
33 GPIOD5 34 GND
35 GPIOD3/SPI1-MISO 36 GPIOD0/SPI1-CS
37 GPIOD6 38 GPIOD2/SPI1-MOSI
39 GND 40 GPIOD1/SPI1-CLK
  • Debug Port(UART0)
Pin# Name
1 GND
2 VDD_5V
3 UART0-TX
4 UART0-RX
  • I2S 接口定义
Pin# Name
1 GND
2 SYS_3.3V
3 GPIOB5/PCM0-BCLK
4 GPIOB4/PCM0-SYNC
5 GPIOB6/PCM0-DOUT
6 GPIOB7/PCM0-DIN
7 GPIOB3/I2S0-MCLK
  • DVP Camera IF 管脚定义
Pin# Name Description
1, 2 SYS_3.3V 3V电源输出给外部摄像头模块
7,9,13,15,24 GND 参考地, 0V
3 CAM_SCL I2C时钟信号
4 CAM_SDA I2C数据信号
5 GPIOE17 普通GPIO, 施加给外部摄像头模块的控制信号
6 GPIOE16 普通GPIO, 施加给外部摄像头模块的控制信号
8 MCLK 提供给外部摄像头模块的时钟信号
10 NC 没有连接
11 VSYNC 外部摄像头模块输出给CPU的行信号
12 HREF/HSYNC 外部摄像头模块输出给CPU的场信号
14 PCLK 外部摄像头模块输出给CPU的像数点信号
16-23 Data bit7-0 数据信号
  • MIPI-DSI 管脚定义
Pin# Name Description
1, 2, 3 VDD_5V 5V电源输出给外部供电
4,7,9,11,14,15,18,21,24,27,30 GND 参考地, 0V
5 I2C0_SDA I2C时钟信号
6 I2C0_SCL I2C数据信号
8 GPIOL7 普通GPIO
10 GPIOB2 普通GPIO
12 GPIOL12 普通GPIO
13 AP-RESET# 系统复位输出
16 MIPI-DSI-D3N
17 MIPI-DSI-D3P
19 MIPI-DSI-D2N
20 MIPI-DSI-D2P
22 MIPI-DSI-D1N
23 MIPI-DSI-D1P
25 MIPI-DSI-D0N
26 MIPI-DSI-D0P
28 MIPI-DSI-CKN
29 MIPI-DSI-CKP

3.2 机械尺寸

File:NanoPi-A64-1603B-dimensions.png

详细尺寸:

4 快速入门

4.1 准备工作

要开启你的NanoPi A64新玩具,请先准备好以下硬件

  • NanoPi A64主板
  • microSD卡/TF卡: Class10或以上的 8GB SDHC卡
  • 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
  • 一台支持HDMI输入的显示器或者电视
  • 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
  • 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统

4.2 经测试使用的TF卡

制作启动NanoPi A64的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:

  • SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:

SanDisk MicroSD 8G

  • SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:

SanDisk MicroSD 128G

  • 川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:

chuanyu MicroSD 8G

4.3 制作一张带运行系统的TF卡

4.3.1 下载系统固件

首先访问下载地址下载需要的固件文件(officail-ROMs目录)和烧写工具(tools目录):

使用以下固件:
nanopi-a64-core-qte-sd4g.img.zip 小型的Ubuntu-core系统,内含Qt Embedded图形库
nanopi-a64-ubuntu-mate-sd4g.img.zip 基于Ubuntu,使用的桌面环境是MATE-desktop
烧写工具:
win32diskimager.rar Windows平台下的Ubuntu系统烧写工具,Linux平台下可以用dd命令烧写Ubuntu系统
PhoenixCard_V310.rar Windows平台下的Android系统烧写工具,注意:Android系统固件禁止在Linux平台下用dd命令烧写
HDDLLF.4.40.exe Windows平台下用于格式化TF卡的工具

4.3.2 制作Ubuntu-core系统TF卡

将固件nanopi-a64-core-qte-sd4g.img.zip和烧写工具win32diskimager.rar分别解压,在Windows系统下插入TF卡(限4G及以上的卡),以管理员身份运行win32diskimager工具, 在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击Write按钮烧写即可。 当制作完成TF卡后,拔出TF卡插入NanoPi A64的TF卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动 NanoPi A64。

5 Ubuntu-core系统的使用

5.1 运行Ubuntu-core

  • 将制作好TF卡插入NanoPi A64,连接HDMI,最后连接电源(5V/2A),NanoPi A64会上电自动开机,看到板上的蓝色LED闪烁,这说明系统已经开始启动了,同时电视上也将能看到系统启动的画面。

1)要在电视上进行操作,你需要连接USB鼠标和键盘.
2)如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对NanoPi A64进行操作。

  • 以下是串口的接法,接上串口,即可调试。接上串口后你可以选择从串口模块的DC口或者从A64的MicroUSB口进行供电:

PSU-ONECOM-A64

  • 如果提示输入密码,Ubuntu-core的root和fa用户的默认密码都是两个字母fa。
  • 更新软件包:
apt-get update

5.2 扩展TF卡 文件系统

强烈建议做好系统运行卡之后立即进行文件系统 rootfs 分区的扩展,这将大大提升系统的性能,避免空间不足带来的各种繁琐问题。

  • 在PC机上扩展TF卡的文件系统 rootfs 分区:
sudo umount /dev/sdx?
sudo parted /dev/sdx unit % resizepart 2 100 unit MB print
sudo resize2fs -f /dev/sdx2

/dev/sdx请替换为实际的TF卡设备文件名。

5.3 通过SSH登录

NanoPi A64在加电开机前如果已正确的连接网线,则系统启动时会自动获取IP地址,如果没有连接网线、没有DHCP服务或是其它网络问题,则会导致获取IP地址失败,同时系统启动会因此等待约15~60秒的时间。 如果你不想连接HDMI或者串口模块,可以通过SSH协议登录A64。假设通过路由器查看到板子的IP地址为192.168.1.230,在PC机上执行以下命令登录板子:

ssh root@192.168.1.230

密码为fa。

5.4 HDMI输出声音

Ubuntu-core系统默认从3.5mm耳机座输出声音,想从HDMI输出需要修改文件系统上的配置文件/etc/asound.conf如下:

pcm.!default {
    type hw
    card 1
    device 0
}
 
ctl.!default {
    type hw
    card 1
}

card 0代表3.5mm耳机孔,card 1代表HDMI音频。设置完成后需要重启系统才能生效。

5.5 连接WiFi

用vi或在图形界面下用gedit编辑文件 /etc/wpa_supplicant/wpa_supplicant.conf, 在文件末尾填入路由器信息如下所示:

network={
        ssid="YourWiFiESSID"
        psk="YourWiFiPassword"
}

其中,YourWiFiESSID和YourWiFiPassword请替换成你要连接的无线AP名称和密码。
保存退出后,执行以下命令即可连接WiFi:

ifdown wlan0
ifup wlan0

如果你的WiFi密码中有特殊字符,或者你不希望明文存放密码,你可以使用wpa_passphrase命令为WiFi密码生成一个密钥(psk),用密钥来代替密码 ,在命令行下,可输入以下命令生成密钥:

wpa_passphrase YourWiFiESSID

在提示输入密码时,输入你的WiFi密码,再打开 /etc/wpa_supplicant/wpa_supplicant.conf 文件你会发现密钥已经被更新,你可以删除明文的密码了。

5.6 查看CPU工作温度

获取CPU核心的当前温度值、运行频率等信息:

cpu_freq

6 如何编译BSP

6.1 准备工作

访问此处下载地址的sources目录,下载源码nanopi-a64-bsp。
使用7-Zip工具解压后得到两个目录:lichee和android,也可以从github上克隆lichee源码:

git clone https://github.com/friendlyarm/a64_lichee.git lichee

注:lichee是全志为其CPU的板级支持包所起的项目名称,里面包含了U-boot,Linux等源码和众多的编译脚本。

编译全志A64的BSP源码包必须使用64bit的Linux PC系统,并安装下列软件包,下列操作均基于Ubuntu-14.04 LTS-64bit:

sudo apt-get install gawk git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386

6.2 编译U-boot

U-boot的源码目录为lichee/brandy/u-boot-2014.07,在brandy目录下有一个build.sh脚本可用于编译U-boot:

cd lichee/brandy
./build.sh -p sun50iw1p1

注:lichee目录里内置了交叉编译器,当使用build.sh脚本进行源码编译时,会自动使用该内置的编译器,所以无需手动安装编译器。

6.3 编译Linux内核

Linux内核的源码目录为lichee/linux-3.10,在lichee目录下有一个build.sh脚本可用于编译Linux内核:

cd lichee
echo -e "0\n2\n0\n1\n" | ./build.sh config && ./build.sh

生成的boot.img和内核驱动模块位于linux-3.10/output/目录下。

6.4 打包系统组件

cd lichee
./build.sh pack

该命令会将所有编译生成的可执行文件(包括U-boot、Linux内核)和系统配置文件拷贝到lichee/tools/pack/out/目录以便进行统一管理。
注: 只有运行该命令之后,才能生成能正常运行的U-boot文件。

6.5 更新TF卡

下列命令可用于更新TF卡上的U-boot:

cd fa_tools
./fuse_uboot.sh /dev/sdx

/dev/sdx请替换为实际的TF卡设备文件名。
boot.img和内核模块均位于linux-3.10/output目录下,将boot.img拷贝到TF卡的boot分区的根目录即可更新内核。

6.6 清理lichee源码

./build.sh -p sun50iw1p1 -k linux-3.10 -b nanopi_a64 -m clean

7 更多OS

7.1 Ubuntu-MATE

Ubuntu-MATE基于Ubuntu系统,使用的桌面环境是MATE-desktop,界面简洁易用,需配合HDMI使用,可通过ssh登录。
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。

  • 下载系统固件nanopi-a64-ubuntu-mate-sd4g.img.zip(officail-ROMs目录):点击下载
  • 将文件解压后得到系统固件,在Windows下使用友善官方提供 win32diskimager 工具烧写Ubuntu-MATE即可。
  • 烧写完成后,将TF卡插入NanoPi A64,上电即可体验Ubuntu-MATE。
  • 登录账号:root或fa ; 登录密码:fa

MATE-desktop

8 资源链接

  • 原理图
  • 尺寸图
  • A64芯片手册