SlideShare a Scribd company logo
1 of 33
1
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
Hà Nội 10/2011
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
2
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
3
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
4
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
5
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
6
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
7
 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…
8
 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.
9
 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…
10
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).
11
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…
12
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).
13
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.
14
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.
15
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.
16
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.
17
 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.
18
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)
19
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ểncủ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
20
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
21
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.
22
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:
23
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
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
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
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
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
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.”
…
29
 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
30
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
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
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
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

More Related Content

What's hot

Bao cao nhap mon dien tu vien thong
Bao cao nhap mon dien tu vien thongBao cao nhap mon dien tu vien thong
Bao cao nhap mon dien tu vien thongshockwavetn94
 
Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520Vũ Anh
 
CCNA LAB - Cisco Packet Tracer
CCNA LAB - Cisco Packet TracerCCNA LAB - Cisco Packet Tracer
CCNA LAB - Cisco Packet TracerLeDinh16
 
03 lap trinh hop ngu voi 8086
03 lap trinh hop ngu voi 808603 lap trinh hop ngu voi 8086
03 lap trinh hop ngu voi 8086onlylove511
 
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...Man_Ebook
 
Giáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTUGiáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTUNgô Doãn Tình
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...The Nguyen Manh
 
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...luanvantrust
 
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngmạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngChia sẻ tài liệu học tập
 
Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Ky Nguyen Ad
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechMasterCode.vn
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdlhoangclick
 
Hướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwareHướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwarelaonap166
 

What's hot (20)

Bao cao nhap mon dien tu vien thong
Bao cao nhap mon dien tu vien thongBao cao nhap mon dien tu vien thong
Bao cao nhap mon dien tu vien thong
 
Xây Dựng Mạng LAN
Xây Dựng Mạng LANXây Dựng Mạng LAN
Xây Dựng Mạng LAN
 
Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520
 
CCNA LAB - Cisco Packet Tracer
CCNA LAB - Cisco Packet TracerCCNA LAB - Cisco Packet Tracer
CCNA LAB - Cisco Packet Tracer
 
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
 
03 lap trinh hop ngu voi 8086
03 lap trinh hop ngu voi 808603 lap trinh hop ngu voi 8086
03 lap trinh hop ngu voi 8086
 
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...
Luận văn Thạc sĩ Nghiên cứu các kỹ thuật của IoT và các ứng dụng của nó cho n...
 
Đề tài: Hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gas
Đề tài: Hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gasĐề tài: Hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gas
Đề tài: Hệ thống cảnh báo, phòng chống hỏa hoạn và rò rỉ khí gas
 
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...
đO nhiệt độ dùng cảm biến ds18 b20 sử dụng board arduino, hiển thị trên lcd, ...
 
Giáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTUGiáo Trình Môn Đặc Tả Hình Thức-ICTU
Giáo Trình Môn Đặc Tả Hình Thức-ICTU
 
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
[Báo cáo] Bài tập lớn Kỹ thuật phần mềm ứng dụng: Thiết kế hệ thống quản lý p...
 
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...
Thiết kế đồng hồ số sử dụng bộ công cụ phần mềm thiết kế IC chuyên nghiệp của...
 
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lườngmạch tổ hợp và mạch trình tự - Điện tử Đo lường
mạch tổ hợp và mạch trình tự - Điện tử Đo lường
 
Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr Giáo trình vi điều khiển avr
Giáo trình vi điều khiển avr
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - Aptech
 
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOTLuận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
 
Đề tài Quản lý tiền điện
Đề tài Quản lý tiền điệnĐề tài Quản lý tiền điện
Đề tài Quản lý tiền điện
 
Bai giang-vhdl
Bai giang-vhdlBai giang-vhdl
Bai giang-vhdl
 
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự độngĐề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
Đề tài: Hệ thống giám sát quá trình chiết rót và đóng nắp chai tự động
 
Hướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmwareHướng dẫn xây dựng mô hình mạng với vmware
Hướng dẫn xây dựng mô hình mạng với vmware
 

Viewers also liked

Viewers also liked (20)

Cancer
CancerCancer
Cancer
 
skydrive_word_doc
skydrive_word_docskydrive_word_doc
skydrive_word_doc
 
141214 artikel Ondernemers December 2014
141214 artikel Ondernemers December 2014141214 artikel Ondernemers December 2014
141214 artikel Ondernemers December 2014
 
Iguana verda
Iguana verdaIguana verda
Iguana verda
 
tigre argentina
tigre argentinatigre argentina
tigre argentina
 
Circulo Completo cap1
Circulo Completo cap1Circulo Completo cap1
Circulo Completo cap1
 
Safe Patch - Do you know where your loved ones have wandered off to?
Safe Patch - Do you know where your loved ones have wandered off to?Safe Patch - Do you know where your loved ones have wandered off to?
Safe Patch - Do you know where your loved ones have wandered off to?
 
lively and bright color of human hair. Matches color #613.
lively and bright color of human hair. Matches color #613.lively and bright color of human hair. Matches color #613.
lively and bright color of human hair. Matches color #613.
 
Employerland Presentation for HR Specialists
Employerland Presentation for HR SpecialistsEmployerland Presentation for HR Specialists
Employerland Presentation for HR Specialists
 
Quem somos
Quem somos Quem somos
Quem somos
 
Peix manta
Peix mantaPeix manta
Peix manta
 
solar pv
solar pvsolar pv
solar pv
 
Delphi Essentials - Palestra
Delphi Essentials - PalestraDelphi Essentials - Palestra
Delphi Essentials - Palestra
 
SFCfinalartworkaugust
SFCfinalartworkaugustSFCfinalartworkaugust
SFCfinalartworkaugust
 
法・条例によらずに設置されている長野市付属機関等の一覧
法・条例によらずに設置されている長野市付属機関等の一覧法・条例によらずに設置されている長野市付属機関等の一覧
法・条例によらずに設置されている長野市付属機関等の一覧
 
Caratula
CaratulaCaratula
Caratula
 
EDD (Error Driven Development)
EDD (Error Driven Development)EDD (Error Driven Development)
EDD (Error Driven Development)
 
Presentation1
Presentation1Presentation1
Presentation1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Test
TestTest
Test
 

Similar to Embedded linux edited

ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfMan_Ebook
 
bao cao linux
bao cao linuxbao cao linux
bao cao linuxbinhnv186
 
DATN-Blockchain in VoD-2019
DATN-Blockchain in VoD-2019DATN-Blockchain in VoD-2019
DATN-Blockchain in VoD-2019Nam Nguyen
 
Embedded beta2 new
Embedded beta2 newEmbedded beta2 new
Embedded beta2 newNguyễn Anh
 
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang VcNhat Thien
 
Hướng dẫn sử dụng hệ điều hành Ubuntu
Hướng dẫn sử dụng hệ điều hành UbuntuHướng dẫn sử dụng hệ điều hành Ubuntu
Hướng dẫn sử dụng hệ điều hành UbuntuQuang Ngoc
 
Lệnh CMD_NewStar-LPI1.pdf
Lệnh CMD_NewStar-LPI1.pdfLệnh CMD_NewStar-LPI1.pdf
Lệnh CMD_NewStar-LPI1.pdfTruongVanTuyen3
 
Bai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowBai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowHuy Feng
 
[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windowsHong Phuoc Nguyen
 
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởBài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởMasterCode.vn
 
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.com
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.comTài liệu thiết kế Siemens NX9 cơ bản_cachdung.com
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.comTrung tâm Advance Cad
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnKhong Van Nhat
 
Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxThu Lam
 
Kiem chung vi_mach_report_update
Kiem chung vi_mach_report_updateKiem chung vi_mach_report_update
Kiem chung vi_mach_report_updateĐũa Mốc
 

Similar to Embedded linux edited (20)

ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdfĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
ĐỒ ÁN MÔN HỌC HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY - Contiki OSreport.pdf
 
bao cao linux
bao cao linuxbao cao linux
bao cao linux
 
Đồ án tốt nghiệp Xây dựng ứng dụng android nghe nhạc trên internet.doc
Đồ án tốt nghiệp Xây dựng ứng dụng android nghe nhạc trên internet.docĐồ án tốt nghiệp Xây dựng ứng dụng android nghe nhạc trên internet.doc
Đồ án tốt nghiệp Xây dựng ứng dụng android nghe nhạc trên internet.doc
 
DATN-Blockchain in VoD-2019
DATN-Blockchain in VoD-2019DATN-Blockchain in VoD-2019
DATN-Blockchain in VoD-2019
 
Embedded beta2 new
Embedded beta2 newEmbedded beta2 new
Embedded beta2 new
 
Tran Minh Thai Bai Giang Vc
Tran Minh Thai   Bai Giang VcTran Minh Thai   Bai Giang Vc
Tran Minh Thai Bai Giang Vc
 
Hướng dẫn sử dụng hệ điều hành Ubuntu
Hướng dẫn sử dụng hệ điều hành UbuntuHướng dẫn sử dụng hệ điều hành Ubuntu
Hướng dẫn sử dụng hệ điều hành Ubuntu
 
Lệnh CMD_NewStar-LPI1.pdf
Lệnh CMD_NewStar-LPI1.pdfLệnh CMD_NewStar-LPI1.pdf
Lệnh CMD_NewStar-LPI1.pdf
 
TỰ HỌC LPI 1
TỰ HỌC LPI 1 TỰ HỌC LPI 1
TỰ HỌC LPI 1
 
Bai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_windowBai giang lap_trinh_c_trong_window
Bai giang lap_trinh_c_trong_window
 
[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows[Cntt] bài giảng lập trình c trong windows
[Cntt] bài giảng lập trình c trong windows
 
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOTĐề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
 
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mởBài 2: Hệ điều hành và các ứng dụng mã nguồn mở
Bài 2: Hệ điều hành và các ứng dụng mã nguồn mở
 
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Su dung linux shell
Su dung linux shellSu dung linux shell
Su dung linux shell
 
Xoa mu linux
Xoa mu linuxXoa mu linux
Xoa mu linux
 
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.com
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.comTài liệu thiết kế Siemens NX9 cơ bản_cachdung.com
Tài liệu thiết kế Siemens NX9 cơ bản_cachdung.com
 
Tim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvnTim hieugooglecode tortoisesvn
Tim hieugooglecode tortoisesvn
 
Quan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linuxQuan ly bo nho ngoai trong linux
Quan ly bo nho ngoai trong linux
 
Kiem chung vi_mach_report_update
Kiem chung vi_mach_report_updateKiem chung vi_mach_report_update
Kiem chung vi_mach_report_update
 

More from Nguyễn Anh

Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsNguyễn Anh
 
Game programming - Hexagon
Game programming - HexagonGame programming - Hexagon
Game programming - HexagonNguyễn Anh
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programmingNguyễn Anh
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNguyễn Anh
 
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...Nguyễn Anh
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.Nguyễn Anh
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Nguyễn Anh
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmNguyễn Anh
 
Bảo trì phần mềm
Bảo trì phần mềmBảo trì phần mềm
Bảo trì phần mềmNguyễn Anh
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmNguyễn Anh
 
Các kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmCác kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmNguyễn Anh
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Cài đặt windows mà không cần phải kích hoạt
Cài đặt  windows mà không cần phải kích hoạtCài đặt  windows mà không cần phải kích hoạt
Cài đặt windows mà không cần phải kích hoạtNguyễn Anh
 
Sao luu va phuc hoi trong win xp
Sao luu va phuc hoi trong win xpSao luu va phuc hoi trong win xp
Sao luu va phuc hoi trong win xpNguyễn Anh
 

More from Nguyễn Anh (20)

Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
 
Game programming - Hexagon
Game programming - HexagonGame programming - Hexagon
Game programming - Hexagon
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
 
Bảo trì phần mềm
Bảo trì phần mềmBảo trì phần mềm
Bảo trì phần mềm
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềm
 
Các kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmCác kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềm
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Đào tạo ĐH
Đào tạo ĐHĐào tạo ĐH
Đào tạo ĐH
 
Cài đặt windows mà không cần phải kích hoạt
Cài đặt  windows mà không cần phải kích hoạtCài đặt  windows mà không cần phải kích hoạt
Cài đặt windows mà không cần phải kích hoạt
 
System hacking
System hackingSystem hacking
System hacking
 
Hoc internet
Hoc internetHoc internet
Hoc internet
 
Cach setup bios
Cach setup biosCach setup bios
Cach setup bios
 
Sao luu va phuc hoi trong win xp
Sao luu va phuc hoi trong win xpSao luu va phuc hoi trong win xp
Sao luu va phuc hoi trong win xp
 

Recently uploaded

QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...hoangtuansinh1
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 

Recently uploaded (20)

QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
Thong bao 337-DHPY (24.4.2024) thi sat hach Ngoai ngu dap ung Chuan dau ra do...
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO CẤU TRÚC ĐỀ MIN...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 

Embedded linux edited

  • 1. 1 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 Hà Nội 10/2011 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
  • 2. 2 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
  • 3. 3 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
  • 4. 4 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
  • 5. 5 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
  • 6. 6 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
  • 7. 7  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…
  • 8. 8  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.
  • 9. 9  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…
  • 10. 10 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).
  • 11. 11 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…
  • 12. 12 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).
  • 13. 13 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.
  • 14. 14 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.
  • 15. 15 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.
  • 16. 16 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.
  • 17. 17  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.
  • 18. 18 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)
  • 19. 19 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ểncủ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
  • 20. 20 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
  • 21. 21 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.
  • 22. 22 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:
  • 23. 23 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. 24 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. 25 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. 26 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. 27 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. 28 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.” …
  • 29. 29  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
  • 30. 30 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. 31 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. 32 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. 33 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