Bagikan melalui


Tumpukan Driver Kartu SD

Teknologi kartu Secure Digital (SD) dimulai dengan kartu memori miniatur portabel, tetapi dengan rilis spesifikasi Secure Digital I/O (SDIO), Secure Digital Association (SDA) telah memperluas definisi teknologi SD untuk menyertakan berbagai macam fungsi kartu, seperti perangkat Bluetooth, kamera video, perangkat LAN Nirkabel, dan penerima Global Positioning System (GPS). Dokumen ini menjelaskan bagaimana sistem operasi mendukung ekstensi fungsi kartu untuk teknologi SD.

Pembaca kartu untuk banyak perangkat penyimpanan SD awal dirancang untuk terhubung ke bus USB. Windows mengelola perangkat ini dengan driver penyimpanan massal USB (usbstor.sys) dan driver kelas penyimpanan asli (disk.sys), seperti yang digambarkan dalam diagram berikut:

diagram yang mengilustrasikan tumpukan perangkat untuk perangkat penyimpanan sd awal.

Untuk deskripsi yang lebih lengkap tentang tumpukan perangkat yang dibuat Windows untuk kartu memori yang terhubung ke bus USB, lihat Contoh Objek Perangkat untuk Perangkat Penyimpanan Massal USB.

Sistem operasi menyediakan dukungan untuk pengontrol host SD yang terhubung langsung ke bus PCI. Ketika sistem menghitung pengontrol host SD, sistem memuat driver bus SD asli (sdbus.sys). Jika pengguna menyisipkan kartu memori SD, Windows memuat driver kelas penyimpanan SD asli (sffdisk.sys) dan driver miniport penyimpanan (sffp_sd.sys) di atas driver bus. Jika pengguna menyisipkan kartu SD dengan jenis fungsi yang berbeda, seperti GPS atau LAN nirkabel, Windows memuat driver yang disediakan vendor untuk perangkat.

Semua driver perangkat di tumpukan SD, baik asli atau yang disediakan vendor, harus berkomunikasi dengan pengemudi bus SD dengan memanggil rutinitas di pustaka bus SD statis (sdbus.lib). Driver SD harus ditautkan ke pustaka ini ketika mereka mengkompilasi. Diagram berikut menggambarkan tumpukan driver SD yang dibuat sistem saat menghitung pengontrol SD dan kartu yang menyertainya:

diagram yang mengilustrasikan hubungan antara perangkat lunak sd dan komponen perangkat keras.

Driver perangkat SD tidak dapat langsung mengakses set register host-controller, juga tidak dapat menyematkan perintah pass-through untuk pengontrol host dalam paket permintaan I/O (IRP). Driver perangkat SD mengeluarkan perintah ke pengontrol host dengan memanggil rutinitas pustaka bus SD, lalu pustaka menghasilkan perintah SD yang sesuai untuk pengontrol host.

Driver perangkat SD harus menangani PnP standar dan IRP daya, tetapi tidak meminta atau mengelola sumber daya perangkat keras, seperti port, memori, atau vektor interupsi. Akibatnya, driver perangkat SD tidak diperlukan untuk memetakan sumber daya perangkat keras apa pun saat menangani permintaan IRP_MN_START_DEVICE . Namun, ketika driver perangkat SD menerima permintaan IRP_MN_STOP_DEVICE , driver perangkat harus menghentikan semua operasi I/O. Selanjutnya, pengemudi harus menutup antarmukanya ke sopir bus SD sebagai respons terhadap permintaan IRP_MN_QUERY_REMOVE_DEVICE .

Ketika gangguan perangkat keras terjadi, pustaka bus SD mencegat gangguan, menutupi gangguan lebih lanjut, dan memberi tahu driver perangkat SD dengan cara rutin panggilan balik bahwa gangguan perangkat keras telah terjadi. Untuk deskripsi rutinitas panggilan balik yang digunakan driver bus untuk memberi tahu driver perangkat SD tentang gangguan perangkat keras, lihat PSDBUS_CALLBACK_ROUTINE. Untuk penjelasan umum tentang bagaimana tumpukan dan pustaka driver SD mengelola gangguan perangkat keras, lihat Menangani Gangguan Perangkat Keras Secure Digital (SD).

File header ntddsd.h , yang disediakan dalam Windows Driver Kit (WDK), menyatakan prototipe untuk rutinitas yang diekspos oleh pustaka bus SD.