How to use four SD cards of s5pv210 in wince6.0 at the same time

Source: Internet
Author: User
Tags builtin

Topic: how to use the four SD cards of s5pv210 under wince6.0 at the same time

By gooogleman

Platform: s5pv210 sate210

Address: http://blog.csdn.net/gooogleman/article/details/7623553

The sate210 core board introduces four SD card interfaces, but currently only two SD cards (sd0 and sd2) are available on the base board and can be used properly under wince6.0. Someone asks me how to use four SD cards at the same time, let me analyze the support for the wince6.0 driver.

View the platform. reg registry,

Yes

If bsp_nosdmmc_ch0!
[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch0]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch0.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch0object"
"Membase" = DWORD: eb000000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 5E; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
; "Baseclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
; "Timeoutclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic
Endif bsp_nosdmmc_ch0!

If bsp_nosdmmc_ch0
If bsp_nosdmmc_timeout!
[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch1]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch1.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch1object"
"Membase" = DWORD: eb100000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 5f; sdmmc1 virtual IRQ = 95 (0x5f), physical IRQ = 59
; "Baseclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
; "Timeoutclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic
Endif bsp_nosdmmc_timeout!
Endif bsp_nosdmmc_ch0

If bsp_nosdmmc_ch2!
[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch2]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch2.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch2object"
"Membase" = DWORD: eb200000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 60; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic
Endif bsp_nosdmmc_ch2!

If bsp_use_sdmmc_ch2_8bit!
If bsp_nosdmmc_ch3!
[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch3]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch3.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchca7object"
"Membase" = DWORD: eb300000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 86; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic
Endif bsp_nosdmmc_ch3!
Endif bsp_use_sdmmc_ch2_8bit!

 

Let's take a look at the environment variable settings for bsp_nosdmmc_ch0, bsp_nosdmmc_ch2, bsp_nosdmmc_ch3.

In sate210.bat

Set bsp_nosdmmc_boot = 1

@ REM ----- SD/MMC driver configuration -------------------------
Set bsp_nosdmmc_ch0 =

Set bsp_use_sdmmc_ch0_8bit =
Set bsp_nosdmmc_1_= 1
Set bsp_nosdmmc_ch2 =
Set bsp_use_sdmmc_ch2_8bit =
Set bsp_nosdmmc_ch3 = 1
If/I "% bsp_nosdmmc_boot %" = "" set bsp_nosdmmc_ch0 = 1

The above configuration is combined with the SD configuration of the registry, which means that sd0 and sd2 are both directly available, so sd1 and sd3 can also be used in this case-the simplest way, delete all environment variables in the registry so that the environment variables are not controlled by sate210.bat.

[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch0]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch0.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch0object"
"Membase" = DWORD: eb000000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 5E; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
; "Baseclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
; "Timeoutclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic

[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch1]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch1.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch1object"
"Membase" = DWORD: eb100000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 5f; sdmmc1 virtual IRQ = 95 (0x5f), physical IRQ = 59
; "Baseclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
; "Timeoutclockfrequency" = DWORD: b71b000; 2aea540-> 45 MHz (epll)
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic

[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch2]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch2.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchcch2object"
"Membase" = DWORD: eb200000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 60; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic

[HKEY_LOCAL_MACHINE \ drivers \ builtin \ sdmmc_ch3]
"Interfacetype" = DWORD: 0; internal
"Order" = DWORD: 21
"DLL" = "sdmmc_ch3.dll"
"Prefix" = "HSCC"
"Objectcreationproc" = "createsdmmchca7object"
"Membase" = DWORD: eb300000
"Memlen" = DWORD: 100
"IRQ" = DWORD: 86; sdmmc0 virtual IRQ = 94 (0x5e), physical IRQ = 58
"Baseclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Timeoutclockfrequency" = DWORD: 5b8d800; 2aea540-> 45 MHz (epll)
"Iclass" = "{A32942B7-920C-486b-B0E6-92A702A99B35}"; power-manageable generic

See platform. bib file.

; -------- Smdkv210 sdmmc -----------------------------------------------------------------------
If bsp_nosdmmc_ch0!
Sdmmc_ch0.dll $ (_ flatreleasedir) \ sdmmc_ch0.dll NK shmk
Endif bsp_nosdmmc_ch0!

If bsp_nosdmmc_ch0
If bsp_nosdmmc_timeout!
Sdmmc_ch1.dll $ (_ flatreleasedir) \ sdmmc_ch1.dll NK shmk
Endif bsp_nosdmmc_timeout!
Endif bsp_nosdmmc_ch0

If bsp_nosdmmc_ch2!
Sdmmc_ch2.dll $ (_ flatreleasedir) \ sdmmc_ch2.dll NK shmk
Endif bsp_nosdmmc_ch2!

If bsp_use_sdmmc_ch2_8bit!
If bsp_nosdmmc_ch3!
Sdmmc_ch3.dll $ (_ flatreleasedir) \ sdmmc_ch3.dll NK shmk
Endif bsp_nosdmmc_ch3!
Endif bsp_use_sdmmc_ch2_8bit!

 

In this way, you can also delete the environment variables.

Sdmmc_ch0.dll $ (_ flatreleasedir) \ sdmmc_ch0.dll NK shmk
Sdmmc_ch1.dll $ (_ flatreleasedir) \ sdmmc_ch1.dll NK shmk
Sdmmc_ch2.dll $ (_ flatreleasedir) \ sdmmc_ch2.dll NK shmk

Sdmmc_ch3.dll $ (_ flatreleasedir) \ sdmmc_ch3.dll NK shmk

 

 

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.