*** 1 - s3c6410

advertisement
Embedded Linux Systems Development
交流: fascination.org@163.com
Website for :
http://code.google.com/p/s3c64
10-conferencing/downloads/list
Agenda
1. Linux Introduction
2. E.Linux Introduction
3. E.Linux Development process
Introduction
Agenda
1. Linux Introduction
2. E.Linux Introduction
3. E.Linux Development process
Introduction
1. Linux Introduction
1. Linux Introduction

Linux的产生和发展





UNIX 操作系统
MINIX 操作系统
GNU 计划
POSIX 标准
Internet 网络
1. Linux Introduction

Distribution的选择


某个发行商的
自己完成:LFS:(Linux From Scratch)
http://www.linuxfromscratch.org/lfs/
1. Linux Introduction

Linux的版本


内核版本
Distribution /发行商版本
1. Linux Introduction

Linux的构成
Linux Application
Linux Shell
System calls
Linux Kernel
Device drivers
Hardware
1. Linux Introduction

Linux的构成
1. Linux Introduction
1.
Linux的构成
1. Linux Introduction
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
Agenda
1. Linux Introduction
2. E.Linux Introduction
3. E.Linux Development process
Introduction
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.
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.
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
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
2. E.Linux Introduction

Linux之于ES的劣点





Size:32bits CPU,单片机
MMU
GPL License
Real-time
Toolchain
2. E.Linux Introduction

产品举例1



SAMSUNG GALAXY Tab P7500
Moto手机
Amazon Kindle
2. E.Linux Introduction

产品举例2

Skype电话

网络版硬盘录像机
Koala嵌入式教学机器人

2. E.Linux Introduction

产品举例3: BELS的1.2.2节
2. E.Linux Introduction

产品举例4:
2. E.Linux Introduction

E.Linux产品的分类:From BELS:4个角度




Size
Time constraints
Networkability
User interaction
2. E.Linux Introduction

E.Linux所支持的硬件:From BELS的chap3






Processor Architectures
Buses and Interfaces
I/O
Storage
General Purpose Networking
Industrial Grade Networking
2. E.Linux Introduction

E.Linux的参与者:Players of the Embedded Linux
Scene



Free software and open source community
Industry
Organizations
2. E.Linux Introduction

E.Linux的参与者:

Industry

Red Hat
MontaVista
LynuxWorks
Timesys
IBM
Intel
HP
Oracle
Sun
其他消费电子制造商
。。。










2. E.Linux Introduction

Cross/交叉开发环境


Why ?
What is cross?
2. E.Linux Introduction

Cross/交叉开发环境


Host:一般是PC机
Target
2. E.Linux Introduction

Cross/交叉开发环境:链接的可能选择:





串口
以太网
JTAG
USB
Wireless
2. E.Linux Introduction

Cross/交叉开发环境的过程:


根据需求制作Target硬件
设置Host
2. E.Linux Introduction

Cross/交叉开发环境
Agenda
1. Linux Introduction
2. E.Linux Introduction
3. E.Linux Development process
Introduction
3. E.Linux Development
process Introduction Host
环境搭建

流程示范图
Bootloader
移植
configuring
the storage
devices
by
using the
cross
environment
Kernel
移植和配置
Root 文件系统
开发
应用程序开发
3. E.Linux Development
process Introduction

流程示范图:Ref
3. E.Linux Development
process Introduction
Root
File
System
3. E.Linux Development
process Introduction
3. E.Linux Development
process Introduction
3. E.Linux Development
process Introduction

Step1

选择系统:




Linux/Unix/
Windows
选择组件和服务
开发/调试环境 搭建
3. E.Linux Development
process Introduction

Step2

什么是loader
什么是Bootloader
X86的启动过程

Ref pdf: write Boot


3. E.Linux Development
process Introduction

Step3



移植
配置
编译链接得到Image
3. E.Linux Development
process Introduction

Step4

必要性:



Init进程
系统运行需要的module
Why root?
3. E.Linux Development
process Introduction
3. E.Linux Development
process Introduction

Step5


Make
Gcc
3. E.Linux Development
process Introduction

Step5
3. E.Linux Development
process Introduction

Step6



利用烧写/下载软件
第一个部件的烧写/下载
其他部件的烧写/下载
3. E.Linux Development
process Introduction

总结图
This is the end
Any Questions ?
Download