Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO MÔN HỌC KỸ THUẬT


PHẦN MỀM

TÊN ĐỀ TÀI:
EMBEDDED LINUX

Nhóm
Giảng viên hướng dẫn TS.Vũ Thị Hương Giang
Nhóm sinh viên thực hiện
Lê Ngọc Giang 20080793 CNPM – K53
Phan Đình Thái 20083496 CNPM – K53
Đồng Tuấn Anh 20080024 CNPM – K53
Phạm Văn Khắc 20081397 CNPM – K53

Hà Nội 10/2011
1
Mục lục
I. Phân công công việc ........................................................................................................................4
I. Giới thiệu ...................................................................................................................................5
1. Định nghĩa ..............................................................................................................................5
a) Embedded Os?.....................................................................................................................5
b) Khả năng phát triển và tiềm năng hiện nay.............................................................................5
c) Các sản phẩm ứng dụng Embedded Linux Os ........................................................................6
II.Kiến trúc của Embedded Linux System.............................................................................................8
2.1 Kiến trúc tổng quát của Embedded Linux System ........................................................................8
2.2 Cấu trúc chính Embedded Linux ................................................................................................9
2.2.1 Hardware:..........................................................................................................................9
2.2.2 Phần mềm hệ thống: ...........................................................................................................9
2.2.3 Phần mềm ứng dụng ...........................................................................................................9
III. Phần mềm...............................................................................................................................9
a. Bootloaders ........................................................................................................................... 10
b. Kernel Linux. ........................................................................................................................ 11
c. Công cụ Cross compiler (công cụ biên dịch chéo). ................................................................... 12
Toolchain .......................................................................................................................... 12
d. C libary................................................................................................................................. 13
IV. Phần cứng ............................................................................................................................. 14
4.1 Yêu cầu phần cứng: ........................................................................................................... 14
4.2 Khả năng tích hợp phần cứng.............................................................................................. 14
4.3 Xây dựng mô hình dựa vào phần cứng: ............................................................................... 15
Kiến trúc nhân (Kernel Artchitecture) ......................................................................................... 15
Hardware Abstraction Layer (HAL) .................................................................................... 16
Memory Manager .............................................................................................................. 16
Scheduler .......................................................................................................................... 17
File System (Hệ thống quản lý file) ..................................................................................... 17
IO Subsystem .................................................................................................................... 17
Networking Subsystems ..................................................................................................... 17
Linux Start-Up Sequence.................................................................................................... 17
V. Ưu nhược điểm Embedded Linux ............................................................................................... 17
5.1 Ưu điểm............................................................................................................................ 17

2
5.2 Nhược điểm....................................................................................................................... 18
5.3 So sánh với các hệ nhúng khác(Win CE) ............................................................................. 18
VI. Giới thiệu về ứng dụng và hệ điều hành mở rộng ..................................................................... 19
6.1 Hướng phát triển của các ứng dụng và hệ điều hành mở rộng................................................ 19
6.2 Tìm hiểu thêm về các ứng dụng và hệ điều hành mở rộng .......................................................... 20
a. Wind River Linux 4 ........................................................................................................... 20
b) BAE System ......................................................................................................................... 28
VII. Chương trình minh họa .......................................................................................................... 29
1) Giới thiệu về chương trình: ................................................................................................. 29
2) Cơ chế hoạt động của chương trình: .................................................................................... 29
IX. Tài liệu tham khảo ...................................................................................................................... 33

3
I. Phân công công việc
 Lê Ngọc Giang(nhóm trưởng):
 Giới thiệu ,kiến trúc của Embedded Linux
 Viêt báo cáo ,làm slide thuyết trình
 Phan Đình Thái:
 Phần cứng, phần mềm trong Embedded
 Tìm tài liệu
 Phạm Văn Khắc:
 Linux ưu nhược điểm Embedded Linux với các hệ nhúng khác
 Giới thiệu về ứng dụng nổi bật hiện nay
 Đồng Tuấn Anh:
 Code ứng dụng minh họa

4
I. Giới thiệu
1. Định nghĩa

a) Embedded Os?
Theo định nghĩa của IEEE thì hệ thống nhúng làmột hệ tính toán nằm trong sản phẩm,
tạo thành một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ thống
 Hay nói một cách đơn giản khi một hệ tính toán (có thể là PC, IPC, PLC, vi xử lý, vi hệ
thống, DSP vv…) được nhúng vào trong một sản phẩm hay một hệ thống một cách hữu
cơ và thực hiện một số chức năng cụ thể của hệ thống thì ta gọi đó là một hệ thống nhúng
Một hệ điều hành được sử dụng trong các ứng dụng chuyên dùng (hệ thống
nhúng)được gọi là hệ điều hành nhúng. Hệ thống điều hành nhúng thường rất nhỏ gọn và
thường được thiết kế cho các hoạt động thời gian thực
 Hệ điều hành sử dụng:Embedded Linux, VxWorks, Win CE, Lynyos, BSD, Green Hills,
QNX,DOS....
 Phân biệt với hệ thống máy tính : điểm quan trọng cần lưu ý là sự khác biệt giữa một hệ
thống nhúng và hệ thống máy tính PC : một hệ thống nhúng chính là một hệ thống
chuyên dụng với một chức năng cụ thể, trong khi đó hệ thống máy tính PC là một hệ
thống đa dụng với chức năng của nó tại một thời điểm do phần mềm quyết định.

Do thị trường của các sản phẩm nhúng tăng mạnh nên các nhà sản xuất ngày càng sử
dụng các hệ điều hành nhúng để bảo đảm sản phẩm có sức cạnh tranh và Embedded
Linux đang là sản phẩm hệ điều hành nhúng có uy tín chiếm vị trí số hàng đầu.

b) Khả năng phát triển và tiềm năng hiện nay


Cách đây 10 năm ,Embedded Linux là một ý tưởng gây ngạc nhiên với mọi người.Những
năm sau đó Embedded Linux được phát triển với nhiều phiên bản khác nhau,như DIY(do
it yourself),Monta Vista,WindRiver

5
Hiện nay 70% các nhà thiết kế các hệ nhúng cân nhắc đầu tiên sử dụng Embedded Linux cho
các ứng dụng mới của mình và sau đó mới đến các hệ điều hành nhúng truyền thống như
VxWorks, Win CE.
c) Các sản phẩm ứng dụng Embedded Linux Os

6
 Các sản phẩm truyền thông tiêu biểu là LCD TV nhãn hiệu Bravia của hãng Sony…
 Các sản phẩm điện tử tiêu dùng (consumer electronics), tiếp đến là trong các sản phẩm ô
tô, phương tiện vận chuyển, máy móc thiết bị y tế, các thiết bị năng lượng, các thiết bị
cảnh báo bảo vệ và các sản phẩm đo và điều khiển, đồ chơi, nguời máy công nghiệp, vệ
tinh, bộ đọc sách e-book…

7
 Một số Embedded Linux Os được sử dụng hiện nay
Các hệ điều hành nhúng Linux thương mại hóa(có hỗ trợ RTOS-hệ điều hành thời gian thực)
 FSMLabs - Open RT Linux
 Lineo - Embedix Realtime
 LynuxWorks - BlueCat RT
 MontaVista Software - Real Time Extensions
 REDSonic - REDICE Linux
 TimeSys - Linux/Real-Time
Hệ điều hành mã nguồn mở:
 Embedded Debian Project –chuyển từ Debian trên desktop sang hệ điều hành nhúng
 ETLinux
 for PC104 SBC’s
 uCLinux(cho vi xử lý)

II.Kiến trúc của Embedded Linux System


2.1 Kiến trúc tổng quát của Embedded Linux System
Để có thể giải thích đơn giản, chúng ta sẽ xem xét một hệ thống điều khiển các tiếntrình công
nghiệp. Nó được thiết kế từ các máy tính kết nối mạng và tất cả đều sử dụng Linux. Hình
dưới thể hiện các khối đơn giản của hệ thống.

 Data acquition (DAQ)


 Control
 System Management (SYSM)
 User interface (UI)
 Kết nối bên trong giữa các thành phần sử dụng các giao tiếp TCP/IP trên Ethenet.

8
 SYSM có một kết nối với hệ thống mạng bên ngoài. Để điều khiển một tiến trình, hệ
thống luôn cần biết trạng thái của các tiến trình trong các thành phần khác nhau.

2.2 Cấu trúc chính Embedded Linux


Trước hết, để chạy một hệ Linux, phần cứng phải đáp ứng được
được các yêu cầu sau:
 Linux yêu cầu CPU tối thiểu phải là 32 bit, có chứa một
đơn vị quản lý bộ nhớ (MMU).
 Phải đủ bộ nhớ RAM cung cấp cho hệ thống.
 Vào/ra (I/O) tối thiểu phải đủ cho việc debug.
 Nhân phải có khả năng tải hoặc truy cập vào một hệ
thống tập tin gốc (root filesystem) thông qua các thiết bị
lưu trữ cố định hoặc kết nối thêm.

2.2.1 Hardware:
 Vi xử lý, bộ nhớ, tụ điện, điện trở, mạch tích hợp, bảng mạch in, connector, …. Tất
nhiên, đây là thành phần bắt buột phải có cho tất cả các hệ thống nhúng.
2.2.2 Phần mềm hệ thống:
 Device driver: UART, Ethernet, ADC…
 Hệ điều hành nhúng: eCos, ucLinux, VxWorks, Monta Vista Linux, BIOS…
 Quản lý bộ nhớ, quản lý tiến trình, quản lý chia sẽ tài nguyên,có thể tái sử dụng trên
một hệ thống nhúng khác
2.2.3 Phần mềm ứng dụng
 Không bắt buộc phải có.
 Quyết địnhchức năngcủa một hệ thống nhúng.
 Khó tái sử dụng trên một hệ thống nhúng khác.

III. Phần mềm


Để có thể tồn tại và phát triển, các sản phẩm công nghiệp và tiêu dùng sử dụng công nghệ
nhúng cần phải thường xuyên đổi mới nhiều chức năng tiện dụng và thông minh hơn. Các
chức năng này phần lớn do các chương trình nhúng tạo nên.
Hệ thống nhúng linux (embedded linux) được một số phần mềm, công cụ hỗ trợ như:
Bootloaders, Linux Kernel, Cross compiler, C library…

9
a. Bootloaders

- Bootloader là một thành phần quan trọng của hệ thống nhúng, nó cung cấp nền tảng và phân bổ
cho các hệ thống phần mềm khác hoạt động.
- Bất cứ chương trình nào muốn chạy, nó phải được bootloader lấy mã số khởi tạo từ thiết bị lưu
trữ (thường là bộ nhớ Flash) để khởi động. Bootloader sẽ chịu trách nhiệm quản lý chương trình
đó trong suốt quá trình sống của nó.
- Bootloader còn có các tính năng tiên tiến, như:
+ Khả năng xác nhận hình ảnh của hệ điều hành.
+ Khả năng tự nâng nó hoặc hình ảnh của hệ điều hành.
+ Khả năng lựa chọn một trong số các hình ảnh hệ điều hành dựa trên một chính sách
phát triển đã được xác định.
- Bootloader hỗ trợ cho các giao diện Ethernet, điều nàygiúp tiết kiệm rất nhiều thời gian.
Ví dụ: Tải một hình ảnh hạt nhân qua một cổng nối tiếp có thể mất vài phút nhưng chỉ mất vài
giây trên một liên kết Ethernet 10Mbps.

- Bootloader hỗ trợ các giao thức BOOTP (Bootstrap Protocol), DHCP (Dynamic Host Control
Protocol), và TFTP (Trivial File Transfer Protocol).

10
b. Kernel Linux.

Kernel Linux là phần mềm cơ bản nhất của hệ thống Linux. Nó quản lý các phần cứng trống
trong hệ thống. Kernel Linux xử lý hệ thống cho các chương trình và truy cập gián tiếp vào các
thiết bị phần cứng. Đặc biệt, Kernel Linux có thể truy cập vào tài nguyên hệ thống mà không cần
giao tiếp trực tiếp với phần cứng.Cấu hình Kernel cho phép loại bỏ những hỗ trợ không cần thiết,
và ngược lại, nó có thể hỗ trợ thêm một thiết bị ngoại vi đặc biệt.
- Trong lĩnh vực hệ thống nhúng, Linux kernel 2.6 đã giúp Linux trở thành đối thủ cạnh tranh lớn
cho nhà cung cấp RTOS như VxWorks và WinCE.
- Linux kernel 2.6 nhiều tính năng mới cải tiến giúp hệ điều hành tốt hơn như:
+ Tăng cường hiệu quả thời gian thực. Nó có thể đáp ứng được các nhu cầu nghiêm ngặt về thời
gian. Ví dụ: Giả sử trong một nhà máy, các công nhân giữ những vật liệu cần
được cắt bằng các máy cắt tự động. Vì lý do an toàn, các cảm biến quang được đặt xung quanh
các lưỡi dao của máy cắt để nhận dạng màu sắc găng tay của những công nhân. Khi hệ thống báo
tay của người công nhân đang trong vùng nguy hiểm, lập tức các lưỡi dao phải ngừng hoạt động
để bảo đảm an toàn. Hệ thống này không thể làm tác vụ nào khác để giải phóng tài nguyên bộ xử
lý. Đây là một hệ thống đòi hỏi đáp ứng cực kỳ nghiêm ngặt về thời gian và độ tin cậy.
+ Porting dễ dàng hơn.
+ Hỗ trợ cho các mô hình bộ nhớ lớn, hỗ trợ cho vi điều khiển.
+ Cải tiến hệ thống lịch trình I/O.
+ Hỗ trợ các phần cứng mới.
+ Tạo kiến trúc phụ. Nó thây đổi cấu trúc đã có thành một cấu trúc riêng.
Ngoài ra, Linux kernel 2.6 hỗ trợ một số vi điều khiển không có đơn vị quản lý bộ nhớ, hỗ trợ
các bộ vi xử lý m68k Motorola, Dragonball, ColdFire, Hitachi…

11
c. Công cụ Cross compiler (công cụ biên dịch chéo).

Cross compiler là một trình biên dịch được sử dụng để thực thi cho hệ thống nhúng, nó có khả
năng tạo ra mã thực thi cho một nền tảng khác so với trình biên dịch được chạy.
Cross compiler hỗ trợ:
+ Thực hiện biên dịch nhiều chương trình phức tạp trên bất cứ máy nào, bất kể phần cứng hoặc
phiên bản hệ điều hành mà nó đang chạy.
+ Biên dịch các công cụ cần thiết khi phát triển một nền tảng phần mềm mới, hoặc giả lập của
một nền tảng tương lai.
+ Các mô hình máy ảo cho phép đầu ra trong cùng một trình biên dịch sẽ được sử dụng trên toàn
hệ thống.
 Toolchain
Là một tập công cụ được dùng để xây dựng các ứng dụng hoặc tạo image cho một thiết bị nhúng.
Các toolchain còn cho phép biên dịch (compile) trên một kiến trúc cho một kiến trúc khác (như
là biên dịch một image của ARM trên một máy tính cá nhân dùng hệ điều hành Linux; điều này
được gọi là cross-compiling và các compile được gọi là cross-compile).
GNU Toolchain gồm có:
 GNU make
 GNU Compiler (GCC)
 GNU Binutils
 GNU Bison
 GNU mp4
 GNU Debugger (GDB)
 GNU build system (autotools).

12
d. C libary

Trong hệ thống nhúng linux, ngôn ngữ được sử dụng chủ yếu là C, hoặc C++. Do đó, trong hệ
thống nhúng linux, cũng cần có công cụ hỗ trợ các hàm thư viện C. glibc (thư viện chuẩn C
trong GNU) chiếm khá nhiều chỗ, trong khi chúng ta cần tìm một thư viện C có đầy đủ các chức
năng và tương đối nhỏ.
uClibc (thư viện chuẩn C trong hệ thống nhúng linux) cung cấp hầu hết các chức năng tương tự
như GNU nhưng có kích thước nhỏ gọn hơn .
 Trong uClibc, Buildroot là một thành phần uClibc với những khuôngkhổ riêng, nó hỗ trợ
các tùy chọn cho phù hợp với nhiều nhu cầu của người dùng như:
 Target Architecture: Cho phép bạn chọn các mục tiêu kiến trúc mà các toolchain tạo ra
chương trình.
 Target Architecture Variant (optional): cấu hình một kiến trúc phụ để xây dựng.
 Target ABI (MIPS only): Các tùy chọn mục tiêu ABI, chỉ được cung cấp cho kiến trúc
MIPS.
 Target options: menu con này điều khiển một số thiết lập để người sử dụng để xây dựng
hệ thống tập tin Buildroot gốc. Nó không ảnh hưởng đến chuỗi công cụ biên dịch chéo.
 Build options: menu này cho phép bạn thiết lập một số tùy chọn khác nhau liên quan đến
chuỗi công cụ qua quá trình xây dựng.

13
IV. Phần cứng
Do tính ưu việc về khả năng hỗ trợ, tính cấu hình cao, hệ thống mạng ổn định... đã đưa Linux lên
vị trí đứng đầu trong thế giới nhúng.
Chính vì thế mà các nhà sản xuất chíp trên thế giới luôn quan tâm và cố gắng đưa sản phẩm mình
vào lĩnh vực đầy tiềm năng này.

4.1 Yêu cầu phần cứng:


Phải đáp ứng được được các yêu cầu sau:
Bộ vi xử lý / vi điều khiển 32 bit trở lên, có chứa một đơn vị quản lý bộ nhớ (MMU).
Phải đủ bộ nhớ RAM cung cấp cho hệ thống. Embedded Linux yêu cầu tối thiểu khoảng 4MB
SDRam và 2MB flash đối với một hệ thống bao gồm cả networking và file system. Tuy nhiên ta
cũng hoàn toàn có thể disable phần networking và file system này. Với bộ nhớ 16MB hoặc
32MB SDRAM và 4MB flash sẽ cho phép thêm các “rich set of applications” cho phép tăng hiệu
năng. Ngoài ra một số các hệ điều hành Embedded Linux có bộ nhớ nhỏ sau đây:
 uClinux được sử dụng cho dòng Motorola, ARM.
 ELKS (Embedded Linux Kernel Subset) được sử dụng cho các máy palm.
 ThinLinux được sử dụng cho các máy ảnh, camera, máy mp3…
 Nhân phải có khả năng tải hoặc truy cập vào một hệ thống tập tin gốc (root filesystem)
thông qua các thiết bị lưu trữ cố định hoặc kết nối thêm.

4.2 Khả năng tích hợp phần cứng

Hiện nay, hệ thống nhúng đang rất phát triển. Với FPGA, với ngôn ngữ mô tả phần cứng, với sự
hỗ trợ đắc lực của các phần mềm, chúng ta có thể dễ dàng xây dựng được một hệ thống tích hợp
trên một chip (SoC - system on chip).
Embedded Linux có nhiều phiên bản khác nhau, từ phiên bản tự xây dựng DIY (do- it- yourself)
đến các phiên bản thuơng mại độc lập như MontaVista, WindRiver…
Số luợng công ty sử dụng các phiên bản của Embedded Linux vẫn tiếp tục tăng nhanh. Các hãng
lớn như Motorola, NEC, Panasonic áp dụng thành công phiên bản MontaVista Linux trên hàng
triệu sản phẩm điện thoại di động; hãng Yamaha chọn OS để xây dựng sản phẩm MOTIF XS (bộ
tổng hợp sản phẩm âm nhạc) hiện đang đuợc sử dụng bởi các nhạc sĩ và ca sĩ nổi tiếng.

14
Các nhà thiết kế đã sử dụng Embedded Linux tạo ra những sản phẩm vuợt ngoài sự mong đợi: đồ
chơi, nguời máy công nghiệp, vệ tinh, bộ đọc sách e-book …

4.3 Xây dựng mô hình dựa vào phần cứng:


Kiến trúc nhân (Kernel Artchitecture)

Phần nhân: là thành phần lõi của hệ điều hành. Có chức năng:
 Quản lý phần cứng một cách hiệu quả đồng thời cung cấp giao diện lập trình, qua đó các
phần mềm sử dụng được phần cứng thông qua nhân.
 Điều khiển thiết bị, quản lý truy cập I/O, kiểm soát quá trình lập lịch (scheduling), thi
hành việc chia sẻ bộ nhớ, xử lý phân phối các tín hiệu, và phục vụ các nhiệm vụ khác.
a) Lớp dịch vụ bên trong nhân
Trong nhân, có hai lớp dịch vụ chính cung cấp các chức năng theo yêu cầu của ứng dụng :
 - Tương tác mức thấp (Low-level interfaces) là đặc trưng riêng cho các cấu hình phần
cứng mà trên đó nhân chạy và qui định để kiểm soát trực tiếp tài nguyên phần cứng
bằng cách sử dụng một phần cứng độc lập với API.
 - Các thành phần mức cao cung cấp các abstractions phổ biến cho tất cả các hệ thống
UNIX, bao gồm cả các tiến trình, tập tin, các socket, và tín hiệu.

15
b) Hoạt động
 Trong lúc hoạt động bình thường, nhân yêu cầu phải có ít nhất một cấu trúc filesystem đó
là root filesystem. Từ filesystem này nhân tải các ứng dụng đầu tiên chạy trên hệ thống.
Nhân cũng dựa vào filesystem này cho các họat động sau đó, như tải mô đun và cung cấp
mỗi tiến trình với một thư mục làm việc.
 Hệ thống tập tin gốc lưu trữ và họat động từ thiết bị lưu trữ thực hoặc tải vào bộ nhớ
RAM trong khi khởi động hệ thống và vận hành trên đó.
 Thư viện được sử dụng bởi hầu hết các ứng dụng Linux là thư viện GNU C glibc, thư
viện được liên kết động với các ứng dụng. Điều này cho phép nhiều ứng dụng có thể sử
dụng chung một thư viện. Thư viện C được tìm thấy trên filesystem của hệ thống, chẳng
hạn có thể tải thư viện một lần lên bộ nhớ RAM, các ứng dụng sẽ cùng chia sẻ thư viện
này. Tuy nhiên trên một số hệ thống nhúng, khi mà chỉ có một phần của thư viện được sử
dụng bởi một vài ứng dụng thì việc liên kết tĩnh giữa thư viện và ứng dụng sẽ tiết kiệm
được bộ nhớ và đảm bảo được tính gọn nhẹ của hệ thống.

 Hardware Abstraction Layer (HAL)


Trừu tượng hóa lớp hardware cho phép các driver khác nhau làm việc với các hardware khác
nhau.
 Mộtsố processor được Linux kernel 2.6 hỗ trợ như:
+MIPS
+PowerPC
+ARM
+M68K
+CRIS
+V850
+ SuperH
 HAL hỗ trợ một số thành phần phần cứng sau:
+ Processor, cache, và MMU(memory management unit)
+ Exception và interrupt
+ DMA
+ Timers
+ System console
+ Quản lý Bus
+ Power management

 Memory Manager
Nhân Linux chia tổng bộ nhớ cho phép thành các page, mỗi page có size là 4KB.
Tất cả các page này đều có thể được truy cập từ kernel, tuy nhiên chỉ một phần trong số
chúng được kernel sử dụng và phần còn lại sẽ dành cho các ứng dụng.
Khi một ứng dụng được thực thi thì không phải toàn bộ ứng dụng sẽ được load vào bộ nhớ
mà chỉ nhứng page cần thiết mới được trao đổi giữa bộ nhớ và storage.

16
 Scheduler
Bộ lập lịch cung cấp khả năng multitasking bằng cách sử dụng các đối tượng:
 Kernel Thread
 User Process
 User Thread

 File System (Hệ thống quản lý file )


Được quản lý bởi lớp gọi là Virtual File System (VFS) cho phép xem xét dữ liệu được lưu
trữ trong nhiều thiết bị khác nhau của hệ thống.
Mọi hệ thống Embedded Linux đều có một master file system : “root file system” hoạt động
khi hệ thống khởi động. Sau đó nhiều file system khác sẽ được hoạt động dựa trên root đó.

 IO Subsystem
Hỗ trợ 3 loại thiết bị:
 Character device.
 Block device.
 Network device.

 Networking Subsystems
Cung cấp nhiều giao thức network khác nhau.
 SNMP-Remote Administrator
 SSH
 HTTP
 DHCP

 Linux Start-Up Sequence


Quá trình khởi động Embedded Linux diễn ra như sau:
Boot loader phrase: Thực hiện việc khởi tạo, kiểm tra phần cứng, load kernel từ flash
memory và trao quyền điều khiển cho kernel
Kernel initialization phase: thực hiện các tác vụ phù hợp với từng platform, khởi tạo và thực
thi các kernel subsystem, khởi động multitasking và root file system rồi chuyển tới user space.
User- space initialization phase: khởi động các dịch vụ, phần network.

V. Ưu nhược điểm Embedded Linux


5.1 Ưu điểm
a.Chi phí thấp: chi phí phát triển, giá thành cho thuê rẻ, không mất phí bản quyền, thời gian
bảo trì hệ thống thấp.
b. Mã nguồn mở: độc lập với nhà sản xuất, được phát triển bởi nhiều hãng, nhiều người với
nhân Linux và các ứng dụng khác.
c. Giao diện Hệ Điều Hành gọn nhẹ (Portable Operation System Interface)
d. Khả năng xử lí mạnh: Hiệu suất thực thi cao, nhanh, tần suất thất bại thấp, chạy ổn định,
hỗ trợ nhiều tập công cụ và tiện ích, khả năng làm việc với mạng cao.

17
e. Hỗ trợ đa dạng phần cứng: từ 1 đến nhiều vi xử lí, từ các hệ thống đơn giản đến phức tạp,
hỗ trợ đầy đủ khả năng tùy biến người dùng trong tất cả các thành phần của nó.

5.2 Nhược điểm


Embedded Linux không phải là hệ điều hành thời gian thực:
 Nên có thể không phù hợp với một số ứng dụng như điều khiển quá trình.
 Các ứng dụng có các yêu cầu xử lý khẩn cấp.
 Thiếu một chuẩn thống nhất.
 Không phải là sản phẩm của một nhà cung cấp duy nhất, nên khả năng hỗ trợ kỹ thuật ít.

5.3 So sánh với các hệ nhúng khác(Win CE)

18
VI. Giới thiệu về ứng dụng và hệ điều hành mở rộng
6.1 Hướng phát triển của các ứng dụng và hệ điều hành mở rộng
Ngoài việc sử dụng các hệ thống chính Atagi, Apple, windows...Thì hệ thống máy trạm của HP,
Sun,Apollo... vẫn dùng nền tảng của embedded linux để phát triển các ứng dụng của mình mặc dù
công nghệ có thể phát triễn càng ngày càng mới nhưng nó vẫn kế thừa từ m68k, ARM, MIPS, SH,
and PowerPC... để thiết kế hệ thống nhúng cho riêng mình.

Hạt nhân được tích hợp để chứa các biến thể và tạo thuận lợi cho việc bổ sung các hệ thống khác
dựa trên m68k. Mỗi hệ thống đã thiết lập riêng của mình các module cụ thể để giao tiếp với phần
cứng. Mỗi hệ thống có một cách thức ngắt khác nhau, và các mã nguồn hạt nhân phản ánh sự khác
biệt này bằng việc có một bộ khác nhau của các chức năng để đối phó với cài đặt gián đoạn và xử lý
đối với từng loại hệ thống.

Kể từ khi phiên bản MMU ra đời thì m68k hiếm khi được sử dụng hiện nay trong các thiết kế mới.
Ngoài ra : Hiện nay, embedded Linux có nhiều phiên bản khác nhau, từ phiên bản tự xây dựng DIY
( do-it-yourself) đến các phiên bản thuơng mại độc lập như MontaVista, WindRiver…Số luợng công
ty sử dụng các phiên bản của embedded Linux vẫn tiếp tục tăng nhanh. Các hãng lớn như Motorola,
NEC, Panasonic áp dụng thành công phiên bản MontaVista Linux trên hàng triệu sản phẩm điện thoại
di động; hãng Yamaha chọn OS để xây dựng sản phẩm MOTIF XS (bộ tổng hợp sản phẩm âm nhạc)
hiện đang được sử dụng bởi các nhạc sĩ và ca sĩ nổi tiếng. Sự sáng tạo là không có điểm dừng. Các
nhà thiết kế đã sử dụng embeddedLinux tạo ra những sản phẩm vuợt ngoài sự mong đợi: đồ chơi,
nguời máy công nghiệp, vệ tinh, bộ đọc sách e-book...

Các hệ thống tự động đã được chế tạo trên nhiều công nghệ khác nhau như các thiết bị máy móc
tự động bằng các chốt cơ khí, các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, rơle
cơ điện, mạch điện tử số ... các thiết bị, hệ thống này có chức năng xử lý và mức độ tự động thấp so
với các hệ thống tự động hiện đại được xây dựng trên nền tảng của các hệ thống nhúng.
Ta có thể thấy quá trình các hệ nhúng thâm nhập vào từng phần tử, thiết bị thuộc lĩnh vực tự động hóa
như đầu đo, cơ cấu chấp hành, thiết bị giao diện với người vận hành thậm chí vào các rơle, contactor,
nút bấm mà trước kia hoàn toàn làm bằng cơ khí.

Khác với PC thường chạy trên nền hệ điều hành windows hoặc unix, các hệ thống nhúng có các
hệ điều hành nhúng riêng của mình. Các hệ điều hành dùng trong các hệ nhúng nổi trội hiện nay bao
gồm Embedded linux, VxWorks, WinCE, Lynyos, BSD, Green Hills, QNX và DOS, Embeddde linux
hiện đang phát triển mạnh. Năm 2001 hệ điều hành này chiếm 12% thị phần các hệ điều hành nhúng
thì năm 2002 chiếm 27% và chiếm vị trí số 1. Hiện nay 40% các nhà thiết kế các hệ nhúng cân nhắc
đầu tiên sử dụng Embedded linux cho các ứng dụng mới của mình và sau đó mới đến các hệ điều
hành nhúng truyền thống như VxWorks, WinCE. Các đối thủ cạnh tranh của Embedded linux hiện
nay là các hệ điều hành nhúng tự tạo và windows CE. Sở dĩ Embedded linux có sự phát triển vượt bậc
là do có sức hấp dẫn đối với các ứng dụng giá thành thấp và đòi hỏi thời gian đưa sản phẩm ra thị
trường nhanh. Mặt khác Linux là phần mềm mã nguồn mở nên bất kỳ ai cũng có thể hiểu và thay đổi
theo ý mình. Linux cũng là một hệ điều hành có cấu trúc module và chiếm ít bộ nhớ trong khi
windows không có các đặc tính ưu việt này. Do thị trường của các sản phẩm nhúng tăng mạnh lên các

19
nhà sản xuất ngày càng sử dụng các hệ điều hành nhúng để đảm bảo sản phẩm có sức cạnh tranh và
Embedded linux đang là sản phẩm hệ điều hành nhúng có uy tín chiếm vị trí số 1 trong những năm tới.

6.2 Tìm hiểu thêm về các ứng dụng và hệ điều hành mở rộng

a. Wind River Linux 4


Wind River Linux là dẫn đầu thị trường thương mại phát triển nền tảng Embedded Linux
và là sản phẩm đầu tiên mang lại cho các nhà sản xuất thiết bị lợi thế của phần mềm mã
nguồn mởmà không có rủi ro. Được thiết kế để nhúng, Wind River Linux lắp ráp, tích
hợp, và xác nhận tất cả các thành phần mà các công ty cần phát triển, thử nghiệm, và hỗ
trợ rất khác biệtcác thiết bị một cách nhanh chóng với chi phí hiệu quả. Dựa trên Linux
2.6.34+ kernelvà 4.4.1/eglibc gcc 2.11/gdb 7 công cụ, Wind River Linux 4 cung cấp
cho khách hàng công nghệ mới nhất với sự ổn định lớn nhất có thể. Nó hỗtrợ đầy đủ các kiến
trúc phần cứngnhúng và cung cấp lựa chọn rộng nhất của ngành công nghiệp ảo hóa và cốt
lõi đa khả năng fload, kernel, dựa trên KVM để các-đa hệ điều hành Wind
river Hypervisor, chophép khách hàng để đổi mới với các multiprocessors ngày nay tiên tiến
nhất .

 Platform cho phép cải tiến


o Wind River Linux cung cấp cho tất cả mọi thứcần để tạo ra các thiết bị mạnh
mẽ dựa trên hệ điều hành linh hoạt nhất hiện nay. Bắt đầu phát triển trong một
ngày, lựa chọn từ hàng trăm các gói mã nguồn mở, và được hưởng lợi từ hỗ
trợ phần cứng của ngành công nghiệp rộng cho tất cả các kiến trúc chính. Xây
dựng trên mã nguổn mở được kiểm tra kỹ lưỡng và được hỗ trợ đầy đủ cho
phép theo dõi chính xác các dòng sản phẩm của bạn từ mã nguồn mở gốc của
mình thông qua bất kỳ thay đổi từ việc bổ sung các bản vá lỗi, gói , hoặc mã
độc quyền. Minh bạch này là vô giá khi có thể kiểm tra, gỡ lỗi, và chỉnh sửa
tài liệu giấy phép hoặc sửa đổi sản phẩm
 Được cấu hình sẵn nhanh chóng đưa ra thị trường
o Wind River Linux cung cấp hồ sơ hệ thống cấu hình sẵn
cho các ngành công nghiệp cụ thể và các loại thiết bị để nhanh chóng theo

20
dõi quá trình phát triển của bạn. Bằng cách nhận diện, lắp ráp, tích
hợp các gói thường được sử dụng, Wind River Linux giúp bạn tiết
kiệmtuần hoặc vài tháng lao động vì vậy bạn có thể tập trung nguồn lực vào
việc tạo ra các thiết bị tùy biến rất cao.
 Hệ thống xây dựng mạnh mẽ giảm thiểu sự phức tạp
o Từ cài đặt dễ dàng và sửa đổi,kernel và bổ sung các hệ thống tập
tin gốc tới việc sử dụng cross-compiling duy nhất cho phát triển nhúng, sự mở
rộng của Wind River, hệ thống xây dựng trực quan cung cấp một phương
pháp để tiết kiệm thời gian, để đạt được sự rõ ràng, vàquản lý, lưu trữ, và chia
sẻ các bộ phận của phát triển hệ thống giữa các dự án và các đội,thậm
chí qua các công ty lớn nhất. Dựa trên các "lớp", Wind River Linux công
cụ phân bố Assembly (LDAT) hợp lý hóa và đơn giản hóa tất cả các bước
của quá trình phát triển Linux, ràsoát và đảo ngược những thay đổi để nhanh
chóng giải quyết vấn đề hiệu suất, lỗi hoặc khiếm khuyết.
o Bởi vì một lớp có thể được làm nhỏ như là một gói duy nhất hoặc phức tạp
như phân phối, các đội có thể sử dụng LDAT để đẩy nhanh tiến trình công
việc và loại bỏ nỗ lực dự phòng. Lớp cũng cung cấp một cách đơn giản và có
hệ thống riêng biệt mã nguồn mở và phần mềm độc quyền.
 Các công cụ cho các nhóm phát triển lựa chọn
o Wind River Linux đi kèm với Workbench Wind River Workbench, bộ ứng
dụng đã đặt giải thưởng cho sản phẩm phát triển của
Eclipse. Workbench không chỉ cung cấp khả năng hỗ trợ trên toàn bộ vòng
đời phát triển, nó tạo thuận lợi cho việc phát triển đa hệ điều hành , đa lõi và
các máy chủ với một số plug-in mạnh mẽ để phân tích và gỡ lỗi trên chip.
o Ngoài ra, Wind River Linux bao hàm và mở rộng khả năng của công cụ mã
nguồn mở, ví dụ, bổ sung đầy đủ khả năng theo dõi thay đổi
cho oprofile và mpatrol để làm cho họ mạnh hơn và tốt hơn phù hợp với phát
triển nhúng. Trên Wind River Linux 4 mới, Targer Comunication
Framework tạo thuận lợi cho thông tin liên lạc giữa nhiều máy chủ và các
mục tiêu. Đối với các nhà phát triển những người thích lập trình dòng
lệnh , Wind River Linux cung cấp một tập hợp phong phú các công cụ.
 Tuân thủ các tiêu chuẩn đảm bảo chất lượng
o Wind River Linux là sản phẩm đầu tiên được chính thức chứng nhận cung cấp
các đặc điểm kỹ thuật của Linux 4.0. Wind River Linux 4 được xây dựng
để tương thích với thế hệ tiếp theo CGL 5.0 ,các yêu cầu sẵn sàng cao, khả
năng phục vụ và làm việc theo thời gian thực. Ngoài ra, Wind River Linux
4 phù hợp với tiêu chuẩn cơ bản của Linux4 (LSB) các yêu cầu sắc cho ứng
dựng mang tính di động và các API mở. Và Wind River Linuxđáp ứng
các quy định xuất khẩu của chính phủ Mỹ.
 Giải pháp công nghệ ảo tận dụng phần cứng
o Thông qua sắc môi trường phát triển Workbench vàWind
River Hypervisor, người dùng Wind River Linux có thể có đầy đủlợi thế về
hiệu suất, chi phí và điện năng tiêu thụlợi ích gắn liền với đa xử lý không đối
xứng (AMP)và đối xứng (SMP) và đa lõiphát triển cho các hệ
thống nhúng, ngay cả trong môi trườngđòi hỏi phải có giấy chứng nhận và
thời gian thực.
21
o Wind River dẫn đầu thị trường đa lõi và các giải pháp công nghệ ảo được xây
dựng trên quan hệ đối tác chặt chẽ với nhà cung cấp chip xử lí hàng đầuvà tối
ưu hóa cho một loạt các cấu trúc phần cứng hàng đầucũng như đối với tiêu
chuẩn công nghiệp sắc sắc Wind Riverhệ thống sắc điều sắc thời gian thực,
VxWorks. Wind River Linux 4 đầy đủhỗ trợ sắc tất cả các Kernel Virtual
Machine (KVM) khả năng củaLinux 2.6.34 kernel.
 Lợi thế thương mại giảm nhẹ rủi ro
o Wind River Linux là sản phẩm thương mại và mang tính kinh doanh nhờ
vào chiều sâu của kiểm tra, bảo trì, hỗ trợ, dịch vụ,nguồn lực, pháp lý và các
đối tác phía sau nó:
• Kiểm tra: Wind River cam kết cung cấp sản phẩm chất lượng cho cả độc
quyền và mã nguồn mở dựa trên công nghệ Gies. Chính sách của chúng
tôi chất lượng bao gồm kiểm tra mã chính thức, đánh giá ngang hàng, đánh
giá dự án sắc, kiểm toán chương trình, và có thể theo dõi thay đổi yêu cầu
quản lý. Wind River Linux đã được tạo ra sau một quá trình với phương
pháp kiểm tra kỹ lưỡng các tính năng quan trọng trên tất cả các cấu hình tham
khảo được hỗ trợ (xác định bởi máy chủ phát triển, hạt nhân, và cấu
hình gói vàhỗ trợ hội đồng quản trị) Wind River Linux 4 underwentmore hơn
300.000 bài kiểm tra tự động chạy trước khi phát hành.
• Bảo trì : Đội bảo trì Wind River Linux không chỉ kết nối với cộng đồng mã
nguồn mở hiện tại, nó là nhiệm vụ duy trì an toàn sản phẩm trong một thị
trường phát triển nhanh và mang tính kết nối cao. Có một đội ngũ kỹ sư dành
toàn bộ thời gian để theo dõi và giải quyết hàng ngàn cảnh báo bảo mật phát
hành mỗi năm bởi cộng đồng Linux, các cơ quan chính phủ, và các tổ chức
khác trên sắc sắc sắc. Ngoài ra, Wind River giúp bạn hiện tại với các bản vá
lỗi mới nhất, các gói dịch vụ, và cập nhật để dự án của bạn và các sản
phẩm của sắc luôn cập nhật sắc.

 9 lý do nên chọn hệ điều hành Wind River Linux 4


Từ năm 2004, các nền tảng Linux Wind River đã cung cấp tốt nhất của công nghệ quả mã
nguồn mở, tích hợp và tối ưu hóa cho phát triển nhúng, với tầm nhìn, sự đổi mới, và giảm
nhẹ rủi quả kinh doanh chỉ có một nhà cung cấp công nghệ trưởng thành có thể cung
cấp.Khách hàng của chúng tôi sử quả nền tảng của chúng tôi để tạo ra quả thiết quả mang
tính đột phá một quả quả quả và chi phí có quả quả. Dưới đây là chín lý do hàng
đầu quả kháchquả của chúng tôi chọn Wind River Linux trên thương mại và cũng như lựa
chọn thay thế của riêng bạn:

22
1. Run-time: Bắt đầu phát triển thiết bị

• Hơn 550 gói phần mềm, tích hợp và tối ưu hóa cho các thiết bị nhúng
• cấu hình được làm sẵn và mang tính đặc thù cho công nghiệp.
• thời gian thực và công nghệ ảo.
• dấu vết nhỏ, khởi động nhanh, và quản lý năng lượng.
• Multi-core tối ưu hóa.
• mạnh mẽ, trực quan xây dựng hệ thống cho quả môi trường phát triển phức
tạp và
sắp xếp hợp lý quy trình làm việc.
• Các thử nghiệm trên hơn 60 gói hỗ trợ hội đồng quản trị (BSPS)

2. Công cụ: Chọn tốt nhất cho mỗi giai đoạn chu kỳ

• Môi trường phát triển dựa trên Eclipse


• Chấp nhận, mở rộng, và được tối ưu hóa công cụ mã nguồn mở cho phát triển
nhúng
• Chức năng cấu hình hệ thống và và phân tích
• Debugging và biên soạn chéo.
• quản lý cấu hình nguồn
• Phần cứng mô phỏng và kiểm thử tự động
• Multi-core enablement
• Hỗ trợ dòng lệnh.
• thời gian thực và công nghệ ảo

23
3. Dịch vụ: chuyên môn sâu Linux đáp ứng ngân sách dự án của bạn

• Đánh giá
• Tư vấn
• Cài đặt và tích hợp
• Đào tạo (tại chỗ hoặc trực tuyến)
• Tùy biến
• Lộ trình tăng tốc
• Phân bố ,bảo trì
4. Chứng nhận và tiêu chuẩn: Tạo các thiết bị đáng tin cậy

• Carrier Grade Linux 5 (sẵn sách, độ tin cậy, khả năng mở rộng)
• Linux tiêu chuẩn cơ sở 4 (ứng dụng di động và mở API)
• Security-Enhanced Linux (SELinux) thực hiện
• Mở tiêu chuẩn tuân thủ, các khoản đóng góp thường xuyên thượng nguồn
• IPv6 (cần thiết cho thiết bị kết nối)
• EAL4 + cho trung bình đến cao bảo mật FIPS 140-2 (an toàn mật mã),
FDA Level 2
• Tiêu chuẩn xuất khẩu của Mỹ.

24
5. Giảm thiểu rủi ro: Bảo vệ đầu tư kinh doanh của bạn và sở hữu trí tuệ

• Kiểm tra các vấn đề cấp giấy phép 16 tháng cho mỗi bản phát hành chính của tất
cả cácgói mã nguồn mở
• Hơn 1.600 trang tài liệu giấy phép với mỗi bản phát hành chính
• 100,00 giờ kiểm tra và bảo đảm chất lượng cho mỗi thông cáo
• Các kỹ sư chuyên giám sát và giải mỗi mỗi cảnh báo bảo mật xung quanh đồng
hồ
• Chuyên gia hướng dẫn thực hành cấp phép nguồn mở tốt nhất
6. Hỗ trợ: Đảm bảo chất lượng thiết bị và sự hài lòng của khách hàng

• Hỗ trợ trên toàn thế giới và đa ngôn ngữ.


• Sáu các trung tâm hỗ trợ, 20 đầu mối
• Hơn 150 kỹ sư hỗ trợ
• Lựa chọn tiêu dẫn, phí bảo hiểm, hoặc dài hạn mức hỗ trợ
• Dịch vụ Khả năng và hiệu suất (SCP) giấy chứng nhận
• phát triển cộng đồng
• Hỗ trợ ngay khi bạn cần.

25
7. Vòng đời: Duy trì chất lượng thiết bị và tiền tệ theo thời gian

• Năm năm để sửa lỗi và bảo mật, tiết kiệm chi phí ước tính cho khách
hàng khoảng 400 ngàn dollar cho mỗi năm
• Dự đoán được lộ trình và chu kỳ phát hành lớn
• Miễn phí phục vụ gói và cập nhật sản hàng cho khách hàng với các mục đăng
ký hỗ trợ hiện tại
• Thường xuyên hỗ trợ trên các bản phát hành
8. Ecosystem: Tiết kiệm thời gian và tiền bạc lên và xuống ngăn xếp

• Danh mục đầu tư công nghiệp hàng đầu của các đối tác bán dẫn và hội đồng
quản trị
• quan hệ đối tác nhà cung cấp phần mềm độc tệ (ISV)
• Tối ưu hóa các giải pháp theo chiều dọc
• các tập đoàn lãnh đạo và sáng tạo
• Hơn 200 kỹ sư Linux đóng góp thường xuyên thượng nguồn

26
9. Danh mục đầu tư: Sử dụng đa lõi và đa hệ điều hành các giải pháp

• Mạng lưới Wind River với nền tảng tăng tốc (khả năng mở rộng hiệu suất tuyến
tính)
• Wind River Hypervisor (multi-core và công nghệ ảo)
• OpenSAF (middleware tăng tốc)
• Nhiều cấp độ bảo tệ độc lập(bí mật hàng đầu và dữ liệu công việc)
• Wind River Simics (mô phỏng phần cứng tiên tiến)
• VxWorks (hệ điều hành mạnh mẽ thời gian thực)

27
b) BAE System
 “Linux là vua trong lĩnh vực các thiết bị nhúng ”. Các thiết bị (hoặc hệ thống) nhúng –
embedded devices – là những thiết bị điện tử điều khiển bằng phần mềm trong các
phương tiện vận tải, đồ dùng gia dụng (máy giặt, tủ lạnh, đồ chơi, điều hòa nhiệt độ, …),
khí tài quân sự, … Dưới đây là một ví dụ).
 Hãng sản xuất vũ khí BAE Systems Bofors (Karlskoga, Sweden) đã chọn MontaVista
Linux để điều khiển các hệ thống pháo mặt đất và pháo trên tàu chiến mới nhất của hãng.
Việc chọn bộ phần mềm Linux nhúng thương mại này nhằm mục đích lập trình nhanh và
có sự hỗ trợ dài hạn mà các ứng dụng quân sự yêu cầu.Theo
công ty MontaVista,

 Khi BAE bắt đầu lựa chọn nền tảng phần mềm cho các hệ
thống mới pháo mặt đất và pháo trên tàu của họ, họ xem xét cả các hệ điều hành thời gian
thực (Real-time Operating System – RTOS) truyền thống và các giải pháp phần mềm
nguồn mở như Linux.Vì các hệ thống pháo mới dùng các bộ vi xử lý tiêu chuẩn, các phần
cứng thương mại có sẵn và một số phần cứng riêng của hãng nên có rất nhiều phương án
hệ điều hành và môi trường phát triển ứng dụng để chọn lựa.
 Do bản chất sản phẩm, BAE cần một nền tảng tin cậy và có chất lượng cao nhất.Cuối
cùng BAE quyết định chọn Linux làm môi trường phát triển và dùng hệ điều hành
MontaVista Linux Professional Edition. MontaVista nói họ được chọn vì chất lượng
thương mại, sự hỗ trợ dài hạn và số các nền tảng phần cứng mà MontaVista Linux hỗ trợ.
Chọn MontaVista, BAE có thể nhanh chóng nâng cao kỹ năng và tài năng đội chuyên gia
Linux của họ và có cộng đồng Linux rộng lớn.“ Các khách hàng quân sự cần hệ thống có
chất lượng tốt nhất, hỗ trợ dài hạn. Đồng thời, BAE cũng cần một môi trường phát triển
cho phép xây dựng nhanh các hệ thống mới thỏa mãn nhu cầu khách hàng,” Mikael
Alfredsson, giám đốc thiết kế điện & điện tử của BAE nói. “Bằng cách chọn MontaVista
chúng tôi có thể thực hiện các mục tiêu đó với một hệ điều hành nguồn mở chất lượng
cao nhất, phát triển phần mềm nhanh và có sự hỗ trợ dài hạn từ các chuyên gia Linux.”

28
 Biểu đồ doanh thu của BAE system năm 2008

VII. Chương trình minh họa


Chương trình play mp3 trên điện thoại

1) Giới thiệu về chương trình:


Chương trình được viết trên nền ngôn ngữ Java, chạy trên các điện thoại có sử dụng hệ điều hành
Android 2.2 trở lên.
Chức năng chính của chương trình là chạy các file nhạc có định dạng .mp3 .
Lý do chọn ứng dụng:do điều kiện về kiến thức và công cụ hỗ trợ để viết phần mềm trên hệ điều
hành Embedded Linux không cho phép ,nên nhóm đã viết 1 chương trình trên hệ điều hành
Android ,đây cũng là một ứng dụng chạy trên hệ điều hành nhúng

2) Cơ chế hoạt động của chương trình:


Chương trình sẽ quét tất cả các file nhạc có định dạng .mp3 được lưu trữ trong thẻ nhớ của điện
thoại

29
Sau đó người dùng sẽ chọn các bài hát mà mình thích bằng cách tích vào ô ở bên cạnh tên bài hát
trong danh sách.Sau đó click vào nút Add.

30
Các bài hát đã được chọn sẽ được đưa vào một list nhạc. Chương trình tự động chạy các file
trong list bài hát

Tương tự như các chương trình play music khác, chương trình hỗ trợ cho phép bạn pause/
resume / next / forward . Nếu bạn muốn chạy đến một đoạn bất kì trong bài hát bạn chỉ việc đi
chuyển con trỏ trong seekbar.

31
Ngoài ra bạn có thể điều chỉnh volume to nhỏ theo ý thích bằng cách click vào icon hình chiếc
loa ở trên thanh công cụ của chương trình.

Nếu bạn muốn bật một bài hát bất kì trong list, bạn chỉ cần click vài tên bài hát trong list.

32
IX. Tài liệu tham khảo
 Embedded Linux®(embedded-linux-hardware-software-and-interfacing ):
Hardware, Software, and Interfacing By Craig Hollabaugh Ph.D.
 Building Embedded Linux Systems :Karim Yaghmour, Jon Masters, Gilad Ben-Yossef,
and Philippe GerumTomcat™The Definitive Guide Jason Brittain and Ian F. Darwin
 Introduction to embedded Linux : Michael Opdenacker Thomas Petazzoni Free
Electrons
 http://zxc232.wordpress.com/2010/01/23/bae-systems-dung- montavista- linux-
di%E1%BB%81u-khi%E1%BB%83n-cac-h%E1%BB%87-th%E1%BB%91ng-sung/
 http://cdtvn.net/index.php?option=com_content&view=article&id=115:embed-
system&catid=51:mechatronics-hardware&Itemid=267
 http://en.wikibooks.org/wiki/Embedded_Systems
 http://www.codientu.biz/index.php?option=com_content&task=view&id=118&Itemid=2
67

33

You might also like