This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SDK15.3 USB_MSC example does not work properly

Hi,

In SDK15.3 USB MSC example can't  work.

First, the computer does not recognize the USB MSC device and initializes it normally after calling nrfx_systick_init.

Secondly, although the computer can recognize that the file operation cannot be performed at that time, once the operation causes the USB MSC to be stuck.

 The project is more urgent, What can I do to get it back to normal?

Debugging environment

development software : SDK15.3

Computer platform : window7/10

hardware : PCA10056

Parents Reply Children
  • Tested after the SDK15.0 bug was changed. In addition, SDK15.2 is the same as SKD15.3. I also have problems with the board version 1.0.0. Even the LEDs are not lit. The phenomenon of version 0.9.3 is able to enumerate the devices but cannot manipulate the files. You are sure that you have nothing. issue? I can easily reproduce it.

  • Hi,

    Nandi said:
    You are sure that you have nothing. issue?

     I don't see any issues with PCA10056 1.0.0(QIAAC0) and SDK 15.3

    Nandi said:
    The phenomenon of version 0.9.3 is able to enumerate the devices but cannot manipulate the files

    0.9.3 will not work with SDK 15.3

    Nandi said:
    Even the LEDs are not lit.

     This is with QIAAC0? and a custom board?

    Do you use the same QSPI flash as on the DK ?

    Have you made any changes to the example ?

    Have you tested other USB examples(e.g. usbd_hid_generic) in SDK 15.3 ? Do you have any issues with them ?

     

  • The attachment file is changed on my download based sdk15.3.

    I can't delete files or create new ones whether it's PCA10056 1.0.0 (QIAAC0) or PCA10056 0.9.3 (QIAAAA).

    I tested the following usbd_hid_generic example to work properly.

    Index: main.c
    ===================================================================
    diff --git a/Nordic_Base_SDK15_3/examples/peripheral/usbd_msc/main.c
    --- a/02-SoftwareDevelop/Trunk/Nordic_Base_SDK15_3/examples/peripheral/usbd_msc/main.c	(version 6675)
    +++ b/02-SoftwareDevelop/Trunk/Nordic_Base_SDK15_3/examples/peripheral/usbd_msc/main.c
    @@ -194,8 +194,6 @@
     
     #else
     #define BLOCKDEV_LIST() (                                   \
    -    NRF_BLOCKDEV_BASE_ADDR(m_block_dev_ram, block_dev),     \
    -    NRF_BLOCKDEV_BASE_ADDR(m_block_dev_empty, block_dev),   \
         NRF_BLOCKDEV_BASE_ADDR(m_block_dev_qspi, block_dev)     \
     )
     #endif
    @@ -489,6 +487,7 @@
         }
     }
     
    +#include "nrfx_systick.h"
     int main(void)
     {
         ret_code_t ret;
    @@ -502,6 +501,8 @@
     
         ret = nrf_drv_clock_init();
         APP_ERROR_CHECK(ret);
    +    
    +    nrfx_systick_init();
     
         /* Fill whole RAM block device buffer */
         for (size_t i = 0; i < sizeof(m_block_dev_ram_buff); ++i)
    

  • From your diff, you are adding nrfx_systick_init();

    Does it work if you don't add nrfx_systick_init(); ?

Related