Difference between revisions of "Smart4418/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(快速从SD卡启动 Smart4418)
(运行Android或Debian)
Line 296: Line 296:
  
 
===运行Android或Debian===
 
===运行Android或Debian===
*将制作好SD卡插入NanoPC-T2,连接HDMI,按住靠近网口的boot按键,最后接电源(5V 2A)拨动开关,NanoPC-T2会从SD卡启动。你可以看到板上红灯常亮,PWR绿灯闪烁,这说明系统已经开始启动了,同时电视上也将能看到系统启动的画面。<br />
+
*将制作好SD卡插入Smart4418,连接HDMI,拨动S2开关到“SDBOOT”一侧,最后接电源(5V 2A)拨动开关,Smart4418会从SD卡启动。你可以看到板上PWR灯常亮,LED1灯闪烁,这说明系统已经开始启动了,同时电视上也将能看到系统启动的画面。<br />
 
1)要在电视上进行操作,你需要连接USB鼠标和键盘;如果你选购了LCD配件,则可以直接使用LCD上面的触摸屏进行操作。<br />
 
1)要在电视上进行操作,你需要连接USB鼠标和键盘;如果你选购了LCD配件,则可以直接使用LCD上面的触摸屏进行操作。<br />
2)如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对NanoPC-T2进行操作。<br />
+
2)如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对Smart4418进行操作。<br />
 
*以下是串口的接法。接上串口,即可调试:
 
*以下是串口的接法。接上串口,即可调试:
[[File:PSU-ONECOM02.png|frameless|400px|PSU-ONECOM02]]
+
[[File:PSU-ONECOM03.png|frameless|400px|PSU-ONECOM03]]
 
*如果提示输入密码,Debian的root用户的默认密码是两个字母fa。
 
*如果提示输入密码,Debian的root用户的默认密码是两个字母fa。
  

Revision as of 07:14, 7 March 2016

English

1 介绍

frameless
frameless
frameless
  • Smart4418是友善之臂专门为企业用户设计的一款高性能,高集成度的四核Cortex-A9工业级核心板。它采用三星S5P4418主控芯片,运行主频可高达1.4Ghz,标配1GB DDR3内存和8GB eMMC闪存。Smart4418核心板采用了高质量镀金2.0mm间距双排针,总共有174个管脚,可完全兼容替换Smart210核心板,共用相同底板,非常方便用户升级换代。另外,三星另一款芯片S5P6818,它基于八核Cortex-A53架构,运行主频可高达1.4Ghz,与S5P4418可pin to pin完全兼容,用户可以根据自己的产品项目需求,选择更高级的Smart6818(即将推出)。

2 资源特性

  • CPU: S5P4418, 动态运行主频400Mhz--1.4GHz
  • PMU 电源管理:AXP228,支持软件关机和睡眠唤醒等
  • DDR3 RAM: 1GB
  • 网络: 千兆以太网接口(RTL8211E), 板载唯一MAC地址芯片
  • eMMC:8GB
  • 音频:集成音频芯片, 支持麦克风输入和耳机输出
  • LED:一个电源指示LED, 两个GPIO控制的LED
  • 其他: 板载温控电阻
  • PCB Size: 74x55mm,6层,沉金工艺
  • 供电: DC 5V, up to 1.2A
  • OS/Software: u-boot, Android5.1, Debian8, ubuntu-core
  • 3个2.0mm排针, 共174针, 引出以下信号:
    • USB 2.0 - Host x1, OTG x1
    • 视频输出/显示 - RGB Parallel I/F (24-bit), LVDS 和HDMI 1.4a
    • 视频输入 - DVP Camera interface, ITU-R BT 601/656 8-bit 和 MIPI-CSI
    • 音频输入 - 麦克风输入
    • 音频输出 - 耳机输出(带插入检测)和HDMI
    • 网络 - 10/100/1000Mbps 以太网 x1
    • ADC - CPU自带ADC, 7通道, 12-bit, 输入范围0~1.8V
    • 外围接口 - SDIO/MMC x2, SPI x2, I2C x3, UART x5, PWM x3, GPIOs x24
    • 其他 - Power按键输入, RESET输入, RESET输出, RTC电池输入

3 管脚定义

P1 P2
Pin# Name Pin# Name Pin# Name Pin# Name
1 VDD_5V 2 DGND 1 UART0_TX 2 UART0_RX
3 RTC_BATT 4 GPIOB8 3 UART1_TX 4 UART1_RX
5 NRESETIN 6 GPIOC17 5 UART2_TX 6 UART2_RX
7 MMC0_CMD 8 MMC1_CMD 7 UART3_TX 8 UART3_RX
9 MMC0_CLK 10 MMC1_CLK 9 UART1_nCTS 10 UART1_nRTS
11 MMC0_D0 12 MMC1_D0 11 CAM0_D0 12 CAM0_D1
13 MMC0_D1 14 MMC1_D1 13 CAM0_D2 14 CAM0_D3
15 MMC0_D2 16 MMC1_D2 15 CAM0_D4 16 CAM0_D5
17 MMC0_D3 18 MMC1_D3 17 CAM0_D6 18 CAM0_D7
19 MMC0_CD 20 GPIOB24 19 CAM0_PCLK 20 CAM0_VSYNC
21 PWRKEY 22 SPI1_CS/GPIOC10 21 CAM0_HYNC 22 GPIOB14
23 GPIOB28/UART4_RX 24 SPI1_MISO/GPIOC11 23 GPIOB16 24 HDMI_TX1P
25 GPIOB29/UART4_TX 26 SPI1_MOSI/GPIOC12 25 HDMI_TX0P 26 HDMI_TX1N
27 GPIOB30 28 SPI1_CLK/GPIOC9 27 HDMI_TX0N 28 HDMI_TXCP
29 GPIOC15 30 GPIOC16 29 HDMI_TX2P 30 HDMI_TXCN
31 GPIOB31 32 GPIOB18 31 HDMI_TX2N 32 HDMI_HPD
33 GPIOD1/PWM0 34 I2C0_SCL 33 I2C1_SDA 34 I2C1_SCL
35 GPIOC13/PWM1 36 I2C0_SDA 35 USB_OTG_ID 36 SPI0_CS
37 USB_HOST_D- 38 I2C2_SCL 37 USB_OTG_D- 38 SPI0_MISO
39 USB_HOST_D+ 40 I2C2_SDA 39 USB_OTG_D+ 40 SPI0_MOSI
41 LCD_B0 42 LCD_B1 41 VBUS_5V 42 SPI0_CL
43 LCD_B2 44 LCD_B3 43 LVDS_CLKP 44 GPIOB25
45 LCD_B4 46 LCD_B5 45 LVDS_CLKM 46 DGND
47 LCD_B6 48 LCD_B7 47 LVDS_Y0P 48 LAN_MDI1_N
49 LCD_G0 50 LCD_G1 49 LVDS_Y0M 50 LAN_MDI1_P
51 LCD_G2 52 LCD_G3 51 LVDS_Y1P 52 LAN_MDI0_N
53 LCD_G4 54 LCD_G5 53 LVDS_Y1M 54 LAN_MDI0_P
55 LCD_G6 56 LCD_G7 55 LVDS_Y2P 56 LINK_LED
57 LCD_R0 58 LCD_R1 57 LVDS_Y2M 58 SPEED_LED
59 LCD_R2 60 LCD_R3 59 LVDS_Y3P 60 DGND
61 LCD_R4 62 LCD_R5 61 LVDS_Y3M 62 HP_DETECT
63 LCD_R6 64 LCD_R7 63 HP-R 64 HP-L
65 LCD_VSYNC 66 LCD_HSYNC 65 LAN_MDI2_P 66 LAN_MDI3_P
67 LCD_CLK 68 LCD_DE 67 LAN_MDI2_N 68 LAN_MDI3_N
69 DGND 70 BOOT_CS 69 Mic-P 70 Mic-N
P4
Pin# Name Pin# Name
1 MIPICSI_DP0 2 GPIOD8/PPM
3 MIPICSI_DN0 4 GPIOC7
5 MIPICSI_DP1 6 GPIOC8
7 MIPICSI_DN1 8 GPIOC24
9 MIPICSI_DP2 10 GPIOC28
11 MIPICSI_DN2 12 GPIOC0
13 MIPICSI_DP3 14 GPIOC1
15 MIPICSI_DN3 16 GPIOC2
17 MIPICSI_DPCLK 18 GPIOC3
19 MIPICSI_DNCLK 20 DGND
21 GPIOB9 22 ADC1
23 GPIOB26 24 ADC3
25 AliveGPIO5 26 ADC4
27 AliveGPIO3 28 ADC5
29 IO_REF_OUT,3.3V 30 ADC6
31 GPIOC14/PWM2 32 ADC7
33 NRESETOUT 34 DGND
说明
  1. VDD_5V:给核心板供电的电源输入脚,输入范围4.7-5.6V,推荐5V/1.2A(MAX), 通过降频降压, 可以有效降低功耗: 主频每降低200MHz, 功耗大概降低0.5W
  2. BOOT_CS: 启动模式选择,悬空或高电平为eMMC启动,低电平为SD启动
  3. NRESETIN:复位信号输入,低电平有效。此信号核心板的CPU提供复位信号,外部只需接一个按键就可以
  4. NRESETOUT: 复位信号输入,低电平有效。此信号核心板是的CPU输出的复位信号, 可以提供给外围电路使用
  5. RTC_BATT:RTC备份电池输入,直接接3V电池。核心板上电后由板子内部的3.3V给RTC供电,不上电时由备份电池供电,自动切换
  6. ADC1~7:CPU自带的12-Bit ADC输入,通道1~7,采集范围:0-1.8V
  7. 10/100M以太网模式: LAN_MDI1_N/P=RX-/+, LAN_MDI0_N/P=TX-/+, 也即只需4根信号线连接到带变压器的RJ45连接器
  8. 10/100/1000M以太网模式: LAN_MDI0_N/P~LAN_MDI3N/P, 也即需要把全部8根信号线连接到带变压器的RJ45连接器
  9. 具体外围及扩展电路请参考我们设计的底板Smart210/4418 SDK

4 机械尺寸

5 参考开发底板

Smart210/4418 SDK

6 快速入门

6.1 准备工作

要开启你的Smart4418开发板,请先准备好以下硬件

  • Smart4418核心主板+Smart210 SDK底板
  • 大SD卡/: Class10或以上的 8GB SDHC卡
  • 一个DC接口的外接电源,要求输出为5V/2A
  • 一台支持HDMI输入的显示器或者电视(或选购LCD配件)
  • 一套USB键盘鼠标,同时连接还需要USB HUB (或选购串口转接板,要PC上进行操作)
  • 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统

6.2 制作一张带运行系统的SD卡

6.2.1 快速从SD卡启动 Smart4418

首先访问此处的下载地址下载需要的固件文件:

  • 您需要准备一张4G或以上容量的SDHC卡,该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。
使用LCD或HDMI作来输出的用户,使用以下固件:
nanopi2-debian-sd4g.img.zip Debian系统固件
nanopi2-android-sd4g.img.zip Android系统固件
烧写工具:
win32diskimager.rar Windows平台下的烧写工具,Linux系统可以用dd命令
  • 将固件和烧写工具分别解压,在Windows下插入SD卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上, 选择你的SD卡盘符,选择你要烧写的系统固件,点击 Write 按钮烧写即可。
  • 当制作完成 SD 卡后,拔出 SD 卡插入 Smart4418 的 BOOT 卡槽,并把开发板上S2开关设置为“SDBOOT”模式,开机后(注意,这里需要 5V/2A 的供电),你可以看到核心板板上PWR灯常亮,LED1 灯闪烁,LED2不亮,这时你已经成功启动Smart4418。

6.2.2 烧写系统到Smart4418的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.md5
boot.img
system.img
userdata.img
cache.img
partmap.txt
images\android
Debian (Jessie) debian-jessie-images.tgz
debian-jessie-images.tgz.hash.md5
boot.img
rootfs.img
partmap.txt
images\debian
  • 指定需要烧写的OS

SD卡上配置文件 images\FriendlyARM.ini 缺省是将烧写 Android,如果要烧写Debian,则只需要编辑此文件:

OS = Debian

即可,其中配置文件中”#” 开始行的是注释。

  • 烧写到Smart4418的eMMC

将制作好的SD卡插入Smart4418,连接HDMI或LCD, 按住网口旁边标住有boot的按键,拨动电源开关,板子则会自动开始烧写,你可以通过HDMI或LCD上的显示来查看烧写状态,如果看到以下内容即表示成功,否则失败。

Android is fused successfully. 
All done.

烧写成功完成后,必须按复位键或重新加电, 即可从eMMC启动。

你可以根据LED来确定烧写状态,以下是状态检查表
LED闪烁状态 系统状态
LED1心跳模式闪 (连续快闪2次)
LED2灭
加电后正常启动的状态
如果没有进行烧写则会保存为此状态
LED1和LED2交替闪烁 (0.3s) 正在烧写系统
LED1和LED2交替的呼吸效果 (1.2s) 烧写成功
LED1和LED2同时快闪 烧写失败

6.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

6.2.4 关于LCD/HDMI分辨率

系统启动时uboot会自动识别LCD,成功则会设置为该LCD的显示分辨率,失败则缺省会设置为HDMI 720P模式。
如果要修改LCD的显示分辨率,可以直接修改内核中的文件 arch/arm/plat-s5p4418/nanopi2/lcds.c , 然后重新编译内核并更新即可。
对于HDMI的显示模式,Android则是会通过EDID获得HDMI设备如电视机所支持的显示模式,然后自动选择一个合适的分辨率。如果使用的是Debian,则缺省是720P,可通过修改内核配置来切换为1080P。

6.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。

6.4 运行Android或Debian

  • 将制作好SD卡插入Smart4418,连接HDMI,拨动S2开关到“SDBOOT”一侧,最后接电源(5V 2A)拨动开关,Smart4418会从SD卡启动。你可以看到板上PWR灯常亮,LED1灯闪烁,这说明系统已经开始启动了,同时电视上也将能看到系统启动的画面。

1)要在电视上进行操作,你需要连接USB鼠标和键盘;如果你选购了LCD配件,则可以直接使用LCD上面的触摸屏进行操作。
2)如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对Smart4418进行操作。

  • 以下是串口的接法。接上串口,即可调试:

PSU-ONECOM03

  • 如果提示输入密码,Debian的root用户的默认密码是两个字母fa。

6.5 通过VNC和ssh登录Debian

如果你是祼板运行系统(既没有连接LCD也没有连接HDMI),并且烧写了带 -wifiap.img 后辍的固件,你可以使用手机,或者有无线网卡的电脑连接到NanoPC-T2开放的 nanopi2-wifiap 无线热点(默认密码是123456789),连接成功后,无论是手机还是电脑,你可以到这里下载并安装一个名为VNC Viewer的软件,用VNC连接到NanoPC-T2,NanoPC-T2在使用VNC时的连接地址和端口为:192.168.8.1:5901,默认密码为:fa123456,以下是在iPhone上用VNC登录NanoPC-T2的画面:
VNC to NanoPi2
你也可以通过 ssh -l root 192.168.8.1 命令在终端上登录,默认的root用户密码是 fa。

为了保证ssh的流畅,我们用以下命令关闭wifi的省电模式:

iwconfig wlan0 power off


7 资源链接