AnsweredAssumed Answered

WEC7, iMX6Q : SDBUS error in MultiBinFS implementation on SD

Question asked by Keshava G N on Aug 13, 2014
Latest reply on Aug 17, 2014 by Keshava G N

Hi all,

 

 

I'm trying to implement MultiBinFS OS image on SDMMC.

I have flashed the SD with eboot.nb0 and NK.nb0 using cfimager.exe -raw

 

 

It is loading xip.nb0 successfully and loading sdbus.dll, sdmemory.dll and usdhc.dll (which are changed for MultiBinFS as suggested in this link. Difference is that I'm having an updated WEC7 and i'm implementing on iMX6Q).

 

 

But then I'm getting data abort exception in SDBus.dll.

 

 

I checked the debug build and below is the log.

 

 

Any help is greatly appreciated.

 

 

DEBUG LOG:

 

 

Windows CE Kernel for ARM (Thumb Enabled) Built on Mar 31 2014 at 17:35:09

ProcessorType=0c09  Revision=10 CpuId=0x412fc09a

OEMAddressTable = 80201424

Initializing VFP, FPSID=41033094

NKStartup done, starting up kernel. nCpus = 1

Windows CE KernelInit

Booting Windows CE version 7.00 for (ARM)

Memory Configuring: Total pages: 206549, Filesystem pages = 25818

Booting kernel with clean memory configuration:

Total Memory Sections:4

[0] (static): start: 80927000, extension/attributes: 0003e000, length: 0f6d5000

[1] (dynamic): start: 002d0000, extension/attributes: 00040800, length: 10000000

[2] (dynamic): start: 003d0000, extension/attributes: 00040800, length: 10000000

[3] (dynamic): start: 004d0000, extension/attributes: 0000c800, length: 03000000

Scheduling the first thread.

PID:00400002 TID:00410002 PGPOOL: Reserved 768 pages for Loader pool

PID:00400002 TID:00410002 PGPOOL: Reserved 256 pages for File pool

PID:00400002 TID:00410002 OSAXST0: Platform Name = i.MX6Q SABREAuto

PID:00400002 TID:00410002 OSAXST1: >>> Loading Module 'kd.dll' (0xC0801F30) at address 0xEFFE0000-0xEFFFE000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00410002 KD: Starting kernel debugger software probe (KdStub) - KD API version 27

PID:00400002 TID:00410002 OSAXST1: >>> Loading Module 'NK.EXE' (0x80909AD0) at address 0x80200000-0x80230000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00410002 Message Queue support initialized, g_hMsgQHeap = c48c0010

PID:00400002 TID:00500002 OSAXST1: >>> Loading Module 'filesys.dll' (0xC08027D4) at address 0xEFD10000-0xEFDD7000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00500002 OSAXST1: >>> Loading Module 'fsdmgr.dll' (0xC080290C) at address 0xEFC30000-0xEFC85000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 FileSystem Starting - starting with clean file system

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'romfsd.dll' (0xC0803000) at address 0xEFD00000-0xEFD07000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'binfs_sdmemory.dll' (0xC0805000) at address 0xEFB40000-0xEFB5B000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'binfs_sdbus.dll' (0xC0805138) at address 0xEFB60000-0xEFB9D000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'k.ceddk.dll' (0xC0805270) at address 0xEFC00000-0xEFC0E000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 SDBusDriver: PROCESS_ATTACH

PID:00400002 TID:00520002 SDMemory: +SMC_Init

PID:00400002 TID:00520002 SDMemory: LoadDriver binfs_sdbus.dll.

PID:00400002 TID:00520002 SDMemory: Call SDC_Init(), hLoadDriver = 0xc0805138.

PID:00400002 TID:00520002 SDBusDriver: +SDC_Init

PID:00400002 TID:00520002 SDBusDriver: Bus Driver instance created : 0xC4833AD0 ! -SDC_Init

PID:00400002 TID:00520002 SDMemory: LoadDriver binfs_usdhc.dll.

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'binfs_usdhc.dll' (0xC0805700) at address 0xEFBA0000-0xEFBC1000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 OSAXST1: >>> Loading Module 'cspddk.dll' (0xC0805838) at address 0xEFBD0000-0xEFBEF000 in Process 'NK.EXE' (0x80909AD0)

PID:00400002 TID:00520002 SDHCDGetHCFunctions: +Init

PID:00400002 TID:00520002 SDHCDGetHCFunctions: -Init

PID:00400002 TID:00520002 SDMemory: Call SHC_Init(), hLoadDriver = 0xc0805700.

PID:00400002 TID:00520002 SDHC +Init

PID:00400002 TID:00520002 SDHC Active RegPath: Drivers\BlockDevice\USDHC

PID:00400002 TID:00520002 +CUSDHCBase::Init: Active RegPath: Drivers\BlockDevice\USDHC

PID:00400002 TID:00520002 Unknown: DEBUGCHK failed in file e:\wince700\platform\common\src\soc\common_fsl_v3\binfs_sdcard\sdbus\sdworki.cpp at line 101

  KdTrap: JIT debugging requested, waiting for OEM selection

  KdTrap: JIT debugging accepted

PID:00400002 TID:00520002 DEBUG_BREAK @efb92128 Ignored.

PID:00400002 TID:00520002 m_dwVendorVersion=0x0

PID:00400002 TID:00520002 SlotpOptionHandler: Caps = 0x2001013c, HSS = 0x1

PID:00400002 TID:00520002 SDHCInitialize++

PID:00400002 TID:00520002 CUSDHCBase::Start

PID:00400002 TID:00520002 CUSDHCBase::Start: PROCTL set value = 7000021

PID:00400002 TID:00520002 SDHC[3]: Using ADMA2

PID:00400002 TID:00520002 CUSDHCBase32BitADMA2:Create DMA Object for ADMA2

PID:00400002 TID:00520002 BspUSDHCInit==>

PID:00400002 TID:00520002 BspUSDHCInit1

PID:00400002 TID:00520002 sdhc3

PID:00400002 TID:00520002 SetClockRate - Requested Rate: 100000, Setting clock rate to 96679 Hz

PID:00400002 TID:00520002 SYSCTL 0x008E40FF

PID:00400002 TID:009D0002 SDHC[3] status did not change

PID:00400002 TID:00520002 SDHCInitialize--

PID:00400002 TID:00520002 -CUSDHCBase::Init

PID:00400002 TID:00520002 SDHC -Init

PID:00400002 TID:00520002 SDMemory: Load SDBUS driver Done.

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: Setting for 1 bit mode

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: PROCTL value = 0x7800021

PID:00400002 TID:00980002 SetClockRate - Requested Rate: 100000, Setting clock rate to 96679 Hz

PID:00400002 TID:00980002 SYSCTL 0x008E40FF

PID:00400002 TID:00980002 SDSetCardInterfaceForSlot - HC ClockRate differs desired setting: desired: 100000 Hz, Actual : 96679 Hz

PID:00400002 TID:00980002 SendCommand ucCmd = 0x5, Arg = 0x0, respType = 0x5, TransferClass = 0x2

PID:00400002 TID:00980002 HandleCommandErrors - STATUS ERROR BITS=0x00010000

PID:00400002 TID:00980002 DumpCurrentRequest: 0xC4834494

PID:00400002 TID:00980002        Command: 5

PID:00400002 TID:00980002        Argument: 0x00000000

PID:00400002 TID:00980002        ResponseType: 5

PID:00400002 TID:00980002        NumBlocks: 0

PID:00400002 TID:00980002        BlockSize: 0

PID:00400002 TID:00980002        HCParam: 0

PID:00400002 TID:00980002 +DumpUSDHCRegs-------------------------

PID:00400002 TID:00980002 DSADDR 0x00000000

PID:00400002 TID:00980002 BLKATTR 0x00010200

PID:00400002 TID:00980002 CMDARG 0x00000000

PID:00400002 TID:00980002 XFERTYP 0x05020000

PID:00400002 TID:00980002 CMDRSP0 0x00000900

PID:00400002 TID:00980002 CMDRSP1 0x001D8A7F

PID:00400002 TID:00980002 CMDRSP2 0x325B5900

PID:00400002 TID:00980002 CMDRSP3 0x00000B00

PID:00400002 TID:00980002 PRSSTAT 0xFF8D8089

PID:00400002 TID:00980002 PROCTL 0x07800021

PID:00400002 TID:00980002 SYSCTL 0x008E40FF

PID:00400002 TID:00980002 IRQSTAT 0x00010000

PID:00400002 TID:00980002 AUTOC12ERR 0x00000000

PID:00400002 TID:00980002 HOSTCAPBLT 0x07F30000

PID:00400002 TID:00980002 WML 0x08800880

PID:00400002 TID:00980002 HOSTVER 0x00000003

PID:00400002 TID:00980002 -DumpUSDHCRegs-------------------------

PID:00400002 TID:00980002 HandleCommandErrors - Command line error (0x10000). Resetting CMD line.

PID:00400002 TID:00980002 SDSynchronousBusRequest_I: queue request failed(0xc0000014),TransferClass(2), CommandCode(5),CommandArgument(0)

PID:00400002 TID:00980002 SendCommand ucCmd = 0x0, Arg = 0x0, respType = 0x0, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x1, Arg = 0x400e0000, respType = 0x4, TransferClass = 0x2

PID:00400002 TID:00980002 HandleCommandErrors - STATUS ERROR BITS=0x00010000

PID:00400002 TID:00980002 DumpCurrentRequest: 0xC4834494

PID:00400002 TID:00980002        Command: 1

PID:00400002 TID:00980002        Argument: 0x400e0000

PID:00400002 TID:00980002        ResponseType: 4

PID:00400002 TID:00980002        NumBlocks: 0

PID:00400002 TID:00980002        BlockSize: 0

PID:00400002 TID:00980002        HCParam: 0

PID:00400002 TID:00980002 +DumpUSDHCRegs-------------------------

PID:00400002 TID:00980002 DSADDR 0x00000000

PID:00400002 TID:00980002 BLKATTR 0x00010200

PID:00400002 TID:00980002 CMDARG 0x400E0000

PID:00400002 TID:00980002 XFERTYP 0x01020000

PID:00400002 TID:00980002 CMDRSP0 0x00000900

PID:00400002 TID:00980002 CMDRSP1 0x001D8A7F

PID:00400002 TID:00980002 CMDRSP2 0x325B5900

PID:00400002 TID:00980002 CMDRSP3 0x00000B00

PID:00400002 TID:00980002 PRSSTAT 0xFF8D8089

PID:00400002 TID:00980002 PROCTL 0x07800021

PID:00400002 TID:00980002 SYSCTL 0x008E40FF

PID:00400002 TID:00980002 IRQSTAT 0x00010000

PID:00400002 TID:00980002 AUTOC12ERR 0x00000000

PID:00400002 TID:00980002 HOSTCAPBLT 0x07F30000

PID:00400002 TID:00980002 WML 0x08800880

PID:00400002 TID:00980002 HOSTVER 0x00000003

PID:00400002 TID:00980002 -DumpUSDHCRegs-------------------------

PID:00400002 TID:00980002 HandleCommandErrors - Command line error (0x10000). Resetting CMD line.

PID:00400002 TID:00980002 SDSynchronousBusRequest_I: queue request failed(0xc0000014),TransferClass(2), CommandCode(1),CommandArgument(400e0000)

PID:00400002 TID:00980002 SendCommand ucCmd = 0x0, Arg = 0x0, respType = 0x0, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x8, Arg = 0x15a, respType = 0x8, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0x0, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x29, Arg = 0x400e0000, respType = 0x4, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x0, Arg = 0x0, respType = 0x0, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x8, Arg = 0x15a, respType = 0x8, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0x0, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x29, Arg = 0x40040000, respType = 0x4, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0x0, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x29, Arg = 0x40040000, respType = 0x4, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0x0, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x29, Arg = 0x40040000, respType = 0x4, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x2, Arg = 0x0, respType = 0x3, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x3, Arg = 0x0, respType = 0x7, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x9, Arg = 0xe6240000, respType = 0x3, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0xd, Arg = 0xe6240000, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x7, Arg = 0xe6240000, respType = 0x2, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0xe6240000, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x33, Arg = 0x0, respType = 0x1, TransferClass = 0x0

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0xe6240000, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x2a, Arg = 0x0, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002  GetCustomRegPath

PID:00400002 TID:00980002  get the parsed CID registers

PID:00400002 TID:00980002  SD_API_SUCCESS(status)

PID:00400002 TID:00980002 SDBusDriver: built custom MMC/SD path: \Drivers\SDCARD\ClientDrivers\Custom\CID-03-DS-G40US

PID:00400002 TID:00980002 SDBusDriver: The SDIO card does not support block mode.  Use Soft-Block instead.

PID:00400002 TID:00980002 SendCommand ucCmd = 0x37, Arg = 0xe6240000, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x6, Arg = 0x2, respType = 0x1, TransferClass = 0x2

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: Setting for 4 bit mode

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: PROCTL value = 0x7800023

PID:00400002 TID:00980002 SetClockRate - Requested Rate: 25000000, Setting clock rate to 24750000 Hz

PID:00400002 TID:00980002 SYSCTL 0x008E007F

PID:00400002 TID:00980002 SDSetCardInterfaceForSlot - HC ClockRate differs desired setting: desired: 25000000 Hz, Actual : 24750000 Hz

PID:00400002 TID:00980002 The clock rate is set to 24750000PID:00400002 TID:00980002 SendCommand ucCmd = 0x6, Arg = 0x1, respType = 0x1, TransferClass = 0x0

PID:00400002 TID:00980002 SendCommand ucCmd = 0x6, Arg = 0x80000001, respType = 0x1, TransferClass = 0x0

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: Setting for 4 bit mode

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: PROCTL value = 0x7800023

PID:00400002 TID:00980002 SetClockRate - Requested Rate: 24750000, Setting clock rate to 24750000 Hz

PID:00400002 TID:00980002 SYSCTL 0x008E040F

PID:00400002 TID:00980002 SendCommand ucCmd = 0x7, Arg = 0x0, respType = 0x0, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x9, Arg = 0xe6240000, respType = 0x3, TransferClass = 0x2

PID:00400002 TID:00980002 SendCommand ucCmd = 0x7, Arg = 0xe6240000, respType = 0x2, TransferClass = 0x2

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: Setting for 4 bit mode

PID:00400002 TID:00980002 CUSDHCBase::SetInterface: PROCTL value = 0x7800023

PID:00400002 TID:00980002 SetClockRate - Requested Rate: 50000000, Setting clock rate to 49500000 Hz

PID:00400002 TID:00980002 SYSCTL 0x008E003F

PID:00400002 TID:00980002 The clock rate is set to 50000000PID:00400002 TID:00980002 LoadDevice: type = 2, slot 0PID:00400002 TID:00980002 SDLoadDevice

PID:00400002 TID:00980002  GetCustomRegPath

PID:00400002 TID:00980002  get the parsed CID registers

PID:00400002 TID:00980002  SD_API_SUCCESS(status)

PID:00400002 TID:00980002 SDBusDriver: built custom MMC/SD path: \Drivers\SDCARD\ClientDrivers\Custom\CID-03-DS-G40US

PID:00400002 TID:00980002 SDLoadDevice no CUSTOM driver path was found so set the default path

PID:00400002 TID:00980002 SDLoadDevice Device_SD_Memory == m_DeviceType || Device_SD_Combo == m_DeviceType

PID:00400002 TID:00980002 SDLoadDevice SDLoadDevice Device_SD_Memory == m_DeviceType || Device_SD_Combo == m_DeviceType BSP_SUPPORT_MULTIBIN

PID:00400002 TID:00980002 SDLoadDevice SUCCEEDED(hr)

PID:00400002 TID:00980002 SDLoadDevice ASSERT(deviceFound);

PID:00400002 TID:00980002 SDLoadDevice GetHostContainer

PID:00400002 TID:00980002 SDLoadDevice status = SD_API_STATUS_UNSUCCESSFUL;

PID:00400002 TID:00980002 SDLoadDevice new DeviceFolder

PID:00400002 TID:00980002 DeviceFolder::DeviceFolder

PID:00400002 TID:00980002 SDLoadDevice m_pDriverFolder->Init

PID:00400002 TID:00980002 DeviceFolder::AddInitReg

PID:00400002 TID:00980002 SDLoadDevice m_pDriverFolder->AddRef

PID:00400002 TID:00980002 SDLoadDevice Ready

PID:00400002 TID:00980002 DeviceFolder::LoadDevice

PID:00400002 TID:00980002 Exception 'Data Abort' (0x4): Thread-Id=00980002(pth=c0806700), Proc-Id=00400002(pprc=80909ad0) 'NK.EXE', VM-active=00400002(pprc=80909ad0) 'NK.EXE'

PID:00400002 TID:00980002 PC=efe4d908(k.coredll.dll+0x0004d908) RA=00000030(???+0x00000030) SP=ccb1f778, BVA=00000030

PID:00400002 TID:00980002 RtlDispatchException: returning failure. Flags=0

  KdTrap: JIT debugging requested, waiting for OEM selection

  KdTrap: JIT debugging accepted

PID:00400002 TID:00980002

Unhandled exception c0000005:

PID:00400002 TID:00980002 Secondary thread in proc 00400002 faulted, Exception code = c0000005, Exception Address = efe4d908!

 

Any help is greatly appreciated.

 

Thanks.

Regards,

Keshava

Outcomes