Khóa luận tập trung trình bày tổng quan về hệ thống nhúng, định nghĩa, đặc
trưng của hệ thống, những khó khăn trong việc tìm hiểu một hệ thống nhúng. Sau
đó, khóa luận đưa ra những kỹ thuật gỡ lỗi thường được áp dụng trên hệ thống
nhúng, trong đó bao gồm cả các kỹ thuật gỡ lỗi dựa trên các công cụ phần mềm và
công cụ phần cứng. Từ đó, khóa luận lựa chọn trình bày công cụ gỡ lỗi µVision của
công ty Keil ARM, đây là một công cụ mạnh về gỡ lỗi theo kỹ thuật mô phỏng –
một kỹ thuật được các kỹ sư lập trình áp dụng rất nhiều trong thực tế.
Để minh họa cho việc áp dụng kỹ thuật gỡ lỗi và sử dụng công cụ gỡ lỗi, khóa
luận xây dựng các chương trình phần mềm ứng dụng nhỏ là Đèn led nhấp nháy và
Hello World – truyền các chuỗi ký tự ra cổng nối tiếp. Khóa luận áp dụng kỹ thuật
và công cụ gỡ lỗi trên hai chương trình đó.
65 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2051 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Khóa luận Các kỹ thuật gỡ lỗi trong việc phát triển hệ thống nhúng với ngôn ngữ C, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Ngô Thị Nga
CÁC KỸ THUẬT GỠ LỖI TRONG VIỆC PHÁT
TRIỂN HỆ THỐNG NHÚNG VỚI NGÔN NGỮ C
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Ngô Thị Nga
CÁC KỸ THUẬT GỠ LỖI TRONG VIỆC PHÁT
TRIỂN HỆ THỐNG NHÚNG VỚI NGÔN NGỮ C
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Đặng Văn Hưng
Cán bộ đồng hướng dẫn: ThS. Vũ Quang Dũng
HÀ NỘI - 2010
LỜI CẢM ƠN
Em xin chân thành cảm ơn Bộ môn Công nghệ phần mềm, Khoa Công nghệ
thông tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện
thuận lợi cho em trong quá trình học tập, rèn luyện và thực hiện đề tài khóa luận tốt
nghiệp. Em xin gửi lời cảm ơn chân thành đến tất cả thầy cô trong trường đã giúp
đỡ, dìu dắt em từ những ngày đầu tiên nhập trường.
Em xin gửi lời cảm ơn sâu sắc nhất đến TS. Đặng Văn Hưng, TS. Trần Thị
Minh Châu, ThS. Vũ Quang Dũng, những thầy cô đã cho em định hướng, tận tình
chỉ bảo, hướng dẫn và giúp đỡ em trong quá trình tìm hiểu về hệ thống nhúng, cùng
các kiến thức cần thiết khác để em hoàn thành khóa luận.
Em xin gửi những lời cảm ơn, những tình cảm thương yêu tới gia đình, và
người thân. Những người luôn bên em, động viên em cả về tinh thần và vật chất
trong thời gian qua.
Trong quá trình thực hiện khóa luận, em cũng đã nhận được nhiều sự chia
sẻ, giúp đỡ, động viên của các thành viên lớp Công nghệ phần mềm K51, và của
những thành viên trong diễn đàn sinh viên Đại học Công nghệ. Tôi xin gửi tới các
bạn sự biết ơn sâu sắc.
Đề tài “Các kỹ thuật gỡ lỗi trong việc phát triển hệ thống nhúng với ngôn
ngữ C ” là một đề tài khá khó, lại được hoàn thành trong quỹ thời gian hạn hẹp nên
khó tránh khỏi những khiếm khuyết. Em mong nhận được những góp ý chân thành
từ thầy cô giáo và các bạn để đề tài có thể mở rộng và nghiên cứu kỹ hơn, đưa vào
trong thực tiễn ngành công nghệ thông tin hiện nay.
Hà Nội, ngày 15 tháng 05 năm 2010
Sinh viên
Ngô Thị Nga
i
TÓM TẮT KHÓA LUẬN
Khóa luận tập trung trình bày tổng quan về hệ thống nhúng, định nghĩa, đặc
trưng của hệ thống, những khó khăn trong việc tìm hiểu một hệ thống nhúng. Sau
đó, khóa luận đưa ra những kỹ thuật gỡ lỗi thường được áp dụng trên hệ thống
nhúng, trong đó bao gồm cả các kỹ thuật gỡ lỗi dựa trên các công cụ phần mềm và
công cụ phần cứng. Từ đó, khóa luận lựa chọn trình bày công cụ gỡ lỗi µVision của
công ty Keil ARM, đây là một công cụ mạnh về gỡ lỗi theo kỹ thuật mô phỏng –
một kỹ thuật được các kỹ sư lập trình áp dụng rất nhiều trong thực tế.
Để minh họa cho việc áp dụng kỹ thuật gỡ lỗi và sử dụng công cụ gỡ lỗi, khóa
luận xây dựng các chương trình phần mềm ứng dụng nhỏ là Đèn led nhấp nháy và
Hello World – truyền các chuỗi ký tự ra cổng nối tiếp. Khóa luận áp dụng kỹ thuật
và công cụ gỡ lỗi trên hai chương trình đó.
ii
MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU.............................................................................................1
1.1. Đặt vấn đề......................................................................................................1
1.2. Đề tài, đối tượng nghiên cứu và phương pháp nghiên cứu.............................1
1.3. Mục tiêu của khóa luận..................................................................................2
1.4. Cấu trúc của khóa luận...................................................................................2
CHƯƠNG 2: TỔNG QUAN.....................................................................................3
2.1. Hệ thống nhúng..............................................................................................3
2.1.1. Hệ thống nhúng là gì? ............................................................................3
2.1.2. Các thiết bị phần cứng thông thường......................................................3
2.1.3. Đặc trưng của hệ thống nhúng................................................................6
2.1.4. Ví dụ về hệ thống nhúng ........................................................................8
2.2. Sự lựa chọn ngôn ngữ lập trình cho hệ thống nhúng......................................8
CHƯƠNG 3: CÁC KỸ THUẬT GỠ LỖI ..............................................................10
3.1. Gỡ lỗi...........................................................................................................10
3.1.1. Gỡ lỗi trong quá trình phát triển hệ thống nhúng..................................10
3.1.2. Định nghĩa gỡ lỗi ..................................................................................11
3.1.3. Tầm quan trọng của việc gỡ lỗi.............................................................12
3.1.4. Mục đích của quá trình gỡ lỗi ..............................................................12
3.2. Kiểm thử trên máy chủ ................................................................................13
3.2.1. Kỹ thuật cơ bản ....................................................................................13
3.2.2. Gọi các thường trình ngắt .....................................................................15
3.2.3. Gọi thường trình ngắt định thời ............................................................15
3.2.4. Các tệp kịch bản và tệp kết xuất ...........................................................15
3.2.5. Những phản đối, hạn chế và nhược điểm..............................................16
3.3. Bộ mô phỏng ...............................................................................................17
3.4. Sử dụng macro assert ..................................................................................20
3.5. Sử dụng các công cụ trong phòng thí nghiệm ..............................................21
3.5.1. Máy hiện sóng ......................................................................................22
3.5.2. Bộ phân tích logic (Logic Analyzer) ....................................................24
3.5.2.1. Bộ phân tích logic theo chế độ thời gian .......................................26
3.5.2.2. Bộ phân tích logic theo chế độ trạng thái ......................................26
3.5.3. Bộ mô phỏng trong mạch .....................................................................28
CHƯƠNG 4: CÔNG CỤ GỠ LỖI...........................................................................31
4.1. Lý do chọn họ vi xử lý ARM........................................................................31
4.2. Giới thiệu công cụ µVision...........................................................................32
4.3. Các chức năng chính của công cụ µVision ..................................................33
4.3.1. Các chức năng của µVision IDE...........................................................33
4.3.2. Các chức năng của µVision Debugger..................................................35
4.4. Ưu điểm của µVision ...................................................................................37
4.4.1. Ưu điểm của µVision IDE.....................................................................37
4.4.2. Ưu điểm của µVision Simulator...........................................................38
iii
4.5. Một số hạn chế của µVision phiên bản dùng thử .........................................38
4.6. Cài đặt..........................................................................................................39
CHƯƠNG 5: ỨNG DỤNG CÔNG CỤ µVISION VÀO VIỆC GỠ LỖI...............41
5.1. Vi điều khiển LPC2148................................................................................41
5.2. Chương trình “Đèn led nhấp nháy”..............................................................41
5.3. Chương trình Hello world............................................................................43
5.4. Nhận xét.......................................................................................................45
CHƯƠNG 6: KẾT LUẬN.......................................................................................47
TÀI LIỆU THAM KHẢO.........................................................................................49
PHỤ LỤC: CÁC THÔNG SỐ KỸ THUẬT CỦA VI ĐIỀU KHIỂN LPC2148......50
iv
DANH MỤC HÌNH ẢNH
Hinh 2.1. Hệ thống nhúng thông thường
Hình 3.1. Quá trình phát triển phần mềm nhúng
Hình 3.2. Hệ thống kiểm thử
Hình 3.3. Đồ thị máy hiện sóng
Hình 3.4. Máy hiện sóng
Hình 3.5. Bộ phân tích logic
Hình 3.6. Chế độ thời gian của bộ phân tích logic
Hình 3.7. Chế độ trạng thái của bộ phân tích logic
Hình 4.1. Mẫu đăng ký sử dụng phần mềm Keil
Hình 4.2. Giao diện IDE
Hình 4.3. Giao diện của Debugger
Hình 5.1. Kết quả chạy chương trình Led
Hình 5.2. Kết quả chạy chương trình Hello world
DANH MỤC BẢNG BIỂU
Bảng 2.1. Họ vi xử lý ARM
Bảng 3.1. Hàm NDEBUG
Bảng 4.1. Các chức năng của MicroVision IDE
Bảng 4.2. Các chức năng của MicroVision Debugger
Bảng 5.1. Chương trình Led.c
Bảng 5.2. Chương trình Hello.c
v
DANH SÁCH CÁC THUẬT NGỮ VÀ KHÁI NIỆM
Thuật ngữ Khái niệm
AGSI Advanced Simulation Interface – Giao diện mô phỏng nâng cao.
ARM Advanced RISC Machine – Máy có bộ lệnh RISC mở rộng.
AVR Đây là cấu trúc RISC 8 – bit của công ty Atmel.
Big - Endian Bộ nhớ lưu các ký tự quan trọng nhất ở các bit địa chỉ thấp nhất.
Cross–compiler Biên dịch chéo.
Debugger Bộ gỡ lỗi.
DWARF Đây là một định dạng tập tin gỡ lỗi được dùng trong nhiều trình
biên dịch.
ELF Executable and Linkable Format hay Extensible Linking Format –
Tệp tin lưu dưới dạng thực thi và liên kết.
Ground Điện áp bằng 0, tình trạng nối đất.
ICE In – circuit Emulator – Bộ mô phỏng trong mạch.
IDE Intergrated Development Environment – Môi trường phát triển
tích hợp.
ISS Instruction Set Simulator – Bộ mô phỏng tập lệnh.
LED Light Emitting Diode – Đèn hai cực quang phát xạ.
Linker/ Locator Bộ liên kết/ Định vị.
Little - endian Bộ nhớ lưu các ký tự quan trọng nhất ở các bit địa chỉ cao nhất.
MIPS Million Intruction Per Second – Số triệu dòng lệnh thực hiện
trong một giây,
Overlay
memory
Bộ nhớ nạp chồng.
RAM Random Access Memory – Bộ nhớ truy cập ngẫu nhiên.
RE Read Enable signal – Tín hiệu cho phép đọc từ ROM.
RISC Reduced Instruction Set Computing – Máy tính dùng tập lệnh rút
gọn.
ROM Read Only Memory – Bộ nhớ chỉ đọc.
vi
Thuật ngữ Khái niệm
RTOS Real Time Operating System – Hệ điều hành thời gian thực.
Symbolic
Output Format
Định dạng kết xuất ký hiệu.
VCC Voltage Connected to Collector – Điệp áp kết nối bộ gom – VCC
thường đại diện cho điện áp ở mức cao (High).
vii
CHƯƠNG 1: MỞ ĐẦU
1.1. Đặt vấn đề
Ngày nay, chúng ta có thể nhìn thấy các thiết bị nhúng ở khắp mọi nơi xung
quanh ta từ những vật dụng đơn giản như chiếc đồng hồ điện tử, lò vi sóng, tủ lạnh,
máy điện thoại di dộng, máy in, máy ảnh kỹ thuật số... đến những hệ thống lớn như
các hệ thống điều khiển các dây chuyền sản xuất trong công nghiệp, điều khiển các
hoạt động trong lò phản ứng hạt nhân... Chúng ta khó mà có thể tìm được một thiết bị
điện tử mà bên trong nó không có một vài vi xử lý, vi điều khiển. Đặc biệt là các họ vi
xử lý ARM đã được ứng dụng rất nhiều trong các thiết bị nhúng.
Các hệ thống nhúng ngày càng phát triển, các phần mềm để điều khiển cho các
thiết bị cũng ngày càng đa dạng. Vì vậy, các nhà sản xuất cần đảm bảo cho các thiết bị
của mình đến được tay người dùng với độ ổn định, hiệu quả và ít lỗi nhất có thể. Quá
trình gỡ lỗi sẽ đảm bảo cho sản phẩm có chất lượng tốt nhất.
Hiện nay, có rất nhiều công cụ gỡ lỗi cho hệ thống nhúng, các kỹ sư lập trình cần
phải chọn cho mình được một công cụ gỡ lỗi phù hợp với thiết bị của mình để đạt hiệu
quả gỡ lỗi cao nhất.
1.2. Đề tài, đối tượng nghiên cứu và phương pháp nghiên cứu
Đề tài của khóa luận là “Các kỹ thuật gỡ lỗi trong việc phát triển hệ thống nhúng
với ngôn ngữ C”. Khóa luận mong muốn cung cấp cho các kỹ sư lập trình phần mềm
nhúng một cái nhìn tổng quát về hệ thống, các kỹ thuật gỡ lỗi, công cụ gỡ lỗi.
Đối tượng nghiên cứu chính trong đề tài là vi điều khiển LPC2148 của công ty
Philips. Đây là một vi điều khiển được thiết kế dựa trên cấu trúc của vi xử lý ARM đã
được sử dụng rộng rãi trong nhiều thiết bị, sản phẩm.
Khóa luận tập trung tìm hiểu về lý thuyết hệ thống nhúng, các kỹ thuật gỡ lỗi,
sau đó áp dụng các kiến thức đó vào thực hiện việc gỡ lỗi cho phần mềm nhúng. Khóa
luận tập trung nghiên cứu kỹ thuật gỡ lỗi bằng phương pháp mô phỏng. Phương pháp
này có ưu điểm là phổ biến, có nhiều công cụ, dễ sử dụng, được sự hỗ trợ lớn về mặt
kiến thức và chuyên môn từ các nhà sản xuất và cộng đồng người sử dụng, có thể áp
dụng phương pháp mô phỏng này khi phần cứng còn đang được phát triển, hay phần
cứng không có sẵn.
1
1.3. Mục tiêu của khóa luận
Để đạt được các vấn đề đã nêu ra, khoá luận sẽ lần lượt trình bày những kiến
thức cần thiết để giải quyết yêu cầu trên.
Khóa luận sẽ tập trung vào một số các vấn đề sau:
• Tìm hiểu khái quát về hệ thống nhúng, các đặc điểm của hệ thống và việc lựa
chọn các ngôn ngữ lập trình cho hệ thống.
• Tìm hiểu các kỹ thuật gỡ lỗi cơ bản cho hệ thống nhúng.
• Tìm hiểu công cụ gỡ lỗi µVision, các chức năng, ưu nhược điểm của chương
trình.
• Xây dựng chương trình, ứng dụng công cụ gỡ lỗi vào việc gỡ lỗi cho chương
trình để thấy được những ưu nhược điểm của công cụ.
1.4. Cấu trúc của khóa luận
Khóa luận được trình bày theo cấu trúc như sau:
Chương mở đầu: Giới thiệu về đề tài, mục tiêu của khóa luận và cấu trúc khóa
luận.
Chương hai: Giới thiệu tổng quan về hệ thống nhúng, định nghĩa hệ thống
nhúng, các đặc trưng của hệ thống và việc chọn lựa một ngôn ngữ lập trình phù hợp
với hệ thống nhúng.
Chương ba: Tiếp cận với các kỹ thuật gỡ lỗi thường dùng trong hệ thống nhúng:
kiểm thử trên máy chủ, kiểm thử sử dụng bộ mô phỏng, macro assert và gỡ lỗi dùng
các thiết bị phần cứng.
Chương bốn: Tiếp cận tìm hiểu công cụ gỡ lỗi µVision của công ty Keil ARM,
là một công cụ hỗ trợ việc gỡ lỗi rất hiệu quả cho các vi xử lý thuộc họ ARM, giới
thiệu các chức năng, ưu nhược điểm của công cụ.
Chương năm: Xây dựng ví dụ minh họa và áp dụng công cụ để gỡ lỗi cho các
chương trình “Đèn led nhấp nháy” và “Hello world” bằng kỹ thuật mô phỏng để thực
hiện mục tiêu của khóa luận.
Chương sáu: Đánh giá kết quả khóa luận đã đạt được và nêu ra hướng phát triển
trong tương lai của đề tài.
2
CHƯƠNG 2: TỔNG QUAN
Chương 2 giới thiệu tổng quan về: hệ thống nhúng: định nghĩa hệ thống nhúng,
đặc trưng của hệ thống, ví dụ về hệ thống. Và sự lựa chọn ngôn ngữ lập trình cho hệ
thống nhúng.
2.1. Hệ thống nhúng
2.1.1. Hệ thống nhúng là gì?
Thuật ngữ hệ thống nhúng thường được dùng để chỉ bất kỳ hệ thống máy tính
nào ẩn chứa bên trong các thiết bị, hệ thống [4]. Bên cạnh đó còn có nhiều định nghĩa
khác cho khái niệm hệ thống nhúng. Dưới đây là một khái niệm được đưa ra trong từ
điển Các hệ thống nhúng:
“Hệ thống nhúng là một sự kết hợp giữa phần cứng và phần mềm của máy tính
và có thể có thêm các thiết bị cơ khí hay các bộ phận khác, nó được thiết kế để thực
hiện một chức năng cụ thể”. [2]
Trong vài trường hợp, hệ thống nhúng có thể chỉ là một phần nhỏ trong một hệ
thống lớn như trong các thiết bị điều khiển xe hơi. Bởi những thiết kế của hệ thống
nhúng là để phục vụ cho một vài chức năng cụ thể đã được định trước như là bộ phận
hẹn giờ trong lò vi sóng, hệ thống điều khiển đèn giao thông,... nên nó khác với các
máy tính cá nhân thông thường – hệ thống có thể thực hiện nhiều nhiệm vụ khác nhau
do người dùng cài đặt. [1]
2.1.2. Các thiết bị phần cứng thông thường
Bất kỳ một hệ thống thông thường nào cũng đều có các thành phần cấu thành nên
nó. Một hệ thống nhúng thông thường sẽ gồm có một số thành phần như hình 2.1 sau:
Hình 2.1. Hệ thống nhúng thông thường
3
Mỗi hệ thống đều cần có vi xử lý để điều khiển các thông tin và dữ liệu trong hệ
thống. Trong các thiết bị gia dụng như lò vi sóng, nồi cơm điện, hay chiếc điện thoại
cũng có ít nhất một bộ vi xử lý. Các vi xử lý được chia làm hai loại: bộ vi xử lý chính
dùng để điều khiển các thiết bị trung tâm, và các vi xử lý phụ được thêm vào để mở
rộng các tập lệnh của vi xử lý chính, quản lý bộ nhớ, các đường truyền, và các thiết bị
nhập xuất. Trong các thiết bị nhúng, vi xử lý chính thường là các vi điều khiển, để phù
hợp với các phần mềm, các chương trình rất nhỏ ẩn chứa bên trong những thiết bị. Các
vi xử lý giống như bộ não của con người, nếu không có nó thì các thiết bị không thể
hoạt động được. Chính vì thế, vi xử lý đóng vai trò trung tâm, quan trọng nhất trong
thiết bị.
Thiết bị nhúng được ứng dụng rộng rãi trong nhiều lĩnh vưc, nó cũng tiêu thụ
nhiều nhất số vi xử lý được sản xuất ra hàng năm. Các họ vi xử lý được phát triển và
ứng dụng rộng rãi là 8051 của Intel, họ AVR của Atmel, họ ARM của công ty ARM,...
trong các họ này thì các thiết bị được xây dựng trên nền tảng thiết kế của ARM là phổ
biến nhất. Bảng 2.1 sẽ đưa ra một số vi xử lý của họ ARM và ứng dụng của chúng
trong các thiết bị điện tử.
4
Bảng 2.1. Một số họ vi xử lý ARM và ứng dụng của nó [10]
Họ Lõi Đặc tính MIPS điển hình/ MHz Ứng dụng
ARM7T
DMI
ARM7TDMI
(-S) 3-tầng pipeline
15 MIPS/ 16.8
MHz
Game Boy Advance,
Nintendo DS, iPod
ARM9E
ARM946E-S
Nintendo DS, Nokia
N-Gage, Conexant
802.11 chip
ARM966E-S
ST Micro STR91xF,
gồm cạc Ethernet
ARM926EJ-
S Jazelle DBX
220 MIPS/ 200
MHz
Điện thoại di động:
Sony Ericsson (K, W
series),Siemens và
Benq (đời x65 và đời
mới hơn)
Cortex
Cortex-A8 NEON, Jazelle RCT, Thumb-2
Texas Instruments
OMAP3
Cortex-R4 600 DMIPS Broadcom là một hãng sử dụng
Cortex-M3 120 DMIPS/ 100MHz
Họ vi điều khiển
Luminary Micro
XScale
PXA27x 800 MIPS/ 624 MHz
HTC Universal,
Zaurus SL-C1000
PXA900 Blackberry 8700
IXP460/IXP
465
Một hệ thống nhúng cần sử dụng bộ nhớ cho hai mục đích: để lưu trữ chương
trình và lưu trữ dữ liệu. Không giống như một hệ thống máy tính cá nhân – các chương
trình và dữ liệu đuợc lưu trong những phần bộ nhớ giống nhau, hệ thống nhúng dùng
các bộ nhớ khác nhau cho các mục đích khác nhau. Bởi vì thông thường một hệ thống
nhúng không có ổ đĩa cứng để nạp chương trình, chương trình phải được lưu trong bộ
nhớ, thậm chí ngay cả khi tắt nguồn. Bộ nhớ của hệ thống nhúng thường là: bộ nhớ chỉ
đọc (ROM), bộ nhớ truy cập ngẫu nhiên (RAM) và có thể là cả bộ nhớ mở rộng với
các hệ thống lớn. [4]
5
Các hệ thống nhúng cũng có thể chứa các thiết bị đầu vào và thiết bị đầu ra. Ví
dụ như trong các máy điện thoại di động, thiết bị đầu vào là các nút bấm trên bề mặt
điện thoại, và thiết bị đầu ra là màn hình điện thoại và loa. Các thiết bị đầu vào của hệ
thống nhúng thường ở dưới dạng các thiết bị cảm biến, đầu dò, tín hiệu, hay các nút
bấm. Các thiết bị đầu ra của hệ thống thường là màn hình và các tín hiệu.
Hệ thống nhúng không giống các máy vi tính thông thường, có một số thành
phần của máy vi tính có thể sẽ không có trong hệ thống nhúng. Các thành phần đó là:
• Bàn phím: Một số hệ thống có thể có vài nút bấm để người dùng nhập dữ liệu
đầu vào, như là máy in, nhưng cũng có những hệ thống không có bàn phím như
là máy điện báo.
• Chuột: Đối với những máy tính thông thường thì chuột máy tính sẽ làm cho
việc sử dụng máy tính được dễ dàng, thuận lợi hơn. Nhưng trong hầu hết các hệ
thống nhúng thì chuột đều không xuất hiện. Các tác vụ mà chúng ta thực hiện
với hệ thống thường được kích hoạt qua các nút bấm, các cảm biến điện tử.
• Màn hình: Nhiều hệ thống sẽ có một màn hình tinh thể lỏng hiển thị vài chức
năng đặc trưng, ví dụ như máy giặt thì có một màn hình hiển thị chế độ đang
giặt. Hay một số hệ thống chỉ có điốt phát quang để báo hiệu thiết bị đang ở chế
độ nào, ví dụ như máy in có đèn nháy để biết rằng máy đang ở chế độ in hay
chế độ chờ.
• Ổ đĩa cứng: Do thiết kế nhỏ gọn, nên các hệ thống nhúng thường không có ổ
đĩa cứng gắn rời bên ngoài mà các chương trình