Hive Registry setup

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Hive Registry setup

6,229 Views
seetha
Contributor III

Hi all,

Does anybody know how to make hive registry setup to SD/MMC for WinCE 7.0 in i.MX53 platform?  I have used below method but it is giving exceptions.

; @CESYSGEN IF CE_MODULES_SDBUS

; HIVE BOOT SECTION
IF BSP_ESDHC1
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC1]
"Order"=dword:21
"Dll"="esdhc.dll"
"Prefix"="SHC"
"Index"=dword:1
;"DisableDMA"=dword:1 ; Use this reg setting to disable both internal and external DMA
"MaximumClockFrequency"=dword:3197500 ; 52 MHz max clock speed
;"WakeupSource"=dword:1 ; this will enable system wakeup when card is inserted or removed during suspend state
ENDIF BSP_ESDHC1

IF BSP_ESDHC3
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC3]
"Order"=dword:21
"Dll"="esdhc.dll"
"Prefix"="SHC"
"Index"=dword:3
;"DisableDMA"=dword:1 ; Use this reg setting to disable both internal and external DMA
"MaximumClockFrequency"=dword:3197500 ; 52 MHz max clock speed
;"WakeupSource"=dword:1 ; this will enable system wakeup when card is inserted or removed during suspend state
ENDIF BSP_ESDHC3

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"Name"="MMC Card"
"Folder"="MMCMemory"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="SDMemory"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDHCMemory]
"Name"="SD Memory Card"
"Folder"="SDMemory"
; END HIVE BOOT SECTION
; @CESYSGEN ENDIF CE_MODULES_SDBUS

Thanks and Regards,

Seetharam

Labels (1)
Tags (2)
33 Replies

2,777 Views
oobin
Contributor I

Dear Seetharam,

thx a lot ~ ^^

It is working now ~

HB

Seetharam said:

With 4GB SD/MMC also hive registry is working fine for me. I just added High_capacity parameter as follows:

; SDHC Memory Storage class driver
[HKEY_LOCAL_MACHINE\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class\High_Capacity]
"Flags"=dword:1000
"Dll"="SDMemory.dll"
"Prefix"="DSK"
"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
;"IdleTimeout"=dword:7D0 ; 2000 milliseconds
;"IdlePowerState"=dword:2 ; 0 == D0, 1 == D1, etc.
;"DisablePowerManagement"="" ; if value present, then disable (remove
;value to enable)
"Profile"="SDMemory"
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}",
"{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}"
;"BootPhase"=dword:1

Try the same. It should work.

Regards,

Seetharam

0 Kudos

2,777 Views
lee_ee
Contributor II

Dear hb chen

my HW platform is iMX53, OS is WEC7.

now, I failed to have Hive-based registry on WinEC7 to SD or MMC, my  step as follow:

         1.  Set "hive-based registry" and  "RAM and ROM File System" in catalog item;

         2.  Set my platform.reg same as your attach 403-platform.reg (78.6 K)

But, no mater the system boot form SD card or EMMC(inand)  system always hang , not enter the desktop.

You have experience to achieve hive-base registry on WinEC7, please guide me to resolve SD or MMC Hive registry issue.

Thanks and Regards

0 Kudos

2,777 Views
oobin
Contributor I

Dear Lee,

Which board do you use ? SMD board or custom board ?

403-platform.reg should be ok, Seetharam had verified it.

Where do you try to save your registry ? SD or MMC ?

If MMC, you might need to format MMC as FAT32 first by using non-hived based image.

Or you can try to save registry to SD first to check whether you can use hive or not.

You might post your debug message here ~

0 Kudos

2,778 Views
qiqi_nan
Contributor I

Hi Chen, following your post we found to change platform.reg, but we encounter a problem, WINCE can write registry on SD CARD (we know this if we plug in blank card, there would be new "Windows" and "Document And Settings") but it stop, the CE shell does not appear. Can you  please check the platform.reg? thanks

0 Kudos

2,778 Views
oobin
Contributor I

Dear QiQi~

Can you post your debug message here ~

If no sd hive (non-hvie-based)~ is everything is fine ?~

0 Kudos

2,778 Views
qiqi_nan
Contributor I

Many Thanks! hb chen.

please have a look at the debug output for sd hive

if no sd hive, everything is ok, WinCE can boot up and there are mmc card and SD card in explorer.

to disable sd hive, I set the  following BSP  variables

BSP_NO_MMC_HIVE=1

set SYSGEN_RAMDISK=1

set RAMDISK_ROOTPART=1



0 Kudos

2,778 Views
oobin
Contributor I

Dear QiQi,

1) [HKEY_LOCAL_MACHINE\init\BootVars]

Plz try "RegistryFlags"=dword:2 first

2) Why did you use this ?

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC1]

    "Flags"=dword:1000

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ESDHC3]

    "Flags"=dword:1000 

   

3) [HKEY_LOCAL_MACHINE\Drivers\Builtin\SDBusDriver]

"Flags"=dword:10000

"Flags"=dword:1000

"BootPhase"=dword:1

4) The attached file above is for mmc hive.

In my case, just change below setting should be ok.

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]

"MountAsBootable"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory\FATFS]

"MountBootable"=dword:1

==> However, I had saw you use this setting. Thus, plz take care 1), 2), and 3) ~

==> You might lost SD device power or reset SD Device after boot up wince.

remove some drivers and try.


0 Kudos

2,778 Views
qiqi_nan
Contributor I

Thank you

I tried both RegistryFlags=1 and RegistryFlags=2,  the result is not same, with RegistryFlags=1 CE can not boot up, with RegistryFlags=2 CE can boot up. in CE, there are sdcard and mmc folder, but it can not be write.  can you please check the attachments. In both cases,  there are registry file in sd card.

as to 2) and 3) flags=1000 prevent the driver from loading twice. am I right?

0 Kudos

2,778 Views
oobin
Contributor I

Dear QiQi,

Sorry ~ I had just tested RegistryFlags=2 in my case for performance and suspend issue ~

In RegistryFlags=2 case, you can save registry by RegFlushKey API when you change some environments.

RegFlushKey(HKEY_CLASSES_ROOT)

RegFlushKey(HKEY_CURRENT_USER)

RegFlushKey(HKEY_LOCAL_MACHINE)

RegFlushKey(HKEY_USERS))~

If RegistryFlags=1, it will save registry automatically when you change environments.

However, RegistryFlags=1 should be okay, I have no idea why you can not bootup CE if you use this case.

0 Kudos

2,778 Views
qiqi_nan
Contributor I


Dear hb chen, thank you very much for your help. now, mmc hive is ok, but sd card is not ok, we are still investigating, maybe there is error in sd card driver.

0 Kudos

2,778 Views
oobin
Contributor I

Dear QiQi,

U r welcome.

Finally, you use RegistryFlags=1 or 2 ??

And plz share your .reg file if possible ~

thx~

0 Kudos

2,778 Views
qiqi_nan
Contributor I

Dear hb chen, we use  RegistryFlags=2, but we set the following

set IMGREGHIVE=1

if /i "%IMGREGHIVE%"=="1" set PRJ_ENABLE_FSREGHIVE=1

if /i "%IMGREGHIVE%"=="1" set PRJ_ENABLE_REGFLUSH_THREAD=1

so the hive registry can be saved automatically

here it is.

0 Kudos

2,778 Views
oobin
Contributor I

Dear QiQi,

Thx to you share ~

Just remind. I tried this before in WinCE6, there is suspend issue on my board ~

Maybe just our hardware issue ~

0 Kudos

2,778 Views
wangweijun
Contributor I

Dear hb chen

We reference IMX53 SMD WINCE7 and developed,now encountered two problems

1.RTC clock

System up,Serial debugging information can look RTC,and run,but taskbar can not look the time,Go to Control Panel>Date and Time,serial debugging infomation below

 

PID:05670BE2 TID:052214B2 Exception 'Raised Exception' (0xc0000094): Thread-Id=052214b2(pth=c082a000), Proc-Id=05670be2(pprc=c08ac000) 'CTLPNL.EXE', VM-active=05670be2(pprc=c08ac000) 'CTLPNL.EXE'

PID:05670BE2 TID:052214B2 PC=40051a94(coredll.dll+0x00041a94) RA=802292cc(kernel.dll+0x0000e2cc) SP=0016eccc, BVA=00000000

PID:00400002 TID:052214B2 Exception 'Raised Exception' (0x116): Thread-Id=052214b2(pth=c082a000), Proc-Id=00400002(pprc=84ea95e0) 'NK.EXE', VM-active=05670be2(pprc=c08ac000) 'CTLPNL.EXE'

PID:00400002 TID:052214B2 PC=eff5f9d4(k.coredll.dll+0x0001f9d4) RA=802292cc(kernel.dll+0x0000e2cc) SP=dc63e7a0, BVA=ffffffff

2.system

Do not know where the reason,the system is HIVE,System starts from emmc(emmc connect SD1,4bit),system up ,can look the letter of MMCMemory,copy a application  of test database into the MMCmemory and run,the application can creat a file and can look the ico,but refresh,the ico is dispappear ,it seem the file is virtual.can't link the file

But if copy the application of test database into the system folder(ie. My Documents) and run ,the application can creat a file and can look two ico,refresh,leave one ico,can link the file.

If copy or cut a file from one folder to other any more folder ,can creat two ico,refresh ,leave one ico.if delete one file,the file ico still ,refresh,the ico disappear.

Problem has plagued us for a long time, do not know how to solve it, thank you very much

0 Kudos

2,778 Views
seetha
Contributor III

Hey all,

I have hive registry working on Standard SD and MMC. When I boot from SD hive will get stored only in MMC but not in SD.

I want hive registry in SD and in MMC only when SD is not present and booting from MMC.

When I disable MMC, hive will get created in SD.

Any suggestions ?

Seeth

0 Kudos

2,778 Views
wangyx
Contributor III

Dear Seetharam,

     Have you try it successfully yet???

     I am also doing this,

     Now encountered three problems:

     1.    The HIVE registry can not be modified, I write a key , and then refresh, returns an error value of 23.

               Also the SD card can not create a new folder .   

     2.     Sometimes when I refresh my SD card , the folder is hidden , but can access

     3.    I set the registry path '\Registry\system.hv', but at the same time another folder (windows) is created

    My board is  SMD.Can you help me? Thanks and Regards

0 Kudos

2,778 Views
seetha
Contributor III

Hi,

Yes, I have implemented it. Can you share your platform.reg file ? I will update it and post here.

Seetharam

0 Kudos

2,778 Views
wangyx
Contributor III

Dear Seetharam Nayak

     I had shared my platform.reg file yet in my inside the annex, please see the annex, Thx~

     Or see https://community.freescale.com/thread/306271

     Thanks & Regards.

    

     wang

0 Kudos

2,778 Views
seetha
Contributor III

Hi,

Can you use the attached platform.reg file and test once?

Seetharam

0 Kudos

2,779 Views
oobin
Contributor I

Dear LEE,

1) There are still some difference. (HDProfile) . However, I can't sure it is the problem.

2) I can't give you my suggestions if you just pass .reg file to me without other information that I mentioned.

0 Kudos