SPI on PicoMODA9 does not work

  • We tried to switch our application from PicoMOD6/7 to PicoMODA9.
    Our application is running so far, but the SPI driver does not.
    Please find attached the settings and driver we use on PM6/7 and that we tried out on PMA9.
    Do have have to change some settings in the registry, because of the new CPU (i.MX6) platform?

  • First, why you delete the SPI keys and set it new? Only change the values there differ to yours.


    On PicoMODA9 the SPI Registry key are located in "\drivers\builtin\PicoMODA9\SPI1"

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • Ok. We changed the path of the registry to "\drivers\builtin\PicoMODA9\SPI1".
    Now we change or add only the values like:
    reg open
    reg open \Drivers\Builtin\PicoMODA9\SPI1
    reg set value Order dword 101
    reg set value ClockFreq dword 1000000
    reg set value SPIMode dword 1
    reg set value DriverMethod dword 0
    reg set value SPIController dword 0
    reg set value Debug dword 0
    reg set value Priority256 dword 103
    reg save


    But we still do not have any SPI communication. Are our settings ok for PicoMODA9?

  • Please take a look on the documentation(chapter 16) on our homepage on products->PicoMOD->PicoMODA9->Documents
    The direct link are following: https://www.fs-net.de/assets/d…iMX6_DeviceDriver_eng.pdf


    You are able to reset the registry to the default on the EBoot(SHIFT+S during boot) with the command "R"


    Code
    1. reg open \Drivers\Builtin\PicoMODA9\SPI1
    2. reg set value ClockFreq dword 1000000
    3. reg set value Debug dword 0
    4. reg save


    If the SPI still doesn't work please set following to enable SPI debug output on COM1:


    Code
    1. reg open \Drivers\Builtin\PicoMODA9\SPI1
    2. reg set value Debug dword 0xfff
    3. reg save


    Activate debug output on COM1 on EBoot with command "O" and answer the question with "N".
    Reboot and post the output after you try to use the SPI.

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.

  • This is the debug output we get:


    ClearArmvSysScan()
    pInfo@0x10001100
    ArmrvSysScan()
    pInfo@0x10001100
    GetDeviceInfo()
    GetProcessorFeatures()
    ArchVersion 0x00000003
    PeriphBase() 0x00a00000
    pInfo->NumCpus() 0x00000001
    pInfo->TimerClk() 0x00000042
    CLIDR=0x09200003
    L2CacheType=0x00000000
    L2Base=0x00a02000
    PL310_ID=0x410000c8
    L2 cache found
    pInfo->IsExtL2() 0x00000001
    pInfo->IsVFPSupported() 0x00000001
    CLIDR=0x09200003
    L2CacheType=0x00000000
    L2Base=0x00a02000
    PL310_ID=0x410000c8
    L2 cache found
    pInfo->GicIntfBase() 0x00a00100
    pInfo->GicDistBase() 0x00a01000
    pInfo->SecGicIntfBase() 0x00000000
    pInfo->SecGicDistBase() 0x00000000
    ConfigCpuAuxFeatures()
    ConfigCpuDiagCtrl()
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    16GBit (2GB)
    unknown (0xda)
    BSPUpda<-12>INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    UUID: FS694D5836085EC6
    pBSPArgs=0x10001000
    pBSPArgs->nbootargs.dwID=0x45424F54
    pBSPArgs->nbootargs.dwSize=0x40
    pBSPArgs->nbootargs.dwNBOOT_VER=0x35314E56
    pBSPArgs->nbootargs.dwAction=0x0


    Microsoft Windows CE Bootloader Common Library Version 1.2 Built Jul 10 2014 09:37:54
    Microsoft Windows CE Bootloader for PicoMODA9 Built Jul 11 2014
    Portions copyright (c) 2012 F&S Elektronik Systeme GmbH
    Boot Loader, Version 0.80
    NBoot, Version VN15
    HW rev. 1.0


    System ready!
    Preparing for download...
    Press >S< to step into monitor...
    000000
    Kernel (3240kB) read from flash disk started finished in 1000 milliseconds
    Kernel read from NAND
    INFO: OEMLaunch: Jumping to Physical Address 0x10220000h (Virtual Address 0x10220000h)...


    Jumping to Kernel @ 0x10220000
    ArmrvSysScan()
    pInfo@0x10001100
    Use ArmrvSysScan from EBOOT
    CLIDR=0x09200003
    L2CacheType=0x00000000
    L2Base=0x00a02000
    PL310_ID=0x410000c8
    L2 cache found
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    Windows CE Kernel for ARM (Thumb Enabled)
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
    bUseOALLog=0x80626834 bCleanBootFlag=0xa0001268 pdwOALLogMask=0xa00012a8 C
    OAL Log enable : 1
    OAL Log mask : 3
    OEMInit: silicon rev = 0x11
    SMP support disabled


    PicoMODA9 BETA V0.90 - Firmware Init
    Copyright (c) 2013 F&S Elektronik Systeme GmbH
    Build: Oct 28 2014/15:33:46
    MICRON: 16GBit (2GB)
    WARNING: SNVS was reset.
    [OAL] MACB: Disabled
    CPU Num:1
    MICRON: 16GBit (2GB)
    BINFS: RegisterVolume - Mounted volume '\BINFS'
    PM-NETDCU: STARTED
    BE2: Version 1.4, ActiveKey = Drivers\Active\01
    BE2: Version 1.4, ActiveKey = Drivers\Active\04
    IPU: Version 1.1, ActiveKey = Drivers\Active\11
    NI2C: Version 0.1, ActiveKey = Drivers\Active\17
    HCD: Version 1.1, ActiveKey = Drivers\Active\18
    NI2C: Version 0.1, ActiveKey = Drivers\Active\20
    Serial: Version 1.1, ActiveKey =
    Serial: Port disabled. Serial debug is on !
    Serial: Version 1.1, ActiveKey =
    PP: Version 1.1, ActiveKey = Drivers\Active\24
    VDI: Version 1.1, ActiveKey = Drivers\Active\25
    ENET: Version 01.01, ActiveKey = Comm\ETHNETA
    ENETGetPHYId2: The name for the external PHY is DP83848
    BE2: Version 1.4, ActiveKey = Drivers\Active\38
    Serial: Version 1.1, ActiveKey =
    SHC: Version 1.1, ActiveKey = Drivers\Active\41
    CID: Version 2.2, ActiveKey = Drivers\Active\42
    I2C: Version 4.2, ActiveKey = Drivers\Active\43
    TCH: Version 0.5, ActiveKey = Drivers\Active\44
    = 1 (Default)
    ERROR: c:\wince700\platform\fsimx6\src\drivers\nspi\bspecspi.c line 524: Invalid Index
    EXTRTC: Version 1.2, ActiveKey = Drivers\Active\46
    PPU: Version 1.1, ActiveKey = Drivers\Active\47
    Currten Board AUDIO doesn't work
    LCD: Version 0.1, ActiveKey = Drivers\Display\LCD
    LCD: Read registry settings from Drivers\Display\LCD
    LCD: Display-Mode 100, Name Evervision VGG804806
    TchProxy: touch driver cann't be loaded. Check touch driver registry settings.
    TchProxy: GetDeviceCaps: Warning Since Touch stream driver is not loaded this call will return error or default values.
    Detecting new link
    Warning: you are requesting IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMTYPE, which has been deprecated. Use IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMNAME instead.
    Warning: you are requesting IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMTYPE, which has been deprecated. Use IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMNAME instead.
    NDCUCFG V 55 started. Platform: PicoMODA
    NDCUCFG Open COM2: at 115200 Baud
    CreateFile() failed -> ERROR COM2:
    Warning: you are requesting IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMTYPE, which has been deprecated. Use IOCTL_HAL_GET_DEVICE_INFO::SPI_GETPLATFORMNAME instead.
    Exception 'Data Abort' (0x4): Thread-Id=04660026(pth=c086a52c), Proc-Id=04310026(pprc=c087f900) 'VibrografDevice.exe', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=00199e58(???+0x00199e58) RA=00190d0c(???+0x00190d0c) SP=000df1e0, BVA=00000000
    Exception 'Data Abort' (0x4): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=ef24264c(fs_nspi.dll+0x0000264c) RA=d3c00000(???+0xd3c00000) SP=d422fc44, BVA=00000000
    Exception 'Raised Exception' (0x116): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=eff6ef18(k.coredll.dll+0x0001ef18) RA=8025562c(kernel.dll+0x0000e62c) SP=d422f34c, BVA=ffffffff
    Exception 'Data Abort' (0x4): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=ef24264c(fs_nspi.dll+0x0000264c) RA=d3c00000(???+0xd3c00000) SP=d422fc44, BVA=00000000
    Exception 'Raised Exception' (0x116): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=eff6ef18(k.coredll.dll+0x0001ef18) RA=8025562c(kernel.dll+0x0000e62c) SP=d422f34c, BVA=ffffffff
    Exception 'Data Abort' (0x4): Thread-Id=04660026(pth=c086a52c), Proc-Id=04310026(pprc=c087f900) 'VibrografDevice.exe', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=00788a64(???+0x00788a64) RA=00788a58(???+0x00788a58) SP=000df5e0, BVA=00000000
    Exception 'Data Abort' (0x4): Thread-Id=04660026(pth=c086a52c), Proc-Id=04310026(pprc=c087f900) 'VibrografDevice.exe', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=00788a64(???+0x00788a64) RA=00788a58(???+0x00788a58) SP=000df5e0, BVA=00000000
    34c, BVA=ffffffff
    Exception 'Data Abort' (0x4): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=ef24264c(fs_nspi.dll+0x0000264c) RA=d3c00000(???+0xd3c00000) SP=d422fc44, BVA=00000000
    Exception 'Raised Exception' (0x116): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=eff6ef18(k.coredll.dll+0x0001ef18) RA=8025562c(kernel.dll+0x0000e62c) SP=d422f34c, BVA=ffffffff
    Exception 'Data Abort' (0x4): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=ef24264c(fs_nspi.dll+0x0000264c) RA=d3c00000(???+0xd3c00000) SP=d422fc44, BVA=00000000
    Exception 'Raised Exception' (0x116): Thread-Id=05f70042(pth=c0889110), Proc-Id=00400002(pprc=806635e0) 'NK.EXE', VM-active=04310026(pprc=c087f900) 'VibrografDevice.exe'
    PC=eff6ef18(k.coredll.dll+0x0001ef18) RA=8025562c(kernel.dll+0x0000e62c) SP=d422f34c, BVA=ffffffff
    ENETParsePHYLink- Media State Toggle- 2
    34c, BVA=ffffffff
    34c, BVA=ffffffff
    34c, BVA=ffffffff
    34c, BVA=ffffffff
    UFN: Version 1.1, ActiveKey = Drivers\Active\66
    34c, BVA=ffffffff
    34c, BVA=ffffffff
    34c, BVA=ffffffff