I ported BSP_WINCE_ARM_A8_02_30_00 to my Beagleboard xM Rev. B. But NK.bin Hang on kernel initial phase with Persistent Hive Registry Storage and Use SD or MMC card enabled in BSP catelog.Someone give some clues? Here are logs from serial port:--------------------------------------------------------------------------------------------------------------------------------------------Texas Instruments Windows CE SD X-Loader for EVM 3730Built Apr 10 2012 at 20:56:47Version BSP_WINCE_ARM_A8 2.30.00.03open ebootsd.nb0 fileInit HW: controller RSTSDCARD: requested speed 1000000, actual speed 1000000SDCARD: requested speed 25000000, actual speed 19200000jumping to ebootsd imageMicrosoft Windows CE Bootloader Common Library Version 1.4 Built Apr 11 2012 15:09:48Texas Instruments Windows CE EBOOT for OMAP35xx/37xx, Built Apr 10 2012 at 20:56:19EBOOT Version 0.0, BSP BSP_WINCE_ARM_A8 2.30.00.03TI OMAP3730 Version 0x00000011 (ES1.1)TPS659XX Version 0x10 (ES1.1)System ready!Preparing for download...INFO: Predownload....Incorrect ECC type settingNAND manufacturer 0 device 0 : no matching device foundERROR: FMD_Init call failed!Incorrect ECC type settingNAND manufacturer 0 device 0 : no matching device foundERROR: FMD_Init call failed!WARN: Boot config wasn't found, using defaultsINFO: SW4 boot setting: 0x12Incorrect ECC type settingNAND manufacturer 0 device 0 : no matching device found>>> Forcing cold boot (non-persistent registry and other data will be wiped) <<<Hit space to enter configuration menu 5...Hit space to enter configuration menu 4...Hit space to enter configuration menu 3...-------------------------------------------------------------------------------- Main Menu-------------------------------------------------------------------------------- [1] Show Current Settings [2] Select Boot Device [3] Select KITL (Debug) Device [4] Network Settings [5] SDCard Settings [6] Set Device ID [7] Save Settings [8] Flash Management [9] Enable/Disable OAL Retail Messages [a] Select Display Resolution [b] Select OPP Mode [0] Exit and Continue Selection: 9 Enable OAL Retail Messages [y/-]: y OAL Retail Messages enabled-------------------------------------------------------------------------------- Main Menu-------------------------------------------------------------------------------- [1] Show Current Settings [2] Select Boot Device [3] Select KITL (Debug) Device [4] Network Settings [5] SDCard Settings [6] Set Device ID [7] Save Settings [8] Flash Management [9] Enable/Disable OAL Retail Messages [a] Select Display Resolution [b] Select OPP Mode [0] Exit and Continue Selection: 0Init HW: controller RSTSDCARD: requested speed 1000000, actual speed 1000000SDCARD: requested speed 25000000, actual speed 19200000BL_IMAGE_TYPE_BINDownload file information:-----------------------------------------------------------[0]: Address=0x88000000 Length=0x04071768 Save=0x88000000-----------------------------------------------------------Download file type: 1............................................................................................................................................................................................................................................................................................................................................................................rom_offset=0x0...ImageStart = 0x88000000, ImageLength = 0x4071768, LaunchAddr = 0x8800df80Completed file(s):-------------------------------------------------------------------------------[0]: Address=0x88000000 Length=0x4071768 Name="" Target=RAMROMHDR at Address 88000044hLaunch Windows CE image by jumping to 0x8800df80...Windows CE Kernel for ARM (Thumb Enabled)OAL: CPU revision 0x11:DM3730OAL: CPU L2 Aux register 0x400042****Profiler Build****---High Performance Frequency is 25999826 hz---PID:00400002 TID:00410002 Compensating OPP1 for 63mV Orig nvalue:0x99e2c0 New nvalue:0x99b096PID:00400002 TID:00410002 Compensating OPP2 for 63mV Orig nvalue:0x9a92fa New nvalue:0xaaf7d3PID:00400002 TID:00410002 Compensating OPP3 for 75mV Orig nvalue:0xaad1b4 New nvalue:0xaab49bPID:00400002 TID:00410002 Compensating OPP4 for 100mV Orig nvalue:0xaa9f90 New nvalue:0xab89f7PID:00400002 TID:00410002 SetOpp to 3PID:00400002 TID:01320006 SDHC: CPU revision 0x11PID:00400002 TID:01320006 SDHC host controller initialize: m_fastPathSDIO:1 m_fastPathSDMEM:1
There might be numerous reasons why your image does not boot:
1/ Nand flash driver enabled on a board that do not have NAND Flash device2/ Hive defined on the wrong storage content3/ SDCard driver not loaded during boot phase 1 -> Check driver flags in registry4/ SDCard dependent driver not loaded at boot phase 1 -> check all the SDCard driver dependency drivers flags in registry5/ OMAP Bus driver is loading the SDCard driver twice.
Refer to the wiki for details on how to implement Hive based registry:
http://processors.wiki.ti.com/index.php/Persistent_Registry_in_ARM-A8_BSP#SD.2FMMC_Persistent_Storage
Adeneo Embedded Support teamContact us at sales@adeneo-embedded.com
1/ Nand flash driver enabled on a board that do not have NAND Flash device
checked.2/ Hive defined on the wrong storage content
how can we check for that? Is there any other files needed on sd card, other than MLO/EBoot.nb0/NK.bin?3/ SDCard driver not loaded during boot phase 1 -> Check driver flags in registry
checked4/ SDCard dependent driver not loaded at boot phase 1 -> check all the SDCard driver dependency drivers flags in registry
checked5/ OMAP Bus driver is loading the SDCard driver twice.
how can we check for that?
Have you followed http://processors.wiki.ti.com/index.php/Persistent_Registry_in_ARM-A8_BSP#SD.2FMMC_Persistent_Storage ?
This gives you detailed steps for enabling Hive-based registry. You could also try with a debug image in order to get more debug traces and information on what might go wrong. If this works, you should get a "Documents and Settings" directory on the SD card that contains the registry as hidden .hv files.
Sorry for late of response.
Yes we did check with the guide above and found TI already include those changes into the 2.30 release.
One more clue -- I find there is a MMC/SD write protect pin on EVM_OMAP3530 platform :
; All rights reserved ADENEO EMBEDDED 2010;-- SDIO host controller driver ------------------------------------------------; HIVE BOOT SECTION; @CESYSGEN IF CE_MODULES_SDBUS;; @XIPREGION IF PACKAGE_OEMDRIVERSIF BSP_SDHC [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC] "Prefix"="SHC" "Dll"="omap_sdhc.dll" "Index"=dword:1 "Order"=dword:21 "PowerFlags"=dword:00000103 ; send pre/post device state changes "MemBase"=multi_sz:"4809C000" "MemLen"=multi_sz:"00000200" "SDIOPriority"=dword:d3 "CDPriority"=dword:d4IF BSP_SDHIGHSPEEDSUPPORT_SDHC1 "BaseClockFrequency"=dword:2DC6C00 ; override the max clock rate (48 MHz)ELSE "BaseClockFrequency"=dword:16e3600 ; override the max clock rate (24 MHz default)ENDIF "ReadWriteTimeout"=dword:1000 ; (0x1000 clock ticks default) "DTOTimeout"=dword:200 ; Data timeout in milliseconds - 512 ms default "WakeupSources"=dword:3 ; 0 - no wakeup, 1 - wakeup on SDIO, ; 2 - wakeup on card detect, ; 3 - wakeup on both "CardDetectGPIO"=dword:100 ; card insertion detection is GPIO_0 on Triton (256 + 0) "CardInsertedState"=dword:0 ; logical 0 means a card is inserted "CardWPGPIO"=dword:3F ; card R/W protection detection is done via GPIO 63 "CardWriteProtectedState"=dword:1 ; logical 1 means the card is write protected
But beagleboard xM will not have this pin since it has micro SD/TF card support only. Should we modify into SDHC drivers to inhibit Write Protect check for Beagleboard xM?
BTW, I checked with the content of my micro SD card and had not find "Documents and Settings" directory on it.
Could you please tell me for what module we need to enable the retail message out? I tried to enable retail message in sdhc.h but can only get a flooding of sd send/receive commands during the booting.
Some progress today for the SDHC write protect issue:
We inhibited write protect checking inside sdhc drivers today. Then Beableboard xM boots successfully and a folder 'Windows' get created on micro SD card. There are 2 sub-folders under it -- 'Keys" and 'Registry", and system.hv hidden file was observed under 'Registry' folder.
But we still can not get registry storage to work successfully between power cycling. We changed some settings through Control Panel|Volume&Sounds, select OK, and then select Suspend from wince Start icon. And we find nothing get saved after a power cycle to the board.
Should we still missed some configurations or settings, to make wince registries to get saved and retrieved on micro SD card?
weidong zhou Sorry for late of response. Yes we did check with the guide above and found TI already include those changes into the 2.30 release. One more clue -- I find there is a MMC/SD write protect pin on EVM_OMAP3530 platform : ; All rights reserved ADENEO EMBEDDED 2010;-- SDIO host controller driver ------------------------------------------------; HIVE BOOT SECTION; @CESYSGEN IF CE_MODULES_SDBUS;; @XIPREGION IF PACKAGE_OEMDRIVERSIF BSP_SDHC [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SDHC] "Prefix"="SHC" "Dll"="omap_sdhc.dll" "Index"=dword:1 "Order"=dword:21 "PowerFlags"=dword:00000103 ; send pre/post device state changes "MemBase"=multi_sz:"4809C000" "MemLen"=multi_sz:"00000200" "SDIOPriority"=dword:d3 "CDPriority"=dword:d4IF BSP_SDHIGHSPEEDSUPPORT_SDHC1 "BaseClockFrequency"=dword:2DC6C00 ; override the max clock rate (48 MHz)ELSE "BaseClockFrequency"=dword:16e3600 ; override the max clock rate (24 MHz default)ENDIF "ReadWriteTimeout"=dword:1000 ; (0x1000 clock ticks default) "DTOTimeout"=dword:200 ; Data timeout in milliseconds - 512 ms default "WakeupSources"=dword:3 ; 0 - no wakeup, 1 - wakeup on SDIO, ; 2 - wakeup on card detect, ; 3 - wakeup on both "CardDetectGPIO"=dword:100 ; card insertion detection is GPIO_0 on Triton (256 + 0) "CardInsertedState"=dword:0 ; logical 0 means a card is inserted "CardWPGPIO"=dword:3F ; card R/W protection detection is done via GPIO 63 "CardWriteProtectedState"=dword:1 ; logical 1 means the card is write protected But beagleboard xM will not have this pin since it has micro SD/TF card support only. Should we modify into SDHC drivers to inhibit Write Protect check for Beagleboard xM?