Hi Sir
Do you have any suggestion for transfer file from PC to QSPI external flash ? over USB ? please teach me how to start.
I need a simplest way for put file to external flash, and read data back to nrf52840, Thanks.
Hi Sir
Do you have any suggestion for transfer file from PC to QSPI external flash ? over USB ? please teach me how to start.
I need a simplest way for put file to external flash, and read data back to nrf52840, Thanks.
Hi.
There is an example which does this that you can take a look at. You can find it in SDK 15.2 (download here).
The location is: nRF5_SDK_15.2.0_9412b96\examples\peripheral\usbd_msc and the example is called usbd_msc.
More information about the project is found in the infocenter here.
- Andreas
Can I put my laptop's file, such as .zip file to usb mass storage ?
8.Try pressing Button 1 to create a file. Manipulating the file system from the development kit will not be possible while USB is connected.
Hi.
Yes, but the QSPI only has 8 MB serial flash memory.
8.Try pressing Button 1 to create a file. Manipulating the file system from the development kit will not be possible while USB is connected.
That is correct.
In the example guide: 5. Press the buttons on the development kit and observe the results on the host computer terminal.
The button assignments are:
- Button 1 creates a randomly named file in the root directory.
- Button 2 lists the root directory.
- Button 3 creates a file system (equivalent of the format command).
This example allows you to manipulate the file system (on QSPI memory) only while USB is not connected. If USB is connected, access to the file system from a user application is not possible because MSC is not designed to allow access to the file system from multiple sources.
So when you have the USB connected, and try to press button 1 to create a new file, manipulating the file system from the development kit will not be possible.
If you see point 9, this works again after you disconnect the USB cable.
Also, if you only want QSPI you should remove:
NRF_BLOCKDEV_BASE_ADDR(m_block_dev_ram, block_dev), \
NRF_BLOCKDEV_BASE_ADDR(m_block_dev_empty, block_dev), \
From:
#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) \
)
In main.c line 196.
- Andreas
Hi.
Yes, but the QSPI only has 8 MB serial flash memory.
8.Try pressing Button 1 to create a file. Manipulating the file system from the development kit will not be possible while USB is connected.
That is correct.
In the example guide: 5. Press the buttons on the development kit and observe the results on the host computer terminal.
The button assignments are:
- Button 1 creates a randomly named file in the root directory.
- Button 2 lists the root directory.
- Button 3 creates a file system (equivalent of the format command).
This example allows you to manipulate the file system (on QSPI memory) only while USB is not connected. If USB is connected, access to the file system from a user application is not possible because MSC is not designed to allow access to the file system from multiple sources.
So when you have the USB connected, and try to press button 1 to create a new file, manipulating the file system from the development kit will not be possible.
If you see point 9, this works again after you disconnect the USB cable.
Also, if you only want QSPI you should remove:
NRF_BLOCKDEV_BASE_ADDR(m_block_dev_ram, block_dev), \
NRF_BLOCKDEV_BASE_ADDR(m_block_dev_empty, block_dev), \
From:
#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) \
)
In main.c line 196.
- Andreas
USB_MSC example is workable on Windows 7 ? because I can't find USB-QSPI disk interfaces on my laptop, but windows 10 is good.
Hi.
Is it only USB-QSPI you can't see? can you see other disks emulate and do they appear in the main directory? Can you create files and read them?
- Andreas
I can't see all interfaces.
Hi.
Which revision of the board do you have?
You can read the packet variant on the chip, the middle number, like this:
A table for each packet variant with corresponding revision is here.
Do you have any log outputs you can share?
- Andreas