Where is the SD card driver file in the smdk2410 pb500?

Source: Internet
Author: User
Tags builtin

Author: wogoyixikexie @ gliet

------------------------------------

I saw some things in my previous post. Very interesting

--------------------

Wikee

Check
D:/wince500/public/common/oak/Drivers/sdcard
D:/wince500/public/common/oak/CSP/ARM/Samsung/S3C2410X/sdhc
All have code. However, I checked the sources file in the process. The generated types are lib and no DLL is generated.
The bib file contains three drivers. sdbusdriver. dll sdcsdcard. dll sdmemary. dll seems to exist in BSP files. Does the development board provider that provides BSP not provide this part of code, but provides DLL usage?
However, none of the above two paths are in platform and are included in Pb. Is it standard? The Interrupt Port of my sdcard is to check whether crad exists or not and whether the PIN is inserted or not. It is different from the Development Board. Which files and functions need to be modified?
Thank you for your guidance.

Shuiii
The three drivers in the bib file are provided by the Development Board vendors.
The three DLL files do not have source code.
D:/wince500/public/common/oak/Drivers/sdcard
D:/wince500/public/common/oak/CSP/ARM/Samsung/S3C2410X/sdhc
This is actually the source code under 5.0. You can modify the source file and compile it into a DLL.

Zhuxiaofeng
Sdbusdriver. dll
Sdcsdcard. dll
Sdmemary. dll
Oh, the upstairs is wrong.
All three of them have source code.
Provided by Microsoft, under public/common/oak/driver/sdcard.
On the first floor, modify your source file and generate the DLL file directly.
"| I checked the sources file in progress. The generated types are lib and no DLL is generated"
You are right,
It is used to generate the DLL when it is actually sysgen,
I cannot find the file now.
You just need to change it to DLL .. Haha ..

Wikee
Why is the three DLL generated so concealed?
It seems that you have to modify the sources file by yourself.

The relationship is not very understandable. I don't know if I understand it like this, right:

Client DRIVER: sdmemary. dll
Folder path: D:/wince500/public/common/oak/Drivers/sdcard/sdclientdrivers/sdmemory

Bus driver: sdbusdriver. dll
Folder path: D:/wince500/public/common/oak/Drivers/sdcard/sdbusdriver

Host DRIVER: sdhc_sc2410.dll instead of sdcsdcard. dll
Folder path: D:/wince500/public/common/oak/CSP/ARM/Samsung/S3C2410X/sdhc

Modify the registry and platform bib file so that the kernel can load the three new DLL files?

Zhuxiaofeng
No, no need to modify,
You only need to load it in platform. Reg and bib.
Host DRIVER: sdhc_sc2410.dll
That's all,
Do not change anything. It is all system and will be automatically loaded,
Those all in common ..

Wikee
This sdcsdcard. dll does not belong to the host driver layer? Does sdhc_sc2410.dll conflict with it?
Or is there no host driver layer at all? Do you need to add sdhc_sc2410.dll as the host driver?

Added an sdhc_sc2410.dll in builtin in platform. Reg? I used to replace the sdcsdcard. dll name.

Can you give me a closer look upstairs?

Zhuxiaofeng
What about pb5.0 ??
What is the development version ??

Wikee
It is pb500, and the development board is Li yutai. I am now calling my own board, but I am not very familiar with the SD driver. I have changed the SD Interrupt Port, so I need to modify the driver.

I tried the Development Board to find the sdcard. It is estimated that you can change the driver. If you cannot change the hardware, you will regret it.

Wikee
Modified the interrupt. You can see the interrupt response. But there is no disk.
Check that sdmemary. dll is not loaded. Under deveic. EXE, only sdcsdcard. dll and sdbusdriver. dll are available.

What should I do to let the system load sdmemay. dll?

Zhuxiaofeng
There is no sdcsdcard. dll in the pb500 registry. It targets some standard interfaces.
And sdhc_sc2410.dll. No need to add, you can look ..

Wikee
Zhuxiaofeng
My Pb does not contain sdhc_sc2410.dll and only sdcsdcard. dll.
You may need to modify it yourself. Below are the SD registry content and bib file content. Please take a look at it for me.

; SD bus driver
Sdbusdriver. dll $ (_ flatreleasedir)/sdbusdriver. dll NK sh
; SD host
Sdcsdcard. dll $ (_ flatreleasedir)/sdcsdcard. dll NK sh
Sdmemory. dll $ (_ flatreleasedir)/sdmemory. dll NK sh

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Charlie, sdio
; Two Step Load process, the bus driver will perform it's
; Own activatedevice call in the entry point provided
; This way the driver even though it is a builtin device, it can be unloaded
[HKEY_LOCAL_MACHINE/Drivers/builtin/sdbusdriver]
"Order" = DWORD: 20
"DLL" = "sdbusdriver. dll"
"Entry" = "sdbusdriverstartup"

[HKEY_LOCAL_MACHINE/Drivers/sdcard/sdbusdriver]
"Order" = DWORD: 20
"DLL" = "sdbusdriver. dll"
"Prefix" = "SDC"
"Threadpriority" = DWORD: 64; default thread priority for dispatch thread
"Requestlistdepth" = DWORD: 30; pre-allocated requests
; "Zonemask" = DWORD: e01d; example zone mask

[HKEY_LOCAL_MACHINE/system/storagemanager/profiles/sdmemory]
"Name" = "SD memory card"
"Folder" = "storage card"
; "Partitiondriver" = ""; removable storage cannot have partitions

[HKEY_LOCAL_MACHINE/system/storagemanager/profiles/MMC]
"Name" = "MMC card"
"Folder" = "storage card"
; "Partitiondriver" = ""; removable storage cannot have partitions

; SD memory storage class driver
[HKEY_LOCAL_MACHINE/Drivers/sdcard/clientdrivers/class/sdmemory_class]
"DLL" = "sdmemory. dll"
"Prefix" = "DSK"
"FSD" = "fatfs. dll"
"IOCTL" = DWORD: 4; disk_ioctl_initialize, sent to driver by devicemanager
"Blocktransfersize" = DWORD: 40; send no more than 64 blocks of data per bus transfer
; "Singleblockwrites" = DWORD: 1; alternatively force the driver to use single block access

"Profile" = "sdmemory"
"Iclass" = multi_sz: "{A4E7EDDA-E575-4252-9D6B-4195D48BB865 }",
"{A32942B7-920C-486b-B0E6-92A702A99B35 }"

; MMC storage class driver
[HKEY_LOCAL_MACHINE/Drivers/sdcard/clientdrivers/class/mmc_class]
"DLL" = "sdmemory. dll"
"Prefix" = "DSK"
"FSD" = "fatfs. dll"
"IOCTL" = DWORD: 4; disk_ioctl_initialize, sent to driver by devicemanager
"Blocktransfersize" = DWORD: 40; send no more than 64 blocks of data per bus transfer
; "Singleblockwrites" = DWORD: 1; alternatively force the driver to use single block access

"Profile" = "MMC"
"Iclass" = multi_sz: "{A4E7EDDA-E575-4252-9D6B-4195D48BB865 }",
"{A32942B7-920C-486b-B0E6-92A702A99B35 }"

; Setting for SD bus driver to load driver
[HKEY_LOCAL_MACHINE/Drivers/sdcard/hostcontrollers/SDSC]
"DLL" = "sdcsdcard. dll"
"Prefix" = "SDC"

Wikee
A registry is found in the sdhc folder.
However, this registry has an error.
It must be changed to your own hardware.

In addition, I read the code and use it as an input port. No interruption method is used to detect card insertion. Strange.

After the targettype of the sources file is changed to dynlink, the link fails. Many extern variables cannot be found.

Zhuxiaofeng: can you talk to me directly? I 've added QQ. Thank you!

Hyhappy
Can you tell me how to develop a driver?

Qlb211999
Excuse me, do I need to change the source files of the three DLL files from LIB to DLL?

--------------------------------

Wait, And I will close this old post.

 

-- In fact, this 2410 sdhc is under the Microsoft Installation File.

C:/wince500/public/common/oak/CSP/ARM/Samsung/S3C2410X/sdhc

See the following posts for answers.

Http://topic.csdn.net/u/20080916/16/00d9a2be-e4f8-4bea-b892-f25e20ac4c83.html

Http://bbs.driverdevelop.com/htm_data/48/0811/114421.html

Http://www.itpub.net/archiver/tid-1058350.html

 

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.