Difference between revisions of "NanoPi"
(→制作microSD卡镜像文件) |
(→制作可启动的microSD卡) |
||
Line 267: | Line 267: | ||
./mkrootfs.sh /dev/sdd | ./mkrootfs.sh /dev/sdd | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ====使用自己编译的文件==== | ||
+ | 在成功编译U-Boot、Linux kernel和Rootfs后,只需要把生成文件即 u-boot.bin、zImage、rootfs.tgz 复制到 prebuilt 目录,替换原文件,再重新全部烧写一次即可。 | ||
==扩展连接== | ==扩展连接== |
Revision as of 08:00, 21 July 2015
1 介绍
NanoPi是友善之臂专门为嵌入式Linux爱好者、创客、玩家设计的一款低功耗ARM主控板,它的尺寸只有Raspberry Pi(RPi)的一半大小,并且兼容RPi的GPIO接口,NanoPi集成无线WiFi和蓝牙4.0模块,并带有并行摄像头接口,和全彩LCD接口,可从TF卡运行Linux/Debian系统,非常适合物联网、无线智能小车、机器人、图像识别、人机界面等应用开发。
2 资源特性
- CPU: Samsung S3C2451, 运行主频400Mhz
- RAM: 64M DDR2
- 集成SDIO WiFi蓝牙模块
- USB Type A x1
- 调试串口 x1
- microSD Slot x1
- microUSB x1: 支持供电和数据传输,可模拟为串口和以太网
- LCD接口: 0.5mm间距贴片FPC座,支持全彩LCD (RGB:8-8-8)
- DVP Camera接口:0.5mm间距竖直贴片FPC座,包含ITU-R BT 601/656 8-bit,I2C和IO
- GPIO1: 2.54mm间距,40pin, 兼容RPi的GPIO,含UART, SPI, I2C, IO等管脚资源
- GPIO2: 2.54mm间距, 12pin, 含I2S, I2C, UART等管脚资源
- PCB 尺寸: 75 x 30 mm
- 供电: DC 5V
- 软件支持: u-boot, Linux-4.1+Qt-4.8.5, Debian
3 接口布局和尺寸
3.1 接口布局
- GPIO1 管脚定义
- GPIO2 管脚定义
Pin# Name Pin# Name 1 VDD_5V 2 VDD_SYS_3.3V 3 TXD2 4 RXD2 5 SDA0 6 SCL0 7 IISSDO0 8 IISSDI0 9 IISSCLK0 10 IISLRCK0 11 IISCDCLK0 12 DGND
- Debug Port CON1(UART0)
Pin# Name 1 DGND 2 VDD_5V 3 TXD0 4 RXD0
- DVP Camera IF 管脚定义
Pin# Name 1, 2 VDD_SYS_3.3V 7,9,13,15,24 DGND 3 SCL0 4 SDA0 5 GPH13 6 GPJ12 8 XCLK 10 NC 11 VSYNC 12 HREF 14 PCLK 16-23 Data bit7-0
- RGB LCD IF 管脚定义
Pin# Name 1, 2 VDD_5V 11,20,29 DGND 3-10 Blue LSB to MSB 12-19 Green LSB to MSB 21-28 Red LSB to MSB 30 GPG12 31 GPG2 32 XnRSTOUT Form CPU 33 VDEN 34 VSYNC 35 HSYNC 36 LCDCLK 37,38,39,40 XM,XP,YM,YP
- 说明
- VDD_SYS_3.3V: 3.3V电源输出
- VDD_5V: 5V电源输入/输出。当电压大于MicroUSB时,向板子供电,否则板子从MicroUSB取电。输入范围:4.7~5.6V。
- 更详细的信息请查看原理图:NanoPi-1507-Schematic.pdf
3.2 机械尺寸
- 需要更详细的尺寸请下载: NanoPi-1507-Dimesions(dxf).zip
4 快速入门
4.1 准备工作
要开启你的NanoPi新玩具,请先准备好以下硬件
- NanoPi主板
- microSD卡/TF卡: 最小系统需要15M,卡的容量您看着办
- microUSB线
- 一台运行Windows7/Linux的电脑
4.2 下载并烧写Linux系统镜像文件
- 下载地址
- 下载系统镜像文件:
- 下载烧写工具::
4.3 运行系统
- 把制作好的microSD卡插入NanoPi,使用microUSB线连上电源,稍等片刻,看到板上的蓝色LED开始闪烁,这说明系统已经开始正常运行了
4.4 通过microUSB登陆NanoPi
4.5 配置使用WiFi
4.6 配置使用蓝牙
5 如何制作自己的microSD卡烧写镜像文件
5.1 编译U-Boot
5.1.1 下载源代码
git clone https://github.com/friendlyarm/uboot_nanopi.git
下载完成后,u-boot的缺省分支是nanopi,在开始编译前,请检查当前分支是否为nanopi,如果不是则需要先checkout。
cd uboot_nanopi git checkout nanopi
5.1.2 配置并编译u-boot
cd uboot_nanopi make nanopi_config make
5.1.3 烧写u-boot 到SD卡
编译成功结束后您将获得u-boot.bin, 如果想马上就测试u-boot,可使用脚本fusing.sh 烧写新的u-boot 到SD 卡。
假设您的 SD 卡对应设备名是/dev/sdd,则命令如下:
./fusing.sh /dev/sdd
注意:以上操作会破坏SD卡的数据,请先进行备份。
5.2 编译Linux kernel
5.2.1 下载内核源代码
git clone https://github.com/friendlyarm/linux-4.x.y.git
适应于NanoPi的分支是nanopi-v4.1.y,在开始编译前,请检查当前分支是否正确,如果不是则需要先checkout。
cd linux-4.x.y git checkout nanopi-v4.1.y
5.2.2 配置并编译内核
cd linux-4.x.y make nanopi_defconfig make
如果您的PC是多核的CPU,可以make的参数"-j, --jobs" 来加快编译,例如:
make -j8
编译成功结束后,新生成内核烧写文件为 arch/arm/boot/zImage 。
5.3 编译制作Rootfs
5.3.1 下载源代码
git clone https://github.com/friendlyarm/rootfs_nanopi.git
适应于NanoPi的分支是nanopi,在开始编译前,请检查当前分支是否正确,如果不是则需要先checkout。
cd rootfs_nanopi git checkout nanopi
5.3.2 编译Rootfs
cd rootfs_nanopi make && make install
如果您的PC是多核的CPU,可以make的参数"-j, --jobs" 来加快编译,也可以先定义alias,例如:
make -j8 && make -j8 install alias make='make -j8'
编译成功结束后,将看到以下信息,重点是编译好的rootfs 存放位置。
RootFS (core) successfully installed to: /tmp/FriendlyARM/nanopi/rootfs Copyright 2015 FriendlyARM (http://www.arm9.net/)
如果没有看到以上信息,则说明编译失败了,请检查编译时显示的信息以定位是编译哪部分时出错了,同时还请检查PC的开发环境。
编译生成的rootfs中的可执行程序和库是包含调试用的符号信息,可去除这些符号信息来减小rootfs的体积。
make strip
5.3.3 创建压缩包
cd /tmp/FriendlyARM/nanopi tar czvf rootfs.tgz rootfs/
5.4 制作可启动的microSD卡
5.4.1 下载源代码
git clone https://github.com/friendlyarm/sd-fuse_nanopi.git
适应于NanoPi的分支是master,在开始编译前,请检查当前分支是否正确,如果不是则需要先checkout。
cd sd-fuse_nanopi git checkout master
5.4.2 烧写U-Boot和Linux kernel到SD卡
prebuilt目录下已包含编译好的u-boot.bin 和 zImage,使用脚本fusing.sh 即可快速的创建SD卡的分区,同时再将它们烧写到卡上。
以下操作将破坏您卡上已有的数据,请先进行备份。
准备好后,假设SD卡的设备名是 /dev/sdd,以root用户运行以下命令即可。
cd sd-fuse_nanopi ./fusing.sh /dev/sdd
由于修改了SD卡的分区表,在烧写rootfs 前需要使新的分区表生效,可以重新插拨一次卡,也可以使用以下命令:
partx -u /dev/sdd
然后,您可以查看 /proc/partitions 是否包含 2 个分区,其中较大的分区 sdd2 将用于存放 rootfs。
5.4.3 烧写Rootfs
检查分区正确后,可使用脚本 mkrootfs.sh 来格式化SD卡分区并烧写rootfs,请以root用户运行以下命令。
./mkrootfs.sh /dev/sdd
5.4.4 使用自己编译的文件
在成功编译U-Boot、Linux kernel和Rootfs后,只需要把生成文件即 u-boot.bin、zImage、rootfs.tgz 复制到 prebuilt 目录,替换原文件,再重新全部烧写一次即可。
6 扩展连接
6.1 连接使用摄像头模块
6.2 连接使用TFT LCD
6.3 连接使用Matrix入门DIY套件
7 玩转NanoPi
7.1 制作一台4.3英寸小电脑
7.2 制作无线智能小车
8 资源链接
- GitHub:
- Schematic: NanoPi-1507-Schematic.pdf
- Dimensions: NanoPi-1507-Dimesions(dxf).zip