46
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 1 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

Embedded linux edited

Embed Size (px)

Citation preview

Page 1: Embedded linux edited

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆ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

Hà Nội 10/2011

1

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

Page 2: Embedded linux edited

Mục lụcI. 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

Page 3: Embedded linux edited

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

Page 4: Embedded linux edited

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

Page 5: Embedded linux edited

I. Giới thiệu1. Đị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úngMộ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 nayCá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

Page 6: Embedded linux edited

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

Page 7: Embedded linux edited

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

Page 8: Embedded linux edited

Một số Embedded Linux Os được sử dụng hiện nayCá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 System2.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

Page 9: Embedded linux edited

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 LinuxTrướ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

Page 10: Embedded linux edited

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

Page 11: Embedded linux edited

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

Page 12: Embedded linux edited

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.

ToolchainLà 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

Page 13: Embedded linux edited

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

Page 14: Embedded linux edited

IV. Phần cứngDo 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

14

Page 15: Embedded linux edited

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.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ânTrong 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

Page 16: Embedded linux edited

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 ManagerNhâ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

Page 17: Embedded linux edited

SchedulerBộ 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 SubsystemHỗ trợ 3 loại thiết bị:

Character device. Block device. Network device.

Networking SubsystemsCung cấp nhiều giao thức network khác nhau.

SNMP-Remote Administrator SSH HTTP DHCP

Linux Start-Up SequenceQuá 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 kernelKernel 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

V.1 Ưu điểma.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

Page 18: Embedded linux edited

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

V.2 Nhược điểmEmbedded 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.

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

18

Page 19: Embedded linux edited

VI. Giới thiệu về ứng dụng và hệ điều hành mở rộngVI.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

19

Page 20: Embedded linux edited

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 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 4Wind 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ếno 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

20

Page 21: Embedded linux edited

Được cấu hình sẵn nhanh chóng đưa ra thị trườngo 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 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ạpo 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ọno 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ượngo 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ứngo 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

21

Page 22: Embedded linux edited

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.

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 roo 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 4Từ 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

Page 23: Embedded linux edited

23

Page 24: Embedded linux edited

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

24

Page 25: Embedded linux edited

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

25

Page 26: Embedded linux edited

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.

26

Page 27: Embedded linux edited

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

27

Page 28: Embedded linux edited

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)

28

Page 29: Embedded linux edited

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

29

Page 30: Embedded linux edited

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.”…

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

VII. Chương trình minh họaChươ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

30

Page 31: Embedded linux edited

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.

31

Page 32: Embedded linux edited

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.

32

Page 33: Embedded linux edited

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.

33

Page 34: Embedded linux edited

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=267

34