Sự khác biệt và mối quan hệ giữa phần sụn và trình điều khiển thiết bị


27
  1. Phần sụn và trình điều khiển thiết bị khác nhau và có liên quan như thế nào? Tôi nghĩ cả hai thiết bị điều khiển?
  2. Có phải firmware luôn tự khởi động, trong khi trình điều khiển phải được chạy / khởi động bởi HĐH?

Câu trả lời:


24
  1. Phần sụn là phần mềm chạy trên thiết bị. Trình điều khiển là phần mềm cho hệ điều hành của bạn biết cách giao tiếp với thiết bị. Không phải tất cả các thiết bị đều có phần sụn - chỉ những thiết bị có mức độ thông minh.

  2. Tôi không chắc chính xác ý bạn là gì ... nói chung, phần sụn không liên quan gì đến "khởi động" ... Tôi nghĩ có lẽ điều bạn đang hỏi là, các thiết bị có phần sụn luôn có phần sụn được cài đặt trên thiết bị, hoặc nó được tải sau thời gian khởi động. Nếu đó là những gì bạn đang hỏi, câu trả lời là không ...

Thông thường nhất, các thiết bị có chương trình cơ sở có chương trình cơ sở được lập trình vào thiết bị (có chip ROM hoặc chip ROM có thể lập trình), nhưng có một số thiết bị nơi chương trình cơ sở được nạp vào thiết bị tại thời điểm khởi tạo. Tôi có thể nghĩ về một số card mạng và webcam hoạt động theo cách này, nhưng tôi chắc chắn cũng có những cái khác.


Cảm ơn! trong 2, bằng cách tự khởi động, ý tôi là nếu phần sụn tự chạy không phải bởi người khác, trong khi trình điều khiển được chạy bởi hệ điều hành không phải bởi chính nó? Tôi đã chọn từ tự khởi động từ "Không có hệ điều hành, người dùng không thể chạy chương trình ứng dụng trên máy tính của họ, trừ khi chương trình ứng dụng tự khởi động" trong en.wikipedia.org/wiki/Operating_system
Tim

1
Phần sụn được điều hành bởi chính thiết bị phần cứng ... Tôi nghĩ rằng câu trả lời cho câu hỏi? Xem xét điều này: Nhiều thiết bị không phải máy tính có "phần sụn" - chẳng hạn như máy ảnh kỹ thuật số, đầu DVD, điện thoại di động, v.v ... Vì vậy, rõ ràng trong những trường hợp này, phần sụn hoàn toàn khép kín trong chính thiết bị. Chỉ khi / khi bạn cắm một trong những thiết bị đó vào máy tính, bạn mới cần trình điều khiển .
Flimzy

1
Cảm ơn! Từ en.wikipedia.org/wiki/Computer_software : "Phần sụn là phần mềm cấp thấp thường được lưu trữ trên các thiết bị bộ nhớ lập trình điện. Phần sụn được đặt tên bởi vì nó được xử lý như phần cứng và chạy (" thực thi ") bởi các chương trình phần mềm khác." Phần sụn được chạy bởi các chương trình phần mềm khác hay bởi chính phần cứng?
Tim

-1 tại sao bạn nói only devices with some level of intelligence have firmware? Tôi có thể nói đó là cách khác, các thiết bị (điện tử) đơn giản có thể không có hệ điều hành nhưng có phần sụn.
Celeritas

@Celeritas: Bởi vì chỉ những thiết bị có mức độ thông minh nào đó mới có phần sụn, ngược lại với những thiết bị (như cổng RS-232) thì không. Nếu bạn đang so sánh các thiết bị có toàn bộ HĐH (điện thoại di động, iPod, GPS có thể lập trình, v.v.), thì bạn đang nói về một lớp trừu tượng hoàn toàn khác, thực sự không liên quan gì đến "trình điều khiển thiết bị" theo nghĩa truyền thống. Lớp phần mềm truy cập này thường được gọi là "trình điều khiển thiết bị", nhưng trên thực tế, đó là một giao thức ứng dụng mạng được triển khai trên trình điều khiển thiết bị (chẳng hạn như giao tiếp với cổng USB hoặc bluetooth).
Flimzy

5

Phần sụn thực hiện các chi tiết cấp thấp được yêu cầu để vận hành phần cứng và cung cấp API / ABI ở mức cao hơn. Trình điều khiển thiết bị cung cấp bộ điều hợp giữa HĐH và API / ABI được hiển thị bởi phần sụn.


1
Cảm ơn! Trình điều khiển thiết bị có phải là một phần của HĐH và được chạy bởi nhân hệ điều hành không? Phần sụn có phải là một phần của thiết bị và được chạy bởi đó, nhân hệ điều hành hay phần sụn không?
Tim

1
Trình điều khiển thiết bị được coi là một phần của HĐH và thường chạy trên CPU chủ. Phần sụn thường được điều hành bởi thiết bị; Nó có thể được hệ điều hành tải lên thiết bị.
Ignacio Vazquez-Abrams

Đây phải là câu trả lời được chấp nhận.
Eric Wang

4

Định nghĩa hiện đại hoặc sử dụng phần sụn thông thường không liên quan gì đến chức năng phần mềm cụ thể. Phần sụn đơn giản là phần mềm được lưu trữ trong bộ nhớ bán dẫn không bay hơi (ví dụ: chip PROM, EEPROM hoặc flash) chứ không phải là một thiết bị lưu trữ lớn như ổ cứng. Phần mềm được lưu trữ có thể là một nhị phân liên kết nguyên khối hoặc bao gồm các mô đun bộ nạp, nhân và ứng dụng. (OTOH Tôi đã thấy một số thẻ điều chỉnh TV cho PC yêu cầu tải "phần sụn" bằng nhân Linux để hoàn tất khởi tạo.)

Nguồn gốc của thuật ngữ này có liên quan đến logic do bộ xử lý so với logic cứng. Phần mềm được lưu trữ trên ổ cứng có thể dễ dàng sửa đổi và cập nhật. Sửa đổi và cập nhật cho logic yêu cầu bảng mạch hoặc thiết kế lại mô-đun và thay thế. Tầng giữa là một phần mềm xử lý để kiểm soát phần cứng. Phần mềm được gọi là kho công ty để phản ánh nền tảng giữa phần mềm so với logic có dây cứng . Ban đầu phần sụn được lưu trữ trong các chip ROM, PROM hoặc EPROM để duy trì tính mô đun của bo mạch. Sự tiến bộ của EEPROM và chip flash cho phép cập nhật trong mạch và trên bo mạch của phần sụn.

Khi các bộ xử lý (và các thiết bị ngoại vi) trở nên nhỏ hơn và rẻ hơn và ít ngốn điện hơn, khả năng nhúng chúng vào mọi loại thiết bị / thiết bị được mở rộng. Để làm cho phần mềm vận hành các thiết bị này chắc chắn và an toàn, phần mềm được lưu trữ trong các chip nhớ flash thay vì ổ cứng; nó cũng làm cho thiết bị nhỏ hơn và rẻ hơn rất nhiều. Thuật ngữ phần sụn đã được mở rộng để bao gồm tất cả phần mềm trong các thiết bị / thiết bị có bộ xử lý nhúng, mặc dù một số phần của mã được lưu trữ có thể không có mối quan hệ nào với việc thay thế logic cứng.


Vậy thì việc cài đặt firmware trên bộ nhớ lớn có nghĩa là gì? Giống như gói Debian này ?
xuhdev

1
@xuhdev - Gói Debian đó bao gồm các tệp có thể được sử dụng bởi các trình điều khiển thiết bị Linux khác nhau. Các tập tin được coi là "phần sụn" vì chúng được trình điều khiển Linux ghi vào thiết bị đính kèm. Các tệp có thể chứa dữ liệu hoạt động hoặc mã cho uC / uP được nhúng của thiết bị. Lưu ý rằng tệp này được chuyển đến thiết bị được tải vào bộ nhớ dễ bay hơi của thiết bị và việc tải phải xảy ra sau mỗi lần thiết lập lại thiết bị hoặc hệ thống. Các "cài đặt" điều này "firmware" trên mass storage của máy chủ chỉ đơn thuần là một cơ chế thủ tục (xử lý gói ví dụ).
mùn cưa

3

Ai đó đã đăng câu hỏi này gần đây , nói rằng:

Phần sụn là sự kết hợp của bộ nhớ liên tục, mã chương trình và dữ liệu được lưu trữ trong đó. Ví dụ điển hình của các thiết bị chứa Firmware là các hệ thống nhúng như đèn giao thông, thiết bị tiêu dùng, đồng hồ kỹ thuật số, máy tính, thiết bị ngoại vi máy tính, điện thoại di động và máy ảnh kỹ thuật số. Phần sụn có trong các thiết bị này cung cấp chương trình điều khiển cho thiết bị.

Trên thực tế, driversthẻ SuperUser được xác định:

Trình điều khiển, còn được gọi là trình điều khiển thiết bị hoặc trình điều khiển phần mềm là phần mềm cho phép các chương trình máy tính cấp cao hơn tương tác với thiết bị phần cứng. Khi một chương trình máy tính yêu cầu tương tác với một thiết bị phần cứng nhất định, trình điều khiển sẽ xử lý lệnh dịch và đầu ra giữa thiết bị và chương trình máy tính gọi trình điều khiển.

và, firmwarethẻ được xác định:

Nói chung, sự khác biệt giữa phần mềm và phần sụn là mức độ tương tác với phần cứng. Phần sụn tương tác ở mức rất thấp của phần cứng trong khi phần mềm tương tác ở mức cao. Phần sụn thường kiểm soát thời gian cơ bản, điều khiển và chức năng của phần cứng.

Ban đầu tôi nghĩ rằng nó firmwaređã được cài đặt trực tiếp lên chip hoặc bo mạch và sống ở đó, đó là lý do tại sao nó phải được "flash", trong khi bạn sẽ cài đặt một driverhệ điều hành.

Phần kết luận:

Firmwarecho phép phần cứng "làm" công cụ và driverscho phép phần mềm tương tác với phần cứng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.