myd-sama5d3x€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb...

87
MYD-SAMA5D3X 使用手册 MYD-SAMA5D3X 用户手册 版本 V1.3

Upload: others

Post on 25-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

MYD-SAMA5D3X

用户手册 版本 V1.3

Page 2: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

版本记录

版本号 说明 时间

V1.0 初始版本 2013.5

V1.1 精简部分内容;修改 4.5 和 5.4 小节部分编译命令 2013.8

V1.2 修正已知错误;添加 7.0 寸 LCD 的支持 2013.8

V1.3 新增 256MB 内存支持;

修改编译方法;

修改镜像和源码路径;

修正已知错误;

删除 第 3 章 MDK 例程的使用

2013.9

Page 3: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

目录

目录 ...................................................................................................................................... 1

第1章 产品概述 .................................................................................................................. 1

1.1 产品简介 ....................................................................................................................... 1

1.2 产品预览 ....................................................................................................................... 1

1.3 产品特性 ....................................................................................................................... 1

1.4 产品配置清单 ............................................................................................................... 5

第2章 硬件资源介绍 .......................................................................................................... 6

2.1 核心板+底板资源概述 ................................................................................................. 6

2.2 核心板介绍 ................................................................................................................... 7

2.2.1 核心板系统架构与 CPU ....................................................................................... 7

2.2.2 DDR2 SDRAM ....................................................................................................... 8

2.2.3 串行 DATAFLASH ................................................................................................ 8

2.2.4 NORFLASH 和 NANDFLASH 模块 .................................................................... 9

2.2.5 ETHERNET 模块................................................................................................. 10

2.3 底板介绍 ..................................................................................................................... 10

2.3.1 系统供电模块与按键模块 .................................................................................. 11

2.3.2 CAN 收发器 .......................................................................................................... 12

2.3.3 RS485 收发器 ...................................................................................................... 12

2.3.4 HSMCI 模块 ......................................................................................................... 13

2.3.5 双列排针接口 ...................................................................................................... 14

2.3.6 SmartDAA 模块 ................................................................................................... 16

2.3.7 音频模块 .............................................................................................................. 16

2.3.8 USB 模块 .............................................................................................................. 18

2.3.9 ETHERNET 模块................................................................................................. 19

2.3.10 HDMI 模块 .......................................................................................................... 20

2.3.11 USART 模块和 DBUG 模块 ................................................................................... 21

2.4 跳线设置 ..................................................................................................................... 22

第 3 章 Linux 系统指南 ..................................................................................................... 23

Page 4: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

3.1 概述 ............................................................................................................................. 23

3.2 软件资源 ..................................................................................................................... 24

3.3 快速启用 Linux 系统 .................................................................................................. 25

3.3.1 安装下载工具 ...................................................................................................... 25

3.3.2 连接开发板与 PC 机 ........................................................................................... 25

3.3.3 自动下载 .............................................................................................................. 27

3.3.4 手动下载 .............................................................................................................. 27

3.3.5 关于 4.3 寸和 7.0 寸 LCD 配置说明 ..................................................................... 36

3.4 Linux 开发环境的搭建 ................................................................................................ 38

3.5 Linux 的安装与编译 .................................................................................................... 38

3.5.1 建立工作目录 ....................................................................................................... 38

3.5.2 交叉编译工具 ....................................................................................................... 38

3.5.3 安装 AT91Bootstrap 源码并编译 ......................................................................... 39

3.5.4 安装 uboot 源码并编译 ....................................................................................... 39

3.5.5 安装 Linux kernel 源码并编译 ........................................................................... 39

3.5.6 安装 Linux 文件系统并编译................................................................................. 40

3.6 快速制定 Linux 文件系统 .......................................................................................... 40

3.6.1 编写 demo 程序 hellomyir ................................................................................. 40

3.6.2 在 PC 机 Linux 平台上挂载 UBIFS 文件系统 ................................................. 41

3.6.3 修改 UBIFS 文件系统 ........................................................................................ 42

3.6.4 重新生成 UBIFS 文件系统 ................................................................................ 42

3.7 Linux 的使用 ................................................................................................................ 44

3.7.1 触摸屏的校准 ...................................................................................................... 45

3.7.2 U 盘的使用 ........................................................................................................... 45

3.7.3 SD 卡的使用......................................................................................................... 46

3.7.4 播放 MP3 音乐 .................................................................................................... 47

3.7.5 网口的测试 .......................................................................................................... 47

3.7.6 Telnet 外网访问测试 ........................................................................................... 48

3.7.7 通过 telnet 登录开发板 ...................................................................................... 50

3.7.8 在开发板上挂载 NFS 文件系统 ........................................................................ 50

Page 5: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

3.7.9 RTC 使用 .............................................................................................................. 51

3.8 Qt 使用教程 ................................................................................................................. 51

3.8.1 使用 Qt 交叉编译工具链 .................................................................................... 52

3.8.2 从源代码交叉编译 Qt 开发环境 ......................................................................... 56

第 4 章 Android 系统指南 ................................................................................................. 59

4.1 概述 ............................................................................................................................. 59

4.2 软件资源 ..................................................................................................................... 60

4.3 快速搭建 Android 系统 .............................................................................................. 60

4.3.1 安装下载工具 ...................................................................................................... 60

4.3.2 连接开发板 .......................................................................................................... 61

4.3.3 自动烧写 .............................................................................................................. 62

4.3.4 手动烧写 .............................................................................................................. 62

4.3.5 关于 4.3 寸和 7.0 寸 LCD 配置说明 ..................................................................... 70

4.4 Android 系统文件 ........................................................................................................ 71

4.4.1 Android 系统运行原理 ....................................................................................... 71

4.4.2 系统文件编译 ...................................................................................................... 72

4.5 Android 系统的使用 .................................................................................................... 72

4.5.1 USB keyboard 的测试 ....................................................................................... 72

4.5.2 浏览图片的测试 .................................................................................................. 73

4.5.3 播放音频的测试 ................................................................................................... 74

4.5.4 以太网的测试 ...................................................................................................... 75

4.5.5 APK 测试 ................................................................................................................. 77

附录一 常见问题解答 ........................................................................................................ 91

附录二 售后服务与技术支持.............................................................................................. 94

Page 6: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 1 页 / 共 79 页

第1章 产品概述

1.1 产品简介

MYD-SAMA5D3X 系列开发板是深圳市米尔科技有限公司推出的一款基于

ATSAMA5D3X 系列处理器(SAMA5D31,SAMA5D33,SAMA5D34,SAMA5D35 均基于

ARM Cortex-A5 内核)的开发板。处理器主频高达 536MHz,带有 256MB NandFlash,4MB

DataFlash(16 位宽度),以及 256/512MB DDR2 SDRAM;支持 Linux 3.6.9、Android 4.0.4

操作系统,并提供相关源码;具有丰富的外围接口:高速 USB 2.0,音频输入,音频输出,

LCD 接口,CAN,RS485 接口,JTAG 调试接口,串口,以及 Micro SD 卡接口等。

1.2 产品预览

图 1-1

1.3 产品特性

MYD-SAMA5D3X 是基于 SAMA5D3X 处理器,同时也是集成了此芯片所有功能与特性

Page 7: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 2 页 / 共 79 页

的开发板,主要特点如下:

高性能架构

基于浮点运算单元的 Cortex-A5 核心,该 sama5d3 系列适合需要高精度的计

算和快速的数据处理中的应用。具有 64 位内部总线架构和 32 位高达 166MHz 的

DDR 控制器,提供高达 1328mb 带宽/ s

出色的低功耗

电池即可供用系统,SAMA5D3 系列最大速度下功耗为 200mW,在低电模式

下功耗仅仅为 0.5mW

丰富的外围资源

包括 10 / 100/1000M 以太网, USB 端口,双 CAN 总线, SD / MMC,UART,

SPI,软调制解调器,LCD 控制器,相机接口,12 位 ADC,32 位定时器等

高安全性

包括安全启动,高级加密标准(AES)/三重数据加密标准(DES)加密引擎,

安全散列算法(SHA)和真随机数发生器(TRNG)

低系统成本

球间距为 0.8mm 封装降低了 PCB 设计的复杂性,一个简单的电源管理方案

和阻抗对 DDR 线减少外部元件的需要匹配。三个 USB 端口节省外部 USB 集线器

的成本。

以下简单列出 MYD-SAMA5D3X 开发板的一些基本特性。

电气参数:

工作温度:

工业级:-40 - 85

商业级:0 - 70

工作相对湿度:0 ~90%

电气指标:

底板:+ 5V 电源供电

核心板:+ 3.3V 电源供电

机械尺寸:

底板:【154 * 110】 mm

Page 8: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 3 页 / 共 79 页

核心板:【45 * 67.6】 mm

处理器:

SAMA5D31/D33/D34/D35 (32 位 ARM v7-A Thumb2 处理器) 536MHz 运行频率

32KB 数据 Cache,32KB 指令 Cache

存储器:

160KB 片内 ROM ,128KB 片内 SRAM

256/512MB DDR2 SDRAM

256MB Nandflash

16MB NorFlash(16 位宽度)

4MB DataFlash

音频视频接口:

一个音频 3.5mm 输入接口

一个 MIC 输入接口

一个双声道音频 3.5mm 输出接口

传输接口:

标准 JTAG 接口

Micro SD 卡接口

SD / MMC 接口

串口:

1 个调试串口 DBGU(Debug Unit)

1 个 5 线串口 USART

2 个 CAN 接口(只有 SAMA5D34 与 SAMA5D35 具有 CAN 接口)

2 个高速 USB Host 接口

1 个 mini USB Host/Device 接口

以太网接口

处理器 SAMA5D31 SAMA5D33 SAMA5D34 SAMA5D35

以太网 10/100 M 10/100/1000 M 10/100/1000 M Dual Ethernet

Page 9: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 4 页 / 共 79 页

LED 指示灯:

1 个系统心跳灯(底板 D16:蓝色)

1 个个用户灯(底板 D6:红色)

1 个电源指示灯(底板 D5:红色)

Page 10: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 5 页 / 共 79 页

1.4 产品配置清单

序号 名称 数量 备注

1 MYD-SAMA5D3X 开发板 1 底板+核心板

可选 256MB/512MB DDR2 SDRAM

2 1.5 米交叉网线 1

3 1.5 米 Mini USB 2.0 连接线 1

4 5V/2A 直流电源适配器 1

5 DB9-to-DB9 交叉串口线 1

6 DVD 产品光盘 1 包括原理图(PDF),用户手册,源码等

7 4.3/7.0 寸 LCD 触摸屏 1 可选

Page 11: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 6 页 / 共 79 页

第2章 硬件资源介绍

2.1 核心板+底板资源概述

SAMA5D3X 可用资源如表 2-1 所示:

名称 5D31 5D33 5D34 5D35

处理器 Atmel SAMA5D31/5D33/5D34/5D35

(ARM Cortex-A5 内核,主频 536MHz)

内存 256/512MB DDR2 SDRAM(购买时可选择

256MB 或 512MB 的内存配置)

Flash 256MB Nandflash, 4MB DataFlash,

16 MB NorFlash(16 位宽度)

USB

USB Host 2 2 2 2

Mini USB

Host / Device 1 1 1 1

音频

音频输入 1 1 1 1

麦克风输入 1 1 1 1

音频输出 1 1 1 1

网络 ETH 10/100M 网口 1 0 0 1

ETH 1000M 网口 0 1 1 1

串口 DBGU 调试串口 1 1 1 1

USART1 1 1 1 1

JTAG JTAG 调试接口 1 1 1 1

LCD 支持 4.3/7.0 寸触摸屏 1 1 1 0

RTC 板载实时时钟,带有备

份电池 1 1 1 1

扩展接口 20 针用户扩展接口 1 1 1 1

30 针用户扩展接口 1 1 1 1

Page 12: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 7 页 / 共 79 页

60 针用户扩展接口 1 1 1 1

电源 5V 电源输入 1 1 1 1

SD 卡 Micro SD 接口 1 1 1 1

SD/MMC SD/MMC 卡接口 1 1 1 1

CAN CAN 接口 0 0 2 2

RS485 RS485 通讯接口 1 1 1 1

按键 用户按键 1 1 1 1

系统按键 3 3 3 3

表 2-1

2.2 核心板介绍

关于核心板的详细介绍请参考核心板用户手册“MYC-SAMA5D3X 核心板用户使用手册.pdf”。

2.2.1 核心板系统架构与 CPU

⑴ SAMA5D3X 系列核心板系统架构如图 2-1 所示:

图 2-1

⑵ CPU

ARM Cortex-A5 处理器是增强的 32 位 RSIC CPU,具有灵活的大小指令、32K 数据缓

Page 13: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 8 页 / 共 79 页

存、32K 指令缓存、内存管理单元(MMU)、浮点运算单元。在低功耗模式下,以 536 MHz

频率运行,功耗仅仅为 0.5mW,体现了高性能,低功耗的特点。ARM Cortex-A5 处理器支

持 ARMv7 VFPv4-D16 系统架构,支持 32 位的 ARM 指令、16 位的 Thumb 指令,并且支持

Jazelle 状态下的 8 位 java 代码。CPSR 的 T、J 两位可控制处理器 ARM、Thumb、Thumbee、

Jazelle 四种运行状态。

2.2.2 DDR2 SDRAM

板载 2 x 256MB DDR2 SDRAM,其特点如下:

VDD=+1.8V±0.1V,VDDQ= +1.8V ±0.1V

所有的输入和输出与 SSTL_18 接口兼容

支持自动刷新和自刷新

组织架构:128 Meg x 16 (16 Meg x 16 x 8 banks)

可编程的 CAS 延时(支持 3,4,5 和 6)

可编程的附加延时 (支持 0,1,2,3,4 和 5)

可编程的突发传输长度:4 或 8

可调数据输出驱动强度

2.2.3 串行 DATAFLASH

4MB DATAFLASH,其特点如下:

供应 2.7V–3.6V 单电源

兼容的串行外设接口(SPI)

支持 SPI 模式 0 和模式 3

最大时钟频率 70 MHz

灵活,通用的擦除结构

4-Kbyte 块,32-Kbyte 块,64-Kbyte 块,整片擦除

个别扇区的保护与通用保护/撤消功能

64-Kbyte 物理扇区

硬件控制锁保护电路

灵活的编程

Page 14: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 9 页 / 共 79 页

字节/页编程(1 到 256 字节)

自动检查和擦除/编程故障报告

JEDEC 标准制造商和设备 ID 阅读方法

低功耗

7 mA 有效的读电流(典型)

15 µA 深度关机电流(典型)

耐用性:100,000 个编程/擦除周期

数据保存:20 年

符合工业温度范围

8-lead SOIC (200 mil 宽)

16-lead SOIC(300 mil 宽)

2.2.4 NORFLASH 和 NANDFLASH 模块

⑴ 16MB NORFLASH,其特点如下:

组织架构:

页面大小:128K Bytes (4Blocks 自顶向下)

块大小:32KBytes

读取性能:

随机读取:25 μs

顺序读取:25 ns

写入性能:

页编程:200μs(典型值)

块擦除:20 μs(典型值)

电源电压:

VCC (core):1.7 V – 2.0 V

VCCQ (I/O):1.7 V – 3.6 V

耐用性:100,000 个编程/擦除周期

数据保存:10 年

⑵ 256MB NANDFLASH,其特点如下:

Page 15: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 10 页 / 共 79 页

组织架构:

页面大小:2K + 64 Bytes

块大小:128K + 4K Bytes (64 Pages)

面大小:1056Mb((128K+4K)x1024Blocks)

总大小:2112Mb(1056Mbx2planes)

性能:

页读取:25 μs

页编程:200 μs(典型值)

块擦除:700 ms(典型值)

电源电压:2.7V–3.6V

耐用性:100,000 个编程/擦除周期

数据保存:10 年

48 脚 TSOP CPL 封装

WP#引脚:硬件写保护

2.2.5 ETHERNET 模块

ETHERNET 特点如下:

单片支持 10/100/1000Mbps IEEE 网络传输协议

支持 RGMII1.3 版本接口

时钟晶振:25MHZ

支持节电、掉电模式

支持 MDO/MDIO 管理接口

48-pin (5mm x 5mm) QFN 封装

工作电压:

VCC(core):1.2 V

VCCQ (I/O): 3.3 V /2.5 V

2.3 底板介绍

Page 16: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 11 页 / 共 79 页

2.3.1 系统供电模块与按键模块

⑴ 系统供电模块如图 2-2 所示:

图 2-2

⑵ 按键模块电路如下图 2-3 所示:

图 2-3

Page 17: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 12 页 / 共 79 页

2.3.2 CAN 收发器

CAN 收发器主要特点如下:

完全符合 ISO 11898 标准

高速率(最高达 1Mbit/s)

电磁辐射(EME) 极低

电磁抗干扰(EMI)性极高

不上电的节点不会对总线造成扰动

TxD 引脚有防止箝位在显性总线电平的超时功能

静音模式中提供了只听模式和 Babbling Idiot 保护

保护总线引脚防止自动环境中的瞬态干扰

输入级和 3.3V 以及 5V 的器件兼容

输出驱动器受到温度保护

防止电池对地的短路

至少可以连接 110 个节点

CAN 收发器电路如图 2-4 所示:

图 2-4

2.3.3 RS485 收发器

RS485 收发器主要特点如下:

带有电气数据隔离

符合 ANSI TIA/EIA RS-485-A-1998 和 ISO 8482:1987(E)标准

可达 500kbps 的数据传输率

低功耗,最大电流为 2.5mA

Page 18: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 13 页 / 共 79 页

兼容 5V 和 3V 工作电压(VDD1)

总线最大可挂载 256 个设备

工作温度:-40到+85

RS485 收发器电路连接如图 2-5 所示:

图 2-5

2.3.4 HSMCI 模块

系统 HSMCI 模块接口电路图如下图 2-6 所示:

图 2-6

Page 19: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 14 页 / 共 79 页

2.3.5 双列排针接口

⑴ LCD 硬件接口电路如图 2-7 所示:

图 2-7

⑵ JTAG 接口如图 2-8 所示:

图 2-8

⑶ 用户扩展接口如图 2-9 所示:

Page 20: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 15 页 / 共 79 页

图 2-9

⑷ ISI 接口如图 2-10 所示:

Page 21: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 16 页 / 共 79 页

图 2-10

2.3.6 SmartDAA 模块

系统的 SmartDAA 模块电路图如下图 2-11 所示:

图 2-11

2.3.7 音频模块

音频性能

Page 22: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 17 页 / 共 79 页

91dB SNR (‘A ’weighted @ 48kHz) ADC

96dB SNR (‘A’weighted @ 48kHz) DAC

ADC 和 DAC 采样频率:8kHz–96kHz

2 或 3-Wire MPU 串行控制接口

可编程的音频数据接口模式

I2S,左,右对齐或 DSP

16/20/24/32 位字长

主或从时钟模式

立体声音频输入和输出

输入和输出音量和静音控制

高效耳机驱动器

播放模式功耗<3.0mW

模拟 Pass Through 功率<2.4mW

32-pin QFN 包装(4 x 4mm, 0.4mm pitch)

电路图如图 2-12 所示:

图 2-12

Page 23: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 18 页 / 共 79 页

2.3.8 USB 模块

⑴ USB HOST 模块特点如下:

110mΩ (5V 输入)High-Side MOSFE

每个通道连续负载电流 500mA

典型通态电流 110µA

典型的断态电流 1µA

限流/短路保护

过流热关断保护

欠压锁定,确保开关处于关闭状态启动

输出可以被强制比输入更高(关闭状态)

漏极开路故障标志

慢开快关

控制端低电平有效

USB HOST 接口电路图如图 2-13 所示:

图 2-13

⑵ mini USB Host / Device 模块特点如下:

70-mΩ High-Side MOSFET

500 mA 连续电流

过热和短路保护

Page 24: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 19 页 / 共 79 页

精确的电流限制(最小 0.75A,最大 1.25 A)

工作电压范围:2.7V 到 5.5V

0.6-ms 典型上升时间

抗尖峰脉冲故障报告

双向开关

环境温度范围:-40°C 到 85°C

ESD 保护

接口电路图如图 2-14 所示:

图 2-14

2.3.9 ETHERNET 模块

ETHERNET 模块特点如下:

单片支持 10/100Mbps IEEE802.3 网络传输协议

RGMII1.2 接口支持 50 mhz 参考时钟输出到 MAC,选择输入 50 mhz 参考时钟

可编程中断输出

片上的微分对终端电阻

基线漂移校正

支持节电、掉电模式

32-pin QFN 包装(5x 5mm)

Page 25: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 20 页 / 共 79 页

MDC / MDIO 接口寄存器配置管理

系统供电:

VCC (core):1.2 V

VCCQ (I/O):3.3 V / 2.5 V

系统 ETH 模块电路图如下图 2-15 所示:

图 2-15

2.3.10 HDMI 模块

HDMI 模块特点如下:

符合 HDMI1.3、SimplayHD、DVI1.0 版本协议

支持 DVD-AUDIO 4xIIS 输入

支持 2-channel 192HZ 或者 8-channel 96HZ

可编程 DDC 控制系统设计

灵活的中断寄存器

Page 26: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 21 页 / 共 79 页

72-pin QFN 包装(10x10mm)

支持 ICE 60958 或者 ICE 61937

支持 MDO/MDIO 管理接口

VCC (core): 1.2 V

VCCQ (I/O): 3.3 V /2.5 V

系统 HDMI 模块电路图如下图 2-16 所示:

图 2-16

2.3.11 USART 模块和 DBUG 模块

USART 模块和 DBUG 模块电路图如下图 2-17 所示:

Page 27: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 22 页 / 共 79 页

图 2-17

2.4 跳线设置

系统跳线设置如下表所示:

编号 默认 功能说明

CLOSE(跳线帽连接) OPEN(跳线帽断开)

JP1 OPEN 使能 DataFlash(核心板) 断开 DataFlash(核心板)

JP2 OPEN 从外部 Memory 启动 从 ROM 启动

JP3 CLOSE RXD1信号连接 RXD1信号断开

JP4 CLOSE CTS1信号连接 CTS1 信号断开

JP5 CLOSE 强制供电 由 SHDN 信号决定供电

JP6 CLOSE VBAT 电源供电 VBAT 电源供电断开

JP7 1-2 (1-2)脚,VDDANA电源 3V3 供电 (2-3)脚,VDDANA电源 3V 供电

JP8 OPEN J8 SD 卡写保护 J8 SD 卡不写保护

JP9 OPEN UART2作为 485信号从 J26输出 UART2作为普通串口从 J3扩展接口输出

表 2-2

Page 28: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 23 页 / 共 79 页

第 3 章 Linux 系统指南

3.1 概述

本章主要讲述如何在 MYD-SAMA5D3X 开发板上安装运行 Linux 系统和嵌入式 Linux

应用程序及驱动的开发流程。其中包括开发环境的搭建、源码编译、映像的下载和 Linux 应

用程序和驱动的实例分析。系统的默认启动方式为 NandFlash 启动,产品在出厂时初始系

统为 Linux 系统,NandFlash 内容分布图及部分分析如下:

图 3-1

⑴ Bootstrap

一级引导程序,系统上电后由 CPU 从 NandFlash 自动拷贝到内部 SRAM 中并开始执

行。主要作用是初始化 CPU 和外部 RAM,并将 u-boot 从 NandFlash 中拷贝到外部 RAM

中,然后跳到 u-boot 的程序入口开始执行 u-boot;

⑵ u-boot

Page 29: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 24 页 / 共 79 页

二级引导程序,可以与用户交互,用于内核映像更新、载入内核以及引导内核启动;

⑶ u-boot Env

配置环境变量,提供 u-boot 运行的各项参数,比如 ip 地址,启动命令,内核启动参数

等;

⑷ sama5d3x.dtb

描述硬件设备的设备树,U-boot 在启动的时候会将 Flash 中 DTB 文件的地址作为入口

参数传递给内核;

⑸ Linux Kernel

专为 MYD-SAMA5D3X 制定的 Linux3.6.9 内核;

⑹ Root FS

支持 Qt 图形界面应用程序的 Buildroot 文件系统;

3.2 软件资源

Linux 软件资源如表 3-1 所示:

类别 名称 备注

引导程序 Bootstrap 一级引导程序,提供源码

u-boot 二级引导程序,提供源码

Linux 内核 Linux 3.6.9 专为 MYD-SAMA5D3X 的硬件制定的 Linux 内核,提供源码

设备驱动

USB Host USB Host 驱动,支持 OHCI 和 EHCI 两种传输模式,提供源码

USB Device USB Device 驱动(Gadget),提供源码

GigaEthernet Gmac 千兆以太网驱动,提供源码

Ethernet 10/100M 以太网驱动,提供源码

MMC / SD / TF MMC/SD/TF 卡驱动,提供源码

NandFlash NandFlash/SmartMedia 驱动,提供源码

TWI(I2C) I2C 驱动,提供源码

SPI SPI 驱动,提供源码

WM8904 WM8904 音频驱动,提供源码

LCD Controller LCD 屏驱动,支持 4.3/7.0 寸,提供源码

RTC RTC 时钟驱动,提供源码

Page 30: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 25 页 / 共 79 页

TouchScreen 4 线电阻触摸屏驱动,提供源码

PWM PWM(脉宽调制)驱动,提供源码

USART 串口驱动,提供源码

LED LED 驱动,包括 GPIO LED 和 PWM LED 驱动,提供源码

文件系统 Buildroot 支持 Qt 图形界面应用程序的 Buildroot 文件系统,提供源码

表 3-1

3.3 快速启用 Linux 系统

3.3.1 安装下载工具

烧 写 工 具 是 由 Atmel 公 司 提 供 的 SAM-BA v2.12 , 光 盘 中 路 径 :

03-Tools\SAM-BA\sam-ba_2.12.exe , 具 体 的 安 装 方 法 请 参 照 文 档

03-Tools\SAM-BA\sam-ba user guide.pdf。

安装完 sam-ba_2.12.exe 之后,需要再安装补丁 sam-ba_2.12_patch4.exe。

3.3.2 连接开发板与 PC 机

⑴ 连接开发板。具体步骤如下(顺序不可颠倒):

① 将开发板开关拨至 5v(即断电状态)。

② 通过 mini-USB 线连接 PC 机与开发板。

③ 将核心板上跳线 JP1 断开,底板 JP2 断开,按住 CS_BOOT 键,同时拨动开发板

开关至 USB_5V 位置。第一次连接开发板时 PC 机会提示安装开发板驱动,此时选中

SAM-BA 安装目录下的相关位置安装即可如图 3-2 所示:

Page 31: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 26 页 / 共 79 页

图 3-2

⑵ 如果在“我的电脑->属性->管理->设备管理器->端口”中可以看到如图 3-3 所示,则说

明开发板驱动已经装好。此处 COM3 为本机下的连接端口(根据实际情况确定,这里为

COM3)。

图 3-3

⑶ 使用串口线连接开发板 J28 和 PC 机, PC 机上串口终端设置为:波特率 115200,8

Page 32: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 27 页 / 共 79 页

位数据位,无奇偶校验位,1 位停止位,无流控制。COM 端口号根据实际连接的端口设置。

3.3.3 自动下载

注意:如果已插入 SD 卡,下载前请将 SD 卡拔出,否则可能会出现烧写错误。

这里以下载4.3寸LCD、512MB DDR2的镜像为例说明自动下载的过程。完成步骤3.3.1

和 3.3.2 以后开发板将被 PC 机识别为一个 USB 设备,之后打开光盘目录:

02-Images\Linux-image\LCD_4.3_DDR2_512MB , 双 击 批 处 理 文 件

sama5d3xek_demo_linux_nandflash.bat,SAM-BA 将会自动下载 linux 映像到开发板中。

整个下载过程大概需要 3 分钟,当自动弹出 logfile.log 文件时,复位开发板,在超级终端上

便可看到 linux 的启动信息。

关于 Linux 的使用请参照 3.7 节详细介绍。

3.3.4 手动下载

注意:如果有 SD 卡,下载前请将 SD 卡拔出,否则可能会出现错误。

这里以下载 4.3 寸 LCD、512MB DDR2 镜像为例说明手动下载的过程。利用 SAM-BA

手动下载 linux ,本小节用到的所有映像文件都可以在产品光盘中的目录:

02-Images\Linux-image\LCD_4.3_DDR2_512MB 下找到。

⑴ 完成步骤3.3.1和3.3.2后,然后打开SAM-BA进行相应的参数设置,其中connection

为\USBserial\COMXX (XX 各自电脑的 COM 口,根据实际情况选择,这里选 COM3),

board 选择为 at91sama5d3x-ek。然后点击 Connect,便可成功连接上开发板,具体设置和

连接后的效果如图 3-4、图 3-5 所示:

图 3-4

Page 33: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 28 页 / 共 79 页

图 3-5

⑵ 点击 NandFlash 选项卡,并在 Scripts 选项卡中依次并执行 Enable NandFlash、

Erase All、Enable OS PMECC parameters(选择一项操作后点击旁边的“Execute”执行),

具体操作如下图 3-6 所示:

Page 34: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 29 页 / 共 79 页

图 3-6

① 在 Scripts 选项卡中选择“Enable NandFlash”,然后点击“Execute”使能

NandFlash,如图 3-7 所示:

Page 35: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 30 页 / 共 79 页

图 3-7

② 在 Scripts 选项卡中选择“Enable OS PMECC parameters”,然后点击“Execute”

执行,在弹出的对话框中设置(注意:这里不能勾选 Trimffs),如图 3-8 所示:

Page 36: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 31 页 / 共 79 页

图 3-8

③ 在 Scripts 选项卡中选择“Erase All”,然后点击“Execute”,格式化 NandFlash。

如图 3-9 所示:

图 3-9

④ 烧写 boot.bin,如图 3-10 和图 3-11 所示:

Page 37: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 32 页 / 共 79 页

图 3-10

图 3-11

⑤ 烧写 u-boot.bin 到地址 0x40000 处,如图 3-12 所示:

Page 38: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 33 页 / 共 79 页

图 3-12

⑥ 烧写 ubootEnvtFileNandFlash.bin(此文件是由 sam-ba 在烧写过程中根据 tcl 脚本

文件自动生成)到地址 0xC0000 处,如图 3-13 所示:

Page 39: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 34 页 / 共 79 页

图 3-13

⑦ 烧写 sama5d3xek.dtb(x 由核心板 CPU 决定)到地址 0x180000 处,如图 3-14 所示:

Page 40: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 35 页 / 共 79 页

图 3-14

⑧ 烧写 linux 内核 uImage 到地址 0x200000 处,如图 3-15 所示:

图 3-15

⑨ 烧写文件系统 rootfs.ubi 到地址 0x800000 处,如图 3-16、图 3-17 所示(注意:在

选择 Enable OS PMECC parameteers 然后点击 Execute 弹出的对话框中一定要将 Trimffst

选项打上钩)。

图 3-16

Page 41: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 36 页 / 共 79 页

图 3-17

⑶ 最后重启开发板即可正常启动 Linux 系统。Linux 使用请参照 3.7 节详细介绍。

3.3.5 关于 4.3 寸和 7.0 寸 LCD 配置说明

对于使用 4.3 寸和 7.0 寸 LCD 的开发板,所用到是 bootstrap、uboot、kernel 和文件系统

都是相同的,不同尺寸的 LCD 仅仅通过 uboot 传入不同的内核启动参数“lcd=xx”进行选择,

若此参数未指定则默认使用 4.3 寸 LCD 的配置。以下以 Linux 系统为例进行说明。

产品光盘目录:02-Images\Linux-image 下 4.3 寸和 7.0 寸屏对应的镜像目录已经在

sama5d3x_demo_linux_nandflash.tcl 中配置好相关的启动参数,分别为:

LCD_4.3:

console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) rw

rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs lcd=480x272

LCD_7.0:

console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) rw

rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs lcd=800x480

内核启动参数也可在 uboot 启动后动态更改,更改步骤如下:

Page 42: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 37 页 / 共 79 页

⑴ 连接并配置好串口控制终端,重启开发板。当控制终端输出“Hit any key to stop autoboot:

1”时快速按下空格键将进入 uboot 控制台模式:

U-Boot 2012.10 (Jul 22 2013 - 10:26:52)

CPU: SAMA5D31

Crystal frequency: 12 MHz

CPU clock : 528 MHz

Master clock : 132 MHz

DRAM: 512 MiB

WARNING: Caches not enabled

NAND: 256 MiB

MMC: mci: 0

In: serial

Out: serial

Err: serial

Net: macb0

Warning: failed to set MAC address

Hit any key to stop autoboot: 1

⑵ 输入命令“print”将打印当前 uboot 所有环境变量的设置,其中“bootargs”变量的值就

是内核启动参数:

U-Boot> print

baudrate=115200

bootargs=console=ttyS0,115200 mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs)

rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs lcd=480x272

bootcmd=nand read 0x21000000 0x00180000 0x10000; nand read 0x22000000 0x00200000

0x380000; bootm 0x22000000 - 0x21000000

bootdelay=1

ethact=macb0

stderr=serial

stdin=serial

stdout=serial

Environment size: 356/131067 bytes

⑶ 从⑵中可以看到当前选择的是 4.3 寸 LCD,若需要配置为 7.0 寸 LCD,只需要将 bootargs

中的“lcd=480x272”修改为“lcd=800x480”即可,命令如下:

U-Boot> set bootargs " console=ttyS0,115200

mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) rw rootfstype=ubifs ubi.mtd=1

root=ubi0:rootfs lcd=800x480"

⑷ 输入以下命令保存新配置的内核启动参数:

U-Boot> saveenv

Saving Environment to NAND...

Page 43: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 38 页 / 共 79 页

Erasing redundant NAND...

Erasing at 0x100000 -- 100% complete.

Writing to redundant NAND... done

⑸ 重启开发板或直接输入“boot”命令引导系统将使用新配置的内核启动参数:

U-Boot> boot

注:变更 LCD 配置之后旧的触摸屏校准配置将不可用,需要在终端运行”ts_calibrate”命令重

新校准。若是 Android 系统则可直接点击运行“AndroidCalibration”工具进行校准。

3.4 Linux 开发环境的搭建

此部分内容请参考文档“基于 VirtualBox 的 Linux 开发环境搭建说明.pdf”

3.5 Linux 的安装与编译

3.5.1 建立工作目录

建立工作目录并将光盘中的 04-Linux_Source 复制到/opt/linux(用户也可自定义自己

的工作目录):

# mkdir /opt/linux

# cd /opt/linux

# cp -r /media/cdrom/04-Linux_Source/* ./

3.5.2 交叉编译工具

安装必要工具和解压交叉编译工具:

# sudo apt-get install build-essential git-core libncurses5-dev u-boot-tools

# sudo apt-get install flex bison texinfo zip unzip zlib1g-dev gettext

# sudo apt-get install gperf libsdl-dev libesd0-dev libwxgtk2.6-dev

# sudo apt-get install uboot-mkimage

# sudo apt-get install flex bison texinfo unzip gettext

# sudo apt-get install g++ xz-utils

# cp /media/cdrom/03-Tools/Cross_compiler/gcc-linaro-arm-linux-gnueabihf

-4.7-2013.04-20130415_linux.tar.bz2 ./

# sudo tar xjf gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.bz2 -C

/opt/

# export ARCH=arm

# export

CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin

Page 44: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 39 页 / 共 79 页

/arm-linux-gnueabihf-

3.5.3 安装 AT91Bootstrap 源码并编译

⑴ 解压:

# cd /opt/linux/Bootstrap

# tar xvjf at91bootstrap.tar.bz2

# cd at91bootstrap

⑵ 编译:

# make mrproper

# make at91sama5d3xeknf_uboot_defconfig

# make

在binary目录下的at91sama5d3sek-nandflashboot-uboot-3.5.4.bin就是我们要烧写的

AT91Bootstrap 文件,将其重命名为 boot.bin 以备自动烧写。AT91Bootstrap 是针对 ATMEL

芯片的一级引导程序,它初始化一些必要的硬件(GPIO, Clock, SDRAM, etc),然后将 uboot

拷贝到 SDRAM 中开始运行。

3.5.4 安装 uboot 源码并编译

⑴ 解压:

# cd /opt/linux/U-boot

# tar xvjf u-boot-at91.tar.bz2

# cd u-boot-at91

⑵ 编译:

# make distclean

# make sama5d3xeknf_512MB_config

# make

若使用 256MB DDR2 的开发板,将“ sama5d3xeknf_512MB_config”替换为

“sama5d3xeknf_256MB_config”即可。

u-boot-at91 目录下的 u-boot.bin 就是我们要烧写的 u-boot 文件。

3.5.5 安装 Linux kernel 源码并编译

⑴ 解压:

# cd /opt/linux/Linux-at91

# tar xvjf linux-at91.tar.bz2

Page 45: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 40 页 / 共 79 页

# cd linux-at91

⑵ 编译:

# ./make_image.sh linux-512mb

若使用的是 256MB DDR2 的开发板,将“linux-512mb”替换为“linux-256mb”即可。

内核编译结束,arch/arm/boot/目录下的 uImage 文件就是我们需要的 linux 镜像文件,

arch/arm/boot 目录下的 sama5d31ek.dtb、sama5d33ek.dtb、sama5d34ek.dtb、

sama5d35ek.dtb 就是我们需要的 linux 设备树镜像文件。

3.5.6 安装 Linux 文件系统并编译

⑴ 解压:

# cd /opt/linux/Buildroot-at91

# tar xvjf buildroot-at91.tar.bz2

# cd buildroot-at91

⑵ 编译:

# cp buildroot.config .config

# make

文件系统的编译需要时间比较长,请耐心等待。完成编译后 output/images/rootfs.ubi

文件就是 Buildroot 文件系统镜像文件。

3.6 快速制定 Linux 文件系统

文件系统 rootfs.ubi 可以进行简单的制定和修改,这里以向文件系统根目录添加应用程

序 hellomyir 为例,说明制定文件系统的详细步骤。

3.6.1 编写 demo 程序 hellomyir

首先编写一个简单的程序 hellomyir:

⑴ 创建并编辑 hellomyir.c

# vi hellomyir.c

向 hellomyir.c 中输入如下内容后保存退出:

#include <stdio.h>

int main(int argc, char *argv[])

int i;

Page 46: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 41 页 / 共 79 页

printf("========== Hello Myir==========\n");

printf("argc: %d\n", argc);

for(i = 0; i < argc; i++)

printf("argv[%d]: %s\n", i, argv[i]);

return 0;

⑵ 编译 hellomyir.c

添加交叉编译工具路径到 PATH 中:

# export PATH=$PATH: /opt/

gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-

利用交叉编译工具进行编译:

# arm-linux-gnueabihf-gcc -static -o hellomyir hellomyir.c

生成的 hellomyir 便是可以在目标板上运行的应用程序。

3.6.2 在 PC 机 Linux 平台上挂载 UBIFS 文件系统

UBIFS 是 nokia 工程师在 the university of Szeged 大学帮助下开发的新的 Flash file

system。UBIFS 可以认为是 JFFS2 文件系统的下一代。UBIFS 文件系统是专门为大容量

FLASH 嵌入式移动设备设计的,挂载 UBIFS 文件系统必须有 mtd 接口,而普通的 PC 机通

常都不用 mtd 管理磁盘,所以这里需要用到 nandsim 模拟器,用一片 RAM 空间模拟出 mtd

设备,然后对 UBIFS 文件系统进行挂载。具体步骤如下:

⑴ 加载 UBIFS 驱动和 mtd 驱动

依次输入如下命令:

# sudo apt-get install mtd-utils

# sudo modprobe nandsim first_id_byte=0x2c second_id_byte=0xda

third_id_byte=0x90 fourth_id_byte=0x95

加载 nandsim 时需要传入的几个参数:first_id_byte、second_id_byte、third_id_byte 和

fourth_id_byte 是需要模拟的目标 NANDFLASH 的 ID,MYD-SAMA5D3X 使用的

NANDFLASH 为 MT29F2G08ABAEAWP,从 datasheet 中可查到四个 ID bytes 依次为:

0x2c,0xda,0x90,0x95

若执行成功将可以在/dev/目录下找到 mtd0 和 mtd0r0 两个设备:

# ls /dev/mtd*

Page 47: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 42 页 / 共 79 页

/dev/mtd0 /dev/mtd0ro

⑵ 擦除 mtd0 分区,操作如下:

# sudo flash_eraseall /dev/mtd0

Erasing 128 Kibyte @ ffe0000 -- 100 % complete

⑶ 将 rootfs.ubi 装入新建的 mtd0 分区,这里用到 dd 命令进行装入,如下:

# sudo dd if= rootfs.ubi of=/dev/mtd0

94976+0 records in

94976+0 records out

48627712 bytes (49 MB) copied, 0.73911s, 65.8MB/s

⑷ 挂载 UBIFS 文件系统

完成以上步骤之后,加载 ubi 模块并 attach 到 mtd0 中,便可以像挂载普通的 mtd 设备

一样挂载 UBIFS 文件系统。

加载 ubi 模块并 attach 到 mtd0 设备:

# sudo modprobe ubi mtd=0,2048

新建一个挂载点:

# mkdir fsmount

通过以下命令进行挂载:

# sudo mount -t ubifs ubi0_0 fsmount/

# ls fsmount/

bin boot dev etc home lib media mnt proc sbin sys tmp usr var

至此我们已经在 PC 机上成功挂载目标板中使用的 UBIFS 文件系统。

3.6.3 修改 UBIFS 文件系统

成功挂载 UBIFS 文件系统之后便可以按需要对里面的内容进行修改,如添加和删除文

件,修改文件等,这里需要往文件系统的根目录中添加之前编译好的 demo 程序 hellomyir。

操作如下:

# sudo cp hellomyir fsmount/

# sync

# ls fsmount

bin boot dev etc hellomyir home lib media mnt proc sbin sys tmp usr var

3.6.4 重新生成 UBIFS 文件系统

修改完成之后需要利用 mkfs.ubifs 工具重新生成文件系统,输入以下命令生成新的

UBIFS 文件系统:

Page 48: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 43 页 / 共 79 页

# sudo mkfs.ubifs -r fsmount/ -m 2048 -e 126976 -c 2024 \

-o ubifs.img

mkfs.ubifs 参数说明:

-r 建立文件系统的目录

-m 最小的 I/O 传输单元大小

-e 逻辑擦除块大小

-c 最大的逻辑擦除块数

-o 指定输出文件

其中可以通过以下命令查看最小的 I/O 传输单元大小和逻辑擦除块大小:

# ubinfo /dev/ubi0

ubi0

Volumes count: 1

Logical eraseblock size: 126976 bytes, 124.0 KiB

Total amount of logical eraseblocks: 2048 (260046848 bytes, 248.0 MiB)

Amount of available logical eraseblocks: 0 (0 bytes)

Maximum count of volumes 128

Count of bad physical eraseblocks: 0

Count of reserved physical eraseblocks: 20

Current maximum erase counter value: 1

Minimum input/output unit size: 2048 bytes

Character device major/minor: 250:0

Present volumes: 0

通过以下命令查看最大的逻辑擦除块数:

# ubinfo /dev/ubi0_0

Volume ID: 0 (on ubi0)

Type: dynamic

Alignment: 1

Size: 2024 LEBs (256999424 bytes, 245.1 MiB)

State: OK

Name: rootfs

Character device major/minor: 250:1

然后利用 ubinize 工具生成 fsimage.ubi 文件。首先需要建立 ubinize 的配置文件

ubinize.cfg:

# vi ubinize.cfg

输入以下内容,并保存退出:

[ubifs]

mode=ubi

image=ubifs.img

vol_id=0

Page 49: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 44 页 / 共 79 页

vol_size=64MiB

vol_type=dynamic

vol_name=rootfs

vol_flags=autoresize

vol_alignment=1

输入以下命令生成最终烧写到目标板的文件系统文件 fsimage.ubi:

# sudo ubinize -m 2048 -p 128KiB -o fsimage.ubi ubinize.cfg

ubinize 参数说明:

-m 最小输入/输出字节闪存单元的大小

-p FLASH 的物理擦除块的大小

-o 输出的文件

这里和 mkfs.ubifs 的参数不同,-p 的参数为物理擦除块大小,也就是 ubi 工作在 MTD

层之上,所以需要 MTD 的参数,即物理参数,而 ubifs 工作在 ubi 之上,所以需要 ubi 的参

数,即逻辑参数。现在,ubi 设备映像已经被保存在了 ubi.img 中,不仅包含 ubifs 信息,还

包含 ubi 信息。

完成之后,所生成的 fsimage.ubi 文件便可以用 3.3.4 中手动下载 linux 所描述的方法

进行烧写,即在烧写文件系统的步骤中将新生成的文件系统 fsimage.ubi 烧写到地址

0x800000 处即可。

成功烧写之后复位开发板,输入 root 登陆,可以在根目录下找到新添加进去的 hellomyir

文件:

buildroot login: root

# cd /

# ls

bin etc lib proc tmp

boot hellomyir media sbin usr

dev home mnt sys var

运行 hellomyir,如下所示:

# ./hellomyir

========== Hello Myir==========

argc: 1

argv[0]: ./hellomyir

3.7 Linux 的使用

在 Linux 系统运行之后,可以通过触摸屏进行操作,也可以通过终端串口进行操作,下

Page 50: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 45 页 / 共 79 页

面介绍如何通过终端操作 Linux,如 U 盘、SD 卡的挂载、网口的测试以及播放音乐等等。

3.7.1 触摸屏的校准

如果需要校准触摸屏可通过以下步骤进行:

⑴ 打开超级终端(波特率:115200,数据位:8,奇偶校验:无,停止位:1,数据流

控制:无),Linux 启动后,以 root 命令登录:

buildroot login: root

⑵ 运行校准程序,此时在 LCD 屏上对应的 5 个校准点上点击,即可进行校准:

# ts_calibrate

xres = 480, yres = 272

Took 12 samples...

Top left : X = 767 Y = 178

Took 14 samples...

Top right : X = 793 Y = 947

Took 13 samples...

Bot right : X = 309 Y = 934

Took 12 samples...

Bot left : X = 308 Y = 169

Took 10 samples...

Center : X = 557 Y = 556

-29.638855 -0.011581 0.495638

331.720245 -0.364475 0.006420

Calibration constants: -1942412 -758 32482 21739618 -23886 420 65536

⑶ 完成校准后需要重启系统校准才会生效,操作如下:

# sync

# reboot

3.7.2 U 盘的使用

⑴ 在通过终端进入 Linux 后,将 U 盘插入到开发板 J24 的第一个 USB host 口,这时

可以在超级终端上看到如下信息:

usb 1-3: new high-speed USB device number 2 using atmel-ehci

usb 1-3: New USB device found, idVendor=13fe, idProduct=3600

usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-3: Product: DT 101 G2

usb 1-3: Manufacturer: KINGSTON

usb 1-3: SerialNumber: C1690905

scsi0 : usb-storage 1-3:1.0

Page 51: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 46 页 / 共 79 页

scsi 0:0:0:0: Direct-Access KINGSTON DT 101 G2 8.07 PQ: 0 ANSI: 4

sd 0:0:0:0: [sda] 16076800 512-byte logical blocks: (8.23 GB/7.66 GiB)

sd 0:0:0:0: [sda] Write Protect is off

sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or

FUA

sda: sda1

sd 0:0:0:0: [sda] Attached SCSI removable disk

⑵ 输入命令挂载插入的 U 盘,查看 U 盘内容:

#mount -t vfat /dev/sda1 /mnt/usb/

# ls /mnt/usb/

?? MYD-S5PV210

?? MYD-SAMA5D3X-Dev-Res

??-??-???-??-?? Michael Jackson - Beat It.mp3

????? Dangerous.mp3

BOOTEX.LOG Qt_Arm.rar

DSC04807.JPG qt????

FOUND.000

⑶ 使用完成后,直接拔出 U 盘,系统会自动执行卸载。

3.7.3 SD 卡的使用

⑴ 把 MicroSD 卡插入后超级终端显示 SD 卡信息:

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc1: new high SD card at address aaaa

mmcblk0: mmc1:aaaa SU02G 1.84 GiB

mmcblk0: p1

⑵ 挂载并查看 SD 卡中的内容:

# mount -t vfat /dev/mmcblk0p1 /media/sdcard

# ls /media/sdcard/

360 LOST.DIR duba

360Download Music iReader

Android PicStore mm_sec.dat

Audio QQ qqservicec.log

Backup QQBrowser scan.txt

BaiduMapSdk Qzone tencent

BlackBerry RMS tmp

DCIM Sounds wandoujia

Download audio_play_list.txt

GT-S3600C.samsung bluetooth

⑶ 使用完成后,直接拔出 SD 卡,系统会自动执行卸载。

Page 52: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 47 页 / 共 79 页

3.7.4 播放 MP3 音乐

在播放音乐之前,需要把耳机或音响接到开发板的音频输出接口 J11,在 U 盘中存放一

首 mp3 音乐(此处示例 Dangerous.mp3),并把该 U 盘插入开发板上的 USB 接口。

在终端通过 mplayer 命令播放 U 盘中音乐:

# mount -t vfat /dev/sda1 /mnt/

# ls /mnt

# madplay /mnt/Dangerous.mp3

此时便可以从耳机中听到音乐,端终打印出来的信息如下所示,输入 Ctrl + C 结束音乐

的播放:

MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.

3.7.5 网口的测试

⑴ 把开发板和 PC 机用交叉网线相连(具体连接开发板上的哪一个网口请参考 2.1 核

心板+底板资源概述中关于不同型号 CPU 网口资源的描述),通过超级终端,为开发板配置

一个不被当前局域网其他设备占用的 IP 地址,本例中使用地址为:192.168.0.2:

# ifconfig eth0 192.168.0.2 up

IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

# macb f0028000.ethernet: eth0: link up (1000/Full)

IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

⑵ 通过ping命令测试开发板与PC机网络是否成功连接(这里主机 IP为192.168.0.3)。

在 PC 机上 ping 开发板图 3-18 所示:ping 192.168.0.10

Page 53: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 48 页 / 共 79 页

图 3-18

在开发板中 ping 主机:

# ping 192.168.0.3

PING 192.168.0.3 (192.168.0.3): 56 data bytes

64 bytes from 192.168.0.3: seq=0 ttl=128 time=0.801 ms

64 bytes from 192.168.0.3: seq=1 ttl=128 time=0.377 ms

64 bytes from 192.168.0.3: seq=2 ttl=128 time=0.357 ms

64 bytes from 192.168.0.3: seq=3 ttl=128 time=0.359 ms

64 bytes from 192.168.0.3: seq=4 ttl=128 time=0.447 ms

3.7.6 Telnet 外网访问测试

⑴ 配置 IP 地址(IP 可自行分配,这里指定的 IP 为 192.168.1.2)

# ifconfig eth0 192.168.1.2 up

⑵ 配置网关

测试与网关的连接是否正常,如下所示:

# ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1): 56 data bytes

64 bytes from 192.168.1.1: seq=0 ttl=64 time=16.455 ms

64 bytes from 192.168.1.1: seq=1 ttl=64 time=2.391 ms

64 bytes from 192.168.1.1: seq=2 ttl=64 time=3.924 ms

64 bytes from 192.168.1.1: seq=3 ttl=64 time=2.254 ms

64 bytes from 192.168.1.1: seq=4 ttl=64 time=2.005 ms

⑶ 设置 192.168.1.1 为默认网关:

Page 54: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 49 页 / 共 79 页

# route add default gw 192.168.1.1

测试与 202.112.17.137 的连接:

# ping 202.112.17.137

PING 202.112.17.137 (202.112.17.137): 56 data bytes

64 bytes from 202.112.17.137: seq=0 ttl=54 time=32.202 ms

64 bytes from 202.112.17.137: seq=1 ttl=54 time=24.457 ms

64 bytes from 202.112.17.137: seq=2 ttl=54 time=22.918 ms

64 bytes from 202.112.17.137: seq=3 ttl=54 time=23.178 ms

64 bytes from 202.112.17.137: seq=4 ttl=54 time=29.341 ms

⑷ 配置 DNS 服务器

在 PC 机上通过 ipconfig /all 命令可以查看当前 PC 机使用的 DNS 服务器地址,本机使

用的 DNS 为 202.103.24.68,设置目标板的 DNS(根据具体情况设置):

# echo "nameserver 202.103.24.68" | tee /etc/resolv.conf

⑸ 使用 telnet 访问 BBS 论坛:

# telnet bbs.scut.edu.cn

华南木棉 BBS 最近 (1,10,15) 分钟平均负荷为 0.00 0.00 0.00 [负荷正常]

Entering character mode

Escape character is '^]

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

※※

※欢迎莅临※

※中国教育和科研计算机网(CERNET)华南地区网络中心※

※电子公告牌华南网木棉站※

※※

※本站地址: bbs.gznet.edu.cn (202.112.17.137) ※

※※

Warmly Welcome to Bulletin Board Service(BBS) of

CERNET Southern Regional Center

If you have any problems, please send email to

[email protected]

※※

请用户遵守国家法律和 CERNET 用户守则,谢谢合作!

※※

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

欢迎光临【华南木棉 BBS 】 [ Add '.' after YourID to login for BIG5 ]

目前上站人数: [9/25000]。最高人数记录: [12970]。

请输入帐号(试用请输入 `guest'):

表示 telnet 测试成功。

Page 55: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 50 页 / 共 79 页

3.7.7 通过 telnet 登录开发板

⑴ 配置开发板 IP(IP 可自行分配,这里指定的 IP 为 192.168.1.166)

# ifconfig eth0 192.168.1.166

⑵ 启用开发板上的 telnetd 服务

# telnetd

⑶ 使用 telnet 客户端登录到开发板

这里以使用 windows(若是 win7 需要在系统组件管理中添加 telnet 客户端之后 telnet

工具才可用)命令行登录为例说明,在命令行输入以下命令:

telnet 192.168.1.166

接着输入用户名:telnet_user,密码:telnet,如图 3-19 所示:

图 3-19

完成以上步骤后,即可成功通过 telnet登录到开发板,用户可在开发板上执行 telnet_user

用户权限范围内的操作,如果需要取得超级用户权限,用户可通过以下命令切换到超级用户:

$ su -

执行以上命令后,当前目录同时也切换到了/root。

注:因为不能直接使用 root 用户进行登录,所以在光盘提供的 Linux 文件系统里新增

了 telnet_user 用户,用来通过 telnet 登录到开发板,用户也可以使用自己新建的用户。

3.7.8 在开发板上挂载 NFS 文件系统

Page 56: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 51 页 / 共 79 页

注:这里以在 Ubuntu 系统上搭建 NFS 服务器为例进行说明。

⑴ 在 Ubuntu 系统上搭建 NFS 服务器

① 安装 nfs-kernel-server

# sudo apt-get install nfs-kernel-server

② 将以下内容添加到/etc/exports 文件尾(这里 NFS 的目录为/home/jbo/nfsdir,该目

录将会被挂载到客户端,用户也可以使用自己定义的目录)

/home/jbo/nfsdir *(rw,sync,no_root_squash)

③ 重启 portmap 和 nfs-kernel-server 服务

# service portmap restart

# service nfs-kernel-server restart

⑵ 在开发板上挂载 NFS 文件系统

① 配置开发板 IP(IP 可自行分配,这里指定的 IP 为 192.168.1.166)

# ifconfig eth0 192.168.1.166

② 新建挂载目录

# mkdir nfs

③ 挂载 NFS 文件系统(这里 NFS 服务器的 IP 为 192.168.1.223)

# mount -t nfs -o nolock 192.168.1.223:/home/jbo/nfsdir nfs

挂载完成后用户就可以对 nfs 目录下的内容进行操作,这些操作会直接反映到 NFS 服

务器的/home/jbo/nfsdir 目录。

3.7.9 RTC 使用

⑴ 将钮扣电池安装到开发板上。

⑵ 系统在第一次启动时会将时间设置为初始值,因此第一次系统启动后需要进行时间设置。

设置系统时间:

# date -s 2013.06.28-11:22:00; hwclock -w

Fri Jun 28 11:22:00 UTC 2013

查询系统时间和硬件 RTC 时间:

# date

Fri Jun 7 15:52:22 UTC 2013

# hwclock -r

Fri Jun 7 15:53:23 2013 0.000000 seconds

3.8 Qt 使用教程

Page 57: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 52 页 / 共 79 页

本小节描述在 MYD-SAMA5D3X 上使用 Qt 进行 GUI 程序开发的方法和步骤,包括两

大部分,第一部分讲述光盘中提供的 Qt 交叉编译工具链的使用方法,一般的 Qt 程序开发

使用光盘中提供的 Qt 交叉工具链即可;第二部分讲述如何从 Qt-Embedded 源码中编译生

成 Qt 交叉工具链以及相关的库文件,当光盘中提供的 Qt 库不能满足 Qt 开发程序需求时才

需要自己制定 Qt 开发环境。

注意:这里开发板上以下载 02-Images/Linux 目录下的镜像为例说明,具体下载步骤请

参照 3.3.3 自动下载或 3.3.4 手动下载。这里 PC 环境为 Ubuntu10.04。

3.8.1 使用 Qt 交叉编译工具链

对于一般的 Qt 程序开发可以直接使用光盘中提供的 Qt 交叉工具链,在光盘 02-Im

ages/Linux/Qt_Arm 目录下的文件已经包含了该工具链对应的 Qt 库,所以用此工具链编译

出来的 Qt 程序可直接在板子上运行。光盘中提供的 Qt 交叉工具链详细配置如下表所示:

配置项 数值

Build libs

Debug no

Qt 3 compatibility yes

QtDBus module no

Qt ScriptTools module yes

Qt XmlPatterns module no

Phonon module no

SVG module yes

WebKit module yes

STL support yes

PCH support yes

MMX/3DNOW/SSE/SSE2 no/no/no/no

iWMMXt support no

IPv6 support yes

IPv6 ifname support yes

Page 58: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 53 页 / 共 79 页

配置项 数值

getaddrinfo support yes

getifaddrs support yes

Accessibility yes

NIS support yes

CUPS support no

Iconv support no

Glib support no

GStreamer support no

Large File support yes

GIF support plugin

TIFF support plugin (qt)

JPEG support plugin (qt)

PNG support yes (qt)

MNG support plugin (qt)

zlib support yes

Session management no

Embedded support arm

Freetype2 support yes

Graphics (qt) linuxfb multiscreen linuxfb

Graphics (plugin)

Decorations (qt) styled windows default

Decorations (plugin)

Keyboard driver (qt) tty usb

Keyboard driver (plugin)

Mouse driver (qt) pc linuxtp pc linuxtp tslib

Mouse driver (plugin)

OpenGL support no

Page 59: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 54 页 / 共 79 页

配置项 数值

SQLite support qt (qt)

OpenSSL support no

表 3-2

⑴ 安装 Qt 交叉编译工具到系统的/usr/local/目录下

建立 Qt 工作目录 qt-arm,拷贝 Qt 交叉编译工具到该目录并解压:

$ cd ~

$ mkdir qt-arm

$ cd qt-arm

$ cp /media/cdrom/04-Linux_Source/Qt_Arm/Qt-4.5.3_Tslib-1.4.tar.gz ./

$ sudo tar xvzf Qt-4.5.3_Tslib-1.4.tar.gz -C /usr/local/

此时/usr/local 目录下会多出两个目录:qt4.5.3-arm 和 tslib,其中 qt4.5.3-arm 目录包

含交叉编译 Qt 程序时用到的工具、库和头文件等;tslib 目录包含触摸屏测试程序、触

摸时所用到的链接库、配置文件等。

⑵ 设置系统环境变量

① 如果还没有将 arm-linux-gnueabi-交叉编译器的路径添加到 PATH,要先把该路径添

加 到 PATH 中 , 本 文 使 用 的 交 叉 编 译 器 路 径 为 /opt/gcc-linaro-arm-

linux-gnueabihf-4.7-2013.04-20130415_linux/bin,则执行以下命令:

$ export

PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin

② 设置 Qt 程序开发相关的环境变量,在当前终端下执行以下命令:

$ export PATH=$PATH:/usr/local/qt4.5.3-arm/bin

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/qt4.5.3-arm/lib

或将以上命令添加到/etc/profile 文件中,这样系统登录时就自动设置好这些环境变量。

⑶ 烧写含 Qt 库的镜像

参照 3.3.3 自动下载或 3.3.4 手动下载来烧写光盘 02-Images/Linux-image 目录下

的镜像,该目录下的镜像已经搭建好 Qt 运行环境,并已经包含 Qt 程序运行时所需的常

用库文件,所支持的功能模块如表 3-2 所示。如果镜像所提供的功能不能满足实际需求,

请参考下一小节 3.8.2 从源代码交叉编译 Qt 开发环境来配置所需的功能模块。

⑷ Qt 应用程序的编译和运行

在光盘目录 04-Linux_Source/Qt_Arm /Qt_Examples/下有几个 Qt 示例程序,这里以

masterdetail 为例说明使用 Qt 交叉编译工具链编译 Qt 应用程序的方法,并在目标板上

Page 60: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 55 页 / 共 79 页

运行。

① 拷贝示例程序到 Qt 工作目录 qt-arm 并解压:

$ cd ~/qt-arm

$ cp /media/cdrom/04-Linux_Source/Qt_Arm/Qt_Examples/masterdetail.tar.gz ./

$ tar xvzf masterdetail.tar.gz

$ cd masterdetail

② 编译 Qt 项目(编译之前确保 Qt 交叉编译工具链已正确安装并已经设置好相关的环

境变量):

$ qmake -project

$ qmake

$ make

如果编译过程出错:error: QtSql(QtXml) No such file or directory,则需在执行 qmake

-project 后手动编辑 masterdetail.pro 文件,在此文件中添加:QT += sql(xml)。

③ 执行完以上命令后,将生成的可执行文件 masterdetail 可以拷贝到开发板上运行:

# ls

masterdetail

# chmod 0777 masterdetail

# ./masterdetail -qws

运行结果如下图 3-20 所示:

图 3-20

Page 61: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 56 页 / 共 79 页

3.8.2 从源代码交叉编译 Qt 开发环境

本小节讲述如何从Qt-Embedded源码中编译生成Qt交叉工具链以及相关的arm-qt库。

当光盘中提供的 Qt 库不能满足实际开发需求时可通过此方法制定 Qt 开发、运行环境。Qt

的源代码和 Tslib 的源代码都在光盘目录 04-Linux_Source/Qt_Arm/Qt_Arm/Qt_Source 下。

⑴ 建立工作目录

$ cd ~

$ mkdir qt-arm

$ cd qt-arm

⑵ 编译安装 tslib

① 解压:

$ cp /media/cdrom/04-Linux_Source/tslib.tar.gz ./

$ tar xvzf tslib1.4.tar.gz

$ cd tslib

② 编译安装:

如果还没有将 arm-linux-gnueabihf-交叉编译器的路径添加到 PATH,要先把该路径

添 加 到 PATH 中 , 本 文 使 用 的 交 叉 编 译 器 的 路 径 为 /opt/gcc-linaro-arm-

inux-gnueabihf-4.7-2013.04-20130415_linux/bin,则执行以下命令:

$ export PATH=$PATH:/opt/gcc-linaro-arm-linux-gnueabihf-4.7- 2013.04 -2013

0415_linux/bin

先安装 automake、libtool 两个工具:

$ sudo apt-get install automake libtool

配置 tslib,安装路径可以自己设置,这里安装到/usr/local/tslib:

$ ./autogen.sh

$ ./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

--prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

编译安装:

$ make

$ sudo make install

安装完 tslib 后,将 tslib/etc/ts.conf 文件第二行“#module_raw input”注释去掉,变为

“module_raw input”,注意一定要顶格。

⑶ 编译安装 qt-embedded:

① 解压:

$ cp /media/cdrom/04-Linux_Source/Qt_Arm/Qt_Source

/qt-embedded-linux-opensource-rc-4.5.3.tar.gz ./

Page 62: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 57 页 / 共 79 页

$ tar xvzf qt-embedded-linux-opensource-src-4.5.3.tar.gz

$ cd qt-embedded-linux-opensource-src-4.5.3

② 指定交叉编译器:

打开 mkspecs/qws/linux-arm-g++/qmake.conf:

$ vi mkspecs/qws/linux-arm-g++/qmake.conf

用 vi 打开 qmake.conf 后,将 arm-linux-全部替换 arm-linux-gnueabihf-,并加上-lts,然后

保存退出,更改后如下:

# modifications to g++.conf

QMAKE_CC = arm-linux-gnueabihf-gcc -lts

QMAKE_CXX = arm-linux-gnueabihf-g++ -lts

QMAKE_LINK = arm-linux-gnueabihf-g++ -lts

QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ -lts

③ 配置 Qt:

$ ./configure -prefix /usr/local/qt4.5.3-arm -xplatform qws/linux-arm-g++ -release

-opensource -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake docs

-embedded arm -little-endian -qt-freetype -depths 8,16,24 -qt-gfx-linuxfb

-qt-kbd-usb -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-tslib -qt-sql-sqlite

-qt3support -I/usr/local/tslib/include -L/usr/local/tslib/lib -confirm-license

可以执行./configure --help 查看参数的详细说明,根据需要来配置合适的参数。

④ 编译安装:

$ make

$ sudo make install

⑤ 设置环境变量:

在当前终端下执行以下命令:

$ export PATH=$PATH:/usr/local/qt4.5.3-arm/bin

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/qt4.5.3-arm/lib

或将以上命令添加到/etc/profile 文件中,这样系统登录时就自动设置好这些环境变量。

⑷ 移植 Qt 到开发板

① 拷贝库到开发板

Qt 安装完成之后,为解决符号链接的问题,可以利用先打包,然后直接解压到开发板

的做法:

$ cd /usr/local/qt4.5.3-arm

$ tar -zcf lib.tar.gz lib

将打包好的压缩文件 lib.tar.gz 复制到开发板,然后解压到/usr/local/qt4.5.3-arm:

# mkdir -p /usr/local/qt4.5.3-arm

# tar xzvf lib.tar.gz -C /usr/local/qt4.5.3-arm

Page 63: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 58 页 / 共 79 页

② 设置开发板上的环境变量

开发板上的环境变量设置已经写到/etc/setqtenv 文件中,只要在开发板上执行以下命令

就可以完成环境变量的设置:

# source /etc/setqtenv

或者手动输入设置:

# export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH

# export QTDIR=/usr/local/qt4.5.3-arm

# export T_ROOT=/usr/local/tslib

# export PATH=$T_ROOT/bin:$PATH

# export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH

# export TSLIB_CONSOLEDEVICE=none

# export TSLIB_FBDEVICE=/dev/fb0

# export TSLIB_TSDEVICE=/dev/input/event0

# export TSLIB_PLUGINDIR=$T_ROOT/lib/ts

# export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf

# export TSLIB_CALIBFILE=/etc/pointercal

# export QWS_KEYBOARD=USB:/dev/input/event1

# export QWS_MOUSE_PROTO=Tslib:/dev/ input/event0

# export QT_QWS_FONTDIR=$QTDIR/lib/fonts

Page 64: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 59 页 / 共 79 页

第 4 章 Android 系统指南

4.1 概述

Android 是一种以 Linux 为基础的开放源代码操作系统,主要使用于便携设备。Android

操作系统最初由 Andy Rubin 开发,最初主要支持手机。2005 年由 Google 收购注资,并组

建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。自第一个版本发布以来深受

广大消费者的欢迎,2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃

居全球第一;2012 年 2 月数据显示,Android 占据全球智能手机操作系统市场 52.5%的份

额。

Android 系统是基于 Linux 系统运行的,主要由 Linux Kernel、系统库、Dalvik 虚拟机、

应用框架和主要由 JAVA 编写的应用程序组成,其框架如图 4-1 所示:

图 4-1

本章主要介绍如何在 MYD-SAMA5D3X 平台上搭建与运行 Android 4.0.4 系统,主要包

括以下几项内容:

Page 65: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 60 页 / 共 79 页

⑴ 快速搭建 Android 系统

⑵ Android 系统的编译

⑶ Android 系统的使用

4.2 软件资源

软件资源如表 4-1 所示:

类别 名称 备注

引导程序

AT91Bootstrap 用来引导 Uboot

Uboot

1.支持 NandFlash 擦除读写

2.支持网络下载映像

3.支持设置、保存环境变量

4.支持内存内容显示、对比、修改

5.支持 bootm、bootargs 设置

Linux 内核 Linux 3.6.9 专为 MYD-SAMA5D3X 的硬件制定的 Linux 内核

设备驱动

网口驱动 ETH0

串口驱动 USART1、DBGU

USB USB_HOST*2、USB_OTG

SD 卡驱动 MicroSD、SDCard

LCD+touch LCD 屏驱动

GPIO 驱动 提供源码

文件系统 Android文件系统 Android4.0.4,提供二进制镜像文件

表 4-1

4.3 快速搭建 Android 系统

本小节将介绍如何直接用 MYD-SAMA5D3X 产品光盘中提供的映像快速搭建 Android

系统。

4.3.1 安装下载工具

Page 66: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 61 页 / 共 79 页

安装 atmel 的 ISP 下载软件 SAM-BA(2.12 版本)。

注意:如果安装了 SAM-BA 2.11 及以前的版本,需要先将其全部卸载(SAM-BA 软

件以及开发板 USB 驱动)。如果需要两个或以上的 SAM-BA 版本共存,那么不同版本的

SAM-BA 应该使用 PC 上不同的 USB 接口。

4.3.2 连接开发板

⑴ 连接开发板具体步骤如下(顺序不可颠倒):

① USB 线将开发板开关拨至 5v(即断电状态)。

② 通过 microUSB 线连接 PC 机与开发板。

③ 将核心板上跳线 JP1 断开,底板 JP2 断开,按住 CS_BOOT 键,同时拨动开发板

开关至 USB_5v。第一次连接时 PC 端会提示安装开发板驱动,此时选中 SAM-BA 安装目

录下的相关位置安装即可,如图 4-2 所示:

图 4-2

⑵ 此时若在 PC 机的设备管理器中看到如图 4-3 所示的提示,则说明开发板驱动已经

装好 (此处 COM4 为本机下的连接端口,根据实际情况确定):

Page 67: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 62 页 / 共 79 页

图 4-3

4.3.3 自动烧写

注意:如果已插入 SD 卡,下载前请将 SD 卡拔出,否则可能会出现烧写错误。

这里以下载 4.3 寸 LCD、512MB DDR2 镜像为例。完成步骤 4.3.1 和步骤 4.3.2 后,打

开目录02-Images\Android-image\LCD_4 .3_DDR2_512MB,双击 flash_all.bat,Android 镜

像开始自动的烧写到开发板上,等待 2-3 分钟自动弹出 logfile.log 文件表示自动烧写完毕。

4.3.4 手动烧写

这里以下载 4.3 寸 LCD、512MB DDR2 镜像为例。本小节用到的所有映像文件都可以

在产品光盘中的目录:02-Images\Android-image\LCD_4 .3_DDR2_512MB 下可以找到。

Android 系统中的 NandFlash 内容划分如图 4-4 所示:

Page 68: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 63 页 / 共 79 页

图 4-4

⑴ 完成 4.3.1 小节和 4.3.2 小节中的操作后,打开 SAM-BA,出现如图 4-5 所示界面:

图 4-5

点击 Connect 进入 SAM-BA 的主界面,如图 4-6 所示:

Page 69: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 64 页 / 共 79 页

图 4-6

⑵ 选择 NandFlash 选项卡。并在 Scripts 选项卡中选择 Enable NandFlash,然后点击

Execute,如图 4-7 所示:

Page 70: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 65 页 / 共 79 页

图 4-7

⑶ 在 Scripts 选项卡中选择 Enable OS PMECC parameters,然后点击 Execute,在

弹出的对话框中如下图设置,然后点击 OK 即可(注意:这里不能勾选 Trimffs),如图 4-8

所示:

图 4-8

⑷ 在 Scripts 选项卡中选择 Erase All,然后点击 Execute,如图 4-9 所示:

Page 71: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 66 页 / 共 79 页

图 4-9

⑸ 烧写 boot.bin 文件到地址 0x0000,如图 4-10,4-11 所示:

图 4-10

Page 72: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 67 页 / 共 79 页

图 4-11

⑹ 烧写 u-boot.bin 到地址 0x40000 处,如图 4-12 所示:

图 4-12

⑺ 烧写 ubootEnvtFileNandFlash.bin(此文件由 U-boot.bin 执行生成)到地址 0xC0000

Page 73: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 68 页 / 共 79 页

处,如图 4-13 所示:

图 4-13

⑻ 烧写 sama5d3xek.dtb 文件到地址 0x00180000 处,如图 4-14 所示:

Page 74: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 69 页 / 共 79 页

图 4-14

⑼ 烧写 uImage 到地址 0x00200000 处,如图 4-15 所示:

图 4-15

Page 75: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 70 页 / 共 79 页

⑽ 烧写系统文件 rootfs.ubi到地址0x00800000处,(注意:这里一定要勾选Trimffs)

如图 4-16 所示:

图 4-16

至此,Android 系统所需要的所有映像文件烧写完毕,按 K1(Reset)键重启开发板便

可启动 Android 系统。

4.3.5 关于 4.3 寸和 7.0 寸 LCD 配置说明

请参考 3.3.5 关于 4.3 寸和 7.0 寸 LCD 配置说明。请注意 Android 系统的内核启动参数

与 Linux 启动参数有差异,Android 的内核启动参数分别为:

LCD_4.3:

console=ttyS0,115200 no_console_suspend

mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) rw rootfstype=ubifs ubi.mtd=1

root=ubi0:rootfs init=/init lcd=480x272

LCD_7.0:

console=ttyS0,115200 no_console_suspend

mtdparts=atmel_nand:8M(bootstrap/uboot/kernel)ro,-(rootfs) rw rootfstype=ubifs

Page 76: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 71 页 / 共 79 页

ubi.mtd=1 root=ubi0:rootfs init=/init lcd=800x480

4.4 Android 系统文件

本节对 Android 系统文件编译的方法和步骤进行说明。

4.4.1 Android 系统运行原理

⑴ 文件说明:

文件 说明

boot.bin 由 AT91Bootstrap 源码编译得到的引导

程序,用来启动 u-boot

u-boot.bin 二级引导,用于启动内核

u-boot Env 配置环境变量,提供 u-boot 运行的各项

参数

sama5d3x.dtb

描述硬件设备的设备树,U-boot 在启动

的时候会将 Flash 中 DTB 文件的地址作

为入口参数传递给内核

uImage 由Linux内核源码编译得到的Linux内核

rootfs.ubi Android 文件系统

flash_all.tcl SAM-BA 脚本文件,控制烧写流程

flash_all.bat 自动烧写工具(MS-DOS 批处理文件,

手动烧写过程中不需要此文件)

表 4-2

⑵ 系统运行原理

开发板上电,系统从 nandflash 启动时,启动步骤如下:

① 在atsama5d3x内部 rom中固化的引导代码将nandflash中的一级引导程序boot.bin

拷贝到 SRAM 中运行。此引导程序主要对硬件进行基本的初始化,如设置 CPU 频率、配

置 PIO 等,然后将二级引导程序 uboot.bin 拷贝到 DDRAM 中并开始执行;

② 二级引导程序uboot主要负责引导Linux,其中包括设置 linux的运行环境、载入 linux

Page 77: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 72 页 / 共 79 页

镜像文件 uImage、向 Linux 传递启动参数等,最后引导 Linux 启动;

③ Linux 内核启动后将自动挂载 Android 文件系统。至此,Android 系统启动完毕。

4.4.2 系统文件编译

我们知道 Android 系统是基于 Linux 系统运行的,所以要搭建 Android 系统首先必须搭

建一个 Linux 的基础平台。

⑴ 安装交叉编译工具,编译AT91Bootstrap生成 boot.bin ,编译 u-boot生成 u-boot.bin

的具体步骤请参考【3.5.1】,【3.5.2】,【3.5.3】,【3.5.4】。

⑵ 编译 Android 系统所使用的 Linux kernel

解压:

# cp /media/cdrom/05-Android_Source/Linux-at91/linux-at91.tar.bz2 /opt/android

# cd /opt/android

# tar xvjf linux-at91.tar.bz2

# cd linux-at91

编译 linux kernel:

# ./make_image.sh android-512mb

如果使用的是 256MB DDR2 的开发板,将“android-512mb”改为“android-256mb”

即可。

注:make uImage 这个命令要求编译环境中已经安装 uboot-mkimage 工具,否则请使用以

下命令安装该工具:

# apt-get install uboot-mkimage

内核编译结束后,arch/arm/boot/目录下的 uImage 就是可烧写的 Linux kernel 文件

arch/arm/boot 目 录 下 的 sama5d31ek.dtb 、 sama5d33ek.dtb 、 sama5d34ek.dtb 、

sama5d35ek.dtb 就是我们需要 Android 设备树镜像文件。

4.5 Android 系统的使用

4.5.1 USB keyboard 的测试

在 USB 键盘插入到开发板的 J24 的 USB_HOST 口上之后,按下 Num Lock 键之后,右上

角的灯变绿表示 USB 键盘使用正常,可以使用键盘输入与 PC 机上等同的各种信息。

Page 78: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 73 页 / 共 79 页

4.5.2 浏览图片的测试

⑴ 在主菜单界面选择“Gallery”图标,如图 4-17 所示:

图 4-17

⑶ 点击“Gallery”选择某个图片文件夹,如图 4-18:

图 4-18

⑷ 查看某张图片,效果如图 4-19:

Page 79: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 74 页 / 共 79 页

图 4-19

4.5.3 播放音频的测试

⑴ 在主菜单界面选择“Music”图标,会弹出音乐播放界面,如图 4-20:

图 4-20

⑵ 选择“Songs ”选项,如图 4-21 所示:

Page 80: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 75 页 / 共 79 页

图 4-21

⑶ 选中某一首歌曲播放,效果如图 4-22 所示:

图 4-22

4.5.4 以太网的测试

注意:首先使用网线将开发板和路由器连接起来。

⑴ 进入窗口界面,选择“Ethenet”图标,打开以太网,如图 4-23 所示:

Page 81: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 76 页 / 共 79 页

图 4-23

⑵ 配置以太网,注意在这里如果使用的是动态获取 IP,只要选择“Dhcp”即可;否则要选

择“Static IP”后手动设置 IP 地址、子网掩码、DNS server、默认网关。如图 4-24 所示:

图 4-24

⑶ 配置成功之后,打开浏览器,输入:www.baidu.com,如图 4-25、图 4-26 所示:

Page 82: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 77 页 / 共 79 页

图 4-25

图 4-26

4.5.5 APK 测试

此部分内容请参考文档“Android 应用开发环境搭建及 Eclipse 使用简介.pdf”

Page 83: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 91 页 / 共 79 页

附录一 常见问题解答

Q1:自动下载报告“Connection \USBserial\COMxx not found”(xx:表示端口号,根据主机

情况而定,比如本机是 COM13,那 xx 就是 13),弹出的 logfile 文件内容如下所示:

-I- Waiting ...

-I- TCL platform : Windows NT

-I- SAM-BA 2.12 on : windows

-I- Retrieved arguments from command line :

-I- argv 0 : \usb\ARM0

-I- argv 1 : at91sama5d3x-ek

-I- argv 2 : sama5d3xek_demo_linux_nandflash.tcl

-E- Connection \USBserial\COM13 not found

-E- Connection list : COM1

分析与解答:

出现这个问题的是因为 sam-ba 连接时无法找到“\USBserial\COMxx”,① USB 线将开

发板开关拨至 5v(即断电状态)。② 通过 microUSB 线连接 PC 机与开发板。③ 将核心板

上跳线 JP1 断开,底板 JP2 断开,按住 CS_BOOT 键,同时拨动开发板开关至 USB_5v,

再开始下载。

若 logfile 文件信息显示如下:

-I- Waiting ...

-I- TCL platform : Windows NT

-I- SAM-BA 2.12 on : windows

-I- Retrieved arguments from command line :

-I- argv 0 : \usb\ARM0

-I- argv 1 : at91sama5d3x-ek

-I- argv 2 : sama5d3xek_demo_linux_nandflash.tcl

-E- Connection \USBserial\COM3 not found

-E- Connection list : \USBserial\COM13 COM1

Page 84: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 92 页 / 共 79 页

则表示使用的端口不对,如上“-I- argv 0 : \USBserial\COM3”,但是连接列表却是“-E-

Connection list : \USBserial\COM13 COM1”说明本机端口是 COM13 而不是 COM3,需

要修改 SAM9X35_MDK_dataflash.bat 的 COM 端口号(注意:你自己的主机使用那个 COM

端口)。

Q2: 能成功下载系统,却无法启动系统。

分析与解答:

下载系统到板子上的时候,如果板上插有 SD 卡,下载完成后可能会无法启动系统。例

如下载 LINUX 系统,板子上插有 SD 卡,下载完成后启动系统的时候在超级终端可以得到

以下错误信息。将 SD 卡拔出重新下载可解决该问题。

Q3:使用自动下载程序运行了很久却还没下载完成,超级终端没有继续输出下

载信息。

分析与解答:

这种情况可能是在自动下载的过程中卡住了,可在任务管理器中结束 sam-ba.exe 进

程,重新开始下载。

如果是在启动 SAM-BA v2.12 点击 connect 或者自动下载时弹出以下窗口:

Page 85: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 93 页 / 共 79 页

则可能是 SAM-BA 的另一进程正在运行,可在任务管理器中终止 SAM-BA 进程后再重

新下载。

Page 86: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 94 页 / 共 79 页

附录二 售后服务与技术支持

凡是通过米尔科技直接购买或经米尔科技授权的正规代理商处购买的米尔科技全系列产

品,均可享受以下权益:

1、6 个月免费保修服务周期

2、终身免费技术支持服务

3、终身维修服务

4、免费享有所购买产品配套的软件升级服务

5、免费享有所购买产品配套的软件源代码,以及米尔科技开发的部分软件源代码

6、可直接从米尔科技购买主要芯片样品,简单、方便、快速;免去从代理商处购买时,漫

长的等待周期

7、自购买之日起,即成为米尔科技永久客户,享有再次购买米尔科技任何一款软硬件产品

的优惠政策

8、OEM/ODM 服务

如有以下情况之一,则不享有免费保修服务:

1、超过免费保修服务周期

2、无产品序列号或无产品有效购买单据

3、进液、受潮、发霉或腐蚀

4、受撞击、挤压、摔落、刮伤等非产品本身质量问题引起的故障和损坏

5、擅自改造硬件、错误上电、错误操作造成的故障和损坏

6、由不可抗拒自然因素引起的故障和损坏

产品返修:用户在使用过程中由于产品故障、损坏或其他异常现象,在寄回维修之前,请先

致电米尔科技客服部,与工程师进行沟通以确认问题,避免故障判断错误造成不必要的运费

损失及周期的耽误。

维修周期:收到返修产品后,我们将即日安排工程师进行检测,我们将在最短的时间内维修

或更换并寄回。一般的故障维修周期为 3 个工作日(自我司收到物品之日起,不计运输过

Page 87: MYD-SAMA5D3X€¦ · 操作系统,并提供相关源码;具有丰富的外围接口:高速usb 2.0,音频输入,音频输出, lcd 接口,can,rs485 接口,jtag 调试接口,串口,以及micro

MYD-SAMA5D3X 使用手册

第 95 页 / 共 79 页

程时间),由于特殊故障导致无法短期内维修的产品,我们会与用户另行沟通并确认维修周

期。

维修费用:在免费保修期内的产品,由于产品质量问题引起的故障,不收任何维修费用;不

属于免费保修范围内的故障或损坏,在检测确认问题后,我们将与客户沟通并确认维修费用,

我们仅收取元器件材料费,不收取维修服务费;超过保修期限的产品,根据实际损坏的程度

来确定收取的元器件材料费和维修服务费。

运输费用:产品正常保修时,用户寄回的运费由用户承担,维修后寄回给用户的费用由我司

承担。非正常保修产品来回运费均由用户承担。

购买请联系:

电话:0755-25622735

传真:0755-25532724

邮箱:[email protected]

网站:www.myir-tech.com

技术支持请联系:

电话:0755-25622735

传真:0755-25532724

邮箱:[email protected]

网站:www.myir-tech.com