This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Store data permanently on NANA after boot using Hive based registry?



Dear friends,

I am working on hive based registry. After enabling the appropriate variables in Environment variables section, I made certain changes in my NAND.reg file which is as shown below-

; @CESYSGEN IF FILESYS_FSREGHIVE
IF BSP_NAND
; HIVE BOOT SECTION
;
; We want start both storage and device manager. Flags value is combination of
; 0x0001 Start storage manager in boot phases 0 and 1 to load the boot
; file system.
; 0x0002 Start device manager in boot phase 1 to load the boot file system.
;
[HKEY_LOCAL_MACHINE\Init\BootVars]
"Start DevMgr"=dword:1
;"Flags"=dword:3
SystemHive"="\\Registry\\system.hv"
"ProfileDir"="\\Registry"
;"DefaultUser"="User"
"RegPersisted"=dword:1
"RegistryFlags"=dword:1


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Flags"=dword:00011000 ; load driver in boot phase 1; do not load again later

; END HIVE BOOT SECTION
; @CESYSGEN ELSE

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Flags"=dword:00010000

; @CESYSGEN ENDIF FILESYS_FSREGHIVE
;-------------------------------------------------------------------------------

; @CESYSGEN IF CE_MODULES_FSDMGR
; HIVE BOOT SECTION

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
"DisableAutoScan"=dword:1
"FormatNumberOfFats"=dword:2
"Flags"=dword:14
"EnableWriteBack"=dword:1
"FormatTFAT"=dword:1
IF IMGREGHIVE
"MountAsRoot"=dword:0
"MountAsBootable"=dword:1
"MountPermanent"=dword:1 ; Do not allow un-mounting (else we'd fail to flush the registry)
"MountAsROM"=dword:0
"MountHidden"=dword:0
"CheckForFormat"=dword:1 ; Ask the OAL if we should format on boot (i.e. cold reset)
ENDIF IMGREGHIVE

IF IMGREGHIVE
; @CESYSGEN IF CE_MODULES_FSREPLXFILT
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS\Filters\fsreplxfilt]
"dll"="fsreplxfilt.dll"
"Order"=dword:$(FLT_LOAD_ORDER_NAND_HIVE)
; @CESYSGEN ENDIF CE_MODULES_FSREPLXFILT
ENDIF IMGREGHIVE

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
"DriverPath"="Drivers\\BuiltIn\\FlashDisk"
"LoadFlags"=dword:1
IF IMGREGHIVE
"BootPhase"=dword:1 ; Make NAND available in BootPhase1, to load the persisted registry
ELSE
"BootPhase"=dword:0
ENDIF IMGREGHIVE
"Order"=dword:$(FSD_LOAD_ORDER_NAND)
"AutoMount"=dword:1
"AutoPart"=dword:0
"AutoFormat"=dword:0
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Folder"="Partap_Disk"
;PARTAP

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Dll"="am33x_nand.dll"
"Prefix"="DSK"
"Index"=dword:1
"Order"=dword:$(LOAD_ORDER_NAND)
;CNC Verify these, use #define
"MemBase"=multi_sz:"50000000","08000000"
"MemLen"=multi_sz:"00001000","00001000"
;"DmaCh"=dword:3
; CE_DRIVER_BLOCK_GUID
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FlashDisk"
"Prefetch"=dword:1

; END HIVE BOOT SECTION
ENDIF BSP_NAND
; @CESYSGEN ENDIF CE_MODULES_FSDMGR

But  before any alternate boot I add some folder and I can see in next boot and add one more folder and unable to see in next boot. 

NOTE- Observed one thing when the data/folder persist in the desired location(mounted device).. that time device does not ask for calibration test ..

I have also read various documents as shown below but still get no success:-

http://processors.wiki.ti.com/index.php/Persistent_Registry_in_ARM-A8_BSP

http://msdn.microsoft.com/en-us/library/ms892395.aspx

http://stackoverflow.com/questions/2696941/hive-based-registry-in-flash

What is missing I am very much confuse about this????? Please help me if any one worked in this kind of task ....