Embedded Linux Systems Development

47
Embedded Linux Systems Development 交交[email protected] Website for http://code.google.com/p/s3c 6410-conferencing/downloads/ list

description

Embedded Linux Systems Development. 交流: [email protected] Website for : http://code.google.com/p/s3c6410-conferencing/downloads/list. Agenda. 1. Linux Introduction 2. E.Linux Introduction 3. E.Linux Development process Introduction. Agenda. 1. Linux Introduction - PowerPoint PPT Presentation

Transcript of Embedded Linux Systems Development

Page 1: Embedded Linux  Systems Development

Embedded Linux Systems Development

交流: [email protected]

Website for : http://code.google.com/p/s3c6410-conferencing/downloads

/list

Page 2: Embedded Linux  Systems Development

Agenda

1. Linux Introduction2. E.Linux Introduction3. E.Linux Development process

Introduction

Page 3: Embedded Linux  Systems Development

Agenda

1. Linux Introduction2. E.Linux Introduction3. E.Linux Development process

Introduction

Page 4: Embedded Linux  Systems Development

1. Linux Introduction

Page 5: Embedded Linux  Systems Development

1. Linux Introduction Linux 的产生和发展

UNIX 操作系统 MINIX 操作系统 GNU 计划 POSIX 标准 Internet 网络

Page 6: Embedded Linux  Systems Development

1. Linux Introduction Distribution 的选择

某个发行商的 自己完成: LFS :( Linux From Scratch )

http://www.linuxfromscratch.org/lfs/

Page 7: Embedded Linux  Systems Development

1. Linux Introduction Linux 的版本

内核版本 Distribution / 发行商版本

Page 8: Embedded Linux  Systems Development

1. Linux Introduction Linux 的构成

Linux ShellSystem calls

Linux KernelDevice drivers

Hardware

Linux Application

Page 9: Embedded Linux  Systems Development

1. Linux Introduction Linux 的构成

Page 10: Embedded Linux  Systems Development

1. Linux Introduction1. Linux 的构成

Page 11: Embedded Linux  Systems Development

1. Linux Introduction

Page 12: Embedded Linux  Systems Development

1. Linux Introduction Linux 的特点

Open source and free under GPL(General Public License)

Monolithic kernel Preemptive kernel supporting for modules Kernel thread Filesystem and Multi filesystems support

Page 13: Embedded Linux  Systems Development

Agenda

1. Linux Introduction2. E.Linux Introduction3. E.Linux Development process

Introduction

Page 14: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 的概念

From BELS : An embedded Linux system simply designates an embedded system based on the Linux kernel and does not imply the use of any specific library or user tools with this kernel.

Page 15: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 的概念

From Wiki : Embedded Linux is the use of a Linux operating system in embedded computer systems such as mobile phones, personal digital assistants, media players, set-top boxes, and other consumer electronics devices, networking equipment, machine control, industrial automation, navigation equipment and medical instruments.

Page 16: Embedded Linux  Systems Development

2. E.Linux Introduction Linux 之于 ES 的优点

Modern OS (eg. memory management, kernel modules, etc.) Open source and so can be customized as what you can Hardware support : has already been ported to many

different CPU architectures and other H/W

Page 17: Embedded Linux  Systems Development

2. E.Linux Introduction Linux 之于 ES 的优点( cont. )

Available tools Community support Industry support Vendor independence Cost Licensing Strong networking support Relatively small for its feature set Huge application base

Page 18: Embedded Linux  Systems Development

2. E.Linux Introduction Linux 之于 ES 的劣点

Size : 32bits CPU ,单片机 MMU GPL License Real-time Toolchain

Page 19: Embedded Linux  Systems Development

2. E.Linux Introduction 产品举例 1

SAMSUNG GALAXY Tab P7500 Moto 手机 Amazon Kindle

Page 20: Embedded Linux  Systems Development

2. E.Linux Introduction 产品举例 2

Skype 电话 网络版硬盘录像机 Koala 嵌入式教学机器人

Page 21: Embedded Linux  Systems Development

2. E.Linux Introduction 产品举例 3 : BELS 的 1.2.2 节

Page 22: Embedded Linux  Systems Development

2. E.Linux Introduction 产品举例 4 :

Page 23: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 产品的分类: From BELS : 4 个角度

Size Time constraints Networkability User interaction

Page 24: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 所支持的硬件: From BELS 的 chap3

Processor Architectures Buses and Interfaces I/O Storage General Purpose Networking Industrial Grade Networking

Page 25: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 的参与者: Players of the Embedded

Linux Scene Free software and open source community Industry Organizations

Page 26: Embedded Linux  Systems Development

2. E.Linux Introduction E.Linux 的参与者 :

Industry Red Hat MontaVista LynuxWorks Timesys IBM Intel HP Oracle Sun 其他消费电子制造商 。。。

Page 27: Embedded Linux  Systems Development

2. E.Linux Introduction Cross/ 交叉开发环境

Why ? What is cross ?

Page 28: Embedded Linux  Systems Development

2. E.Linux Introduction Cross/ 交叉开发环境

Host :一般是 PC 机 Target

Page 29: Embedded Linux  Systems Development

2. E.Linux Introduction Cross/ 交叉开发环境:链接的可能选择:

串口 以太网 JTAG USB Wireless

Page 30: Embedded Linux  Systems Development

2. E.Linux Introduction Cross/ 交叉开发环境的过程:

根据需求制作 Target 硬件 设置 Host

Page 31: Embedded Linux  Systems Development

2. E.Linux Introduction Cross/ 交叉开发环境

Page 32: Embedded Linux  Systems Development

Agenda

1. Linux Introduction2. E.Linux Introduction3. E.Linux Development process

Introduction

Page 33: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

流程示范图 Host

环境搭建 Bootloader

移植 Kernel

移植和配置 Root 文件系统 开发 应用程序开发

configuring the storage devices

by

using the cross environment

Page 34: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

流程示范图: Ref

Page 35: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Root

File System

Page 36: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Page 37: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Page 38: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step1 选择系统:

Linux/Unix/ Windows

选择组件和服务 开发 / 调试环境 搭建

Page 39: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step2 什么是 loader 什么是 Bootloader X86 的启动过程

Ref pdf: write Boot

Page 40: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step3 移植 配置 编译链接得到 Image

Page 41: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step4 必要性:

Init 进程 系统运行需要的 module

Why root ?

Page 42: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Page 43: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step5 Make Gcc

Page 44: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step5

Page 45: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

Step6 利用烧写 / 下载软件 第一个部件的烧写 / 下载 其他部件的烧写 / 下载

Page 46: Embedded Linux  Systems Development

3. E.Linux Development process Introduction

总结图

Page 47: Embedded Linux  Systems Development

This is the end

Any Questions ?