I am trying to boot WINEC7 on Dm8148 custom board with NAND enabled.
Nand details- its an 8 bit NAND with 8k page size and redundant bytes of 32 bytes in every 256 pages.though the WINEC7 BSP does not support 8 bit Nand device ,when i referred to WINEC7 persistent hive user guide i got to know this bsp supports the NAND manufacture which is in my board.
So i thought i ll try making the required changes for the driver to detect the 8 bit nand device and I made the following changes in the BSP.
BSPcfg.c
FMd.c
img_cgf.h
cfg.c
flashmenu.c
enabled hive based registry settings and persistent hive based storage in catalog items.
I was able to detect nand Manufacture ID and device ID and even able to read and write to it.but when i tried hive settings on it.
I am able to get Winec7 booted up with filesystem on NAND(system.hv and user.hv show the timestamp changes when i make any changes to the desktop wallpaper) but it is not able to survive the reboot .But when i erase 0-5 blocks using Eboot menu options of erasing NAND it boots up but with no folders saved created by me in the mounted volume region/folder.
these are my NAND.reg file settings.
As i am using Smart NAnd (I am using MDD+PDD layer).
; All rights reserved ADENEO EMBEDDED 2010
;-------------------------------------------------------------------------------
; @CESYSGEN IF FILESYS_FSREGHIVE
; 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]
"Flags"=dword:3
[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
IF BSP_NAND
; HIVE BOOT SECTION
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk\FATFS]
"Dll"="exfat.dll"
; "FormatExfat"=dword:1
"Util"="fatutil.dll"
"Flags"=dword:14
"EnableCache"=dword:1
"DisableAutoScan"=dword:1
"CheckForFormat"=dword:1
"FormatTFAT"=dword:1
"MountAsRoot"=dword:1
;;IF SYSGEN_FSREGHIVE
"MountAsBootable"=dword:1
;;ENDIF SYSGEN_FSREGHIVE
[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDisk]
"DriverPath"="Drivers\\BuiltIn\\FlashDisk"
"LoadFlags"=dword:1 ; load synchronously
"BootPhase"=dword:0
;;IF SYSGEN_FSREGHIVE
"MountAsBootable"=dword:1
;;ENDIF SYSGEN_FSREGHIVE
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
"Folder"="Mounted_Volume"
;"FileSystem"="fatfsd.dll"
"DefaultFileSystem"="FATFS"
; "PartitionDriver"="mspart.dll"
"PartitionDriver"="flashpart.dll"
"AutoPart"=dword:1
"AutoFormat"=dword:1
"AutoMount"=dword:1
"Name"="SmartNAND"
;;IF SYSGEN_FSREGHIVE
"MountAsBootable"=dword:1
;;ENDIF SYSGEN_FSREGHIVE
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\FlashDisk]
"Dll"="flashmdd.dll"
"FlashPddDll"="am387x_nand.dll"
"Prefix"="DSK"
"Index"=dword:1
"Order"=dword:0
"MemBase"=multi_sz:"50000000","08000000"
"MemLen"=multi_sz:"00001000","00001000"
"Prefetch"=dword:1
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Profile"="FlashDisk"
;;IF SYSGEN_FSREGHIVE
"Flags"=dword:1000
;;ENDIF SYSGEN_FSREGHIVE
;;IF SYSGEN_FSREGHIVE
[HKEY_LOCAL_MACHINE\init\BootVars]
"SystemHive"="Documents and Settings\\system.hv"
"ProfileDir"="Documents and Settings"
"DefaultUser" = "user"
"RegistryFlags" = dword:1
"Flags"=dword:3
;;ENDIF SYSGEN_FSREGHIVE
; END HIVE BOOT SECTION
ENDIF BSP_NAND
; @CESYSGEN ENDIF CE_MODULES_FSDMGR
Could anyone please help me in getting NAND hive based settings survive reboot..