
• Write access for programming Intel® HEX formatted files into the memory of the target device.
• Write access for simple text files for utility purposes.
4.1.3.1 Mass Storage Device Implementation
The on-board debugger implements a highly optimized variant of the FAT12 file system that has several limitations,
partly due to the nature of FAT12 itself and optimizations made to fulfill its purpose for its embedded application.
The Curiosity Nano USB device is USB Chapter 9 compliant as a mass storage device but does not, in any way, fulfill
the expectations of a general purpose mass storage device. This behavior is intentional.
When using the Windows operating system, the on-board debugger enumerates as a Curiosity Nano USB Device
that can be found in the disk drives section of the device manager. The Curiosity drive appears in the file manager
and claims the next available drive letter in the system.
The Curiosity drive contains approximately 1 MB of free space. This does not reflect the size of the Flash on the
target device in any way. When programming an Intel HEX file, the binary data are encoded in ASCII with metadata
providing a large overhead, therefore 1 MB is a trivially chosen value for disk size.
It is not possible to format the Curiosity drive. When programming a file to the target, the file name may appear in the
disk directory listing. This is the operating system’s view of the directory, which in reality has not been updated. It is
not possible to read out the file contents. Removing and replugging the board will return the file system to its original
state, but the target will still contain the application that has been previously programmed.
To erase the target device, copy a text file starting with CMD:ERASE onto the disk.
By default, the Curiosity drive contains the following read-only files for generating icons as well as reporting status,
and linking to further information.
•AUTORUN.ICO: Icon file for the Microchip logo.
•AUTORUN.INF: System file required for Windows Explorer to show the icon file.
•CLICK-ME.HTM: Redirect to the SAM-IoT WG v2 web demonstration application.
•KIT-INFO.HTM: Redirect to the development board website.
•KIT-INFO.TXT: Text file containing details about the board’s debugger firmware version, board name, USB
serial number, device, and drag-and-drop support.
•PUBKEY.TXT: Text file containing the public key for data encryption.
•STATUS.TXT: Text file containing the programming status of the board.
Info: The STATUS.TXT file is dynamically updated by the on-board debugger. The contents may be cached by the
OS, and therefore, do not reflect the correct status.
4.1.3.2 Limitations of Drag-and-Drop Programming
The NVM User Row bits included in the hex file will be ignored when using the drag-and-drop programming.
However, the NVM User Row bits can be programed using MPLAB X IDE.
4.1.3.3 Special Commands
Several utility commands are supported by copying text files to the mass storage disk. The file name or extension is
irrelevant as the command handler reacts to content only.
Table 4-2. Special File Commands
Command Content Description
CMD:ERASE Executes a chip erase of the target.
CMD:SEND_UART= Sends a string of characters to the CDC UART. See CDC Override Mode.
CMD:RESET Resets the target device by entering Programming mode and then exiting Programming mode immediately thereafter.
Exact timing can vary according to the programming interface of the target device (debugger firmware v1.16 or latest).
Info: The commands listed above are triggered by the content being sent to the mass storage emulated disk, and
no feedback is provided in the case of either success or failure.
SAM-IoT Wx v2
Hardware User Guide
© 2022 Microchip Technology Inc.
and its subsidiaries
User Guide DS70005506A-page 11