S300 Adapter - DAPter v1.2
The S300 Adapter - DAPter v1.2 is a DAPlink interface for Rhomb.io Master modules. Arm® Mbed™ DAPlink is an open-source software project that enables programming and debugging application software on running on Arm Cortex CPUs. Commonly referred to as interface firmware, DAPLink runs on a secondary MCU that is attached to the SWD or JTAG port of the application MCU. This configuration is found on nearly all development boards. It creates a bridge between your development computer and the CPU debug access port.
Furthermore, thanks to the DAPter, a rhomb.io device can very easily become Arm® Pelion™ Device Ready.
Find out more about Arm® Mbed™ DAPlink on their webpage.
What makes the DAPter module stand out against other DAPlink applications, is that it can be used on any rhomb.io device, it doesn't matter if it is an early prototype or a product in mass production. Just click the Adapter module between the compatible Master module and the motherboard and as soon as it its turned on, it has all DAPlink capabilities.
- Master module flashing
- rhomb.io system debugging
- Cloud computing
- Cloud managing
The S300 Adapter - DAPter module brings all DAPlink's features to rhomb.io's system.
DAPLink interface firmware provides developers with:
drag-and-drop programming (MSC) a virtual serial port (CDC) CMSIS-DAP based debugging (HID) More features are planned and will show up gradually over time. The project is constantly under heavy development by Arm, its partners, numerous hardware vendors and the open-source community around the world. DAPLink has superseded the mbed CMSIS-DAP interface firmware project. You are free to use and contribute. Enjoy!
The driver-less HID interface provides a channel over which the CMSIS-DAP debug protocol runs. This enables all the leading industry standard toolchains to program and debug the target system. Supported tools include :
Keil MDK IAR Workbench pyOCD Other CMSIS-DAP capable debuggers
USB Disk drag and drop programming
DAPLink debug probes also appear on the host computer as a USB disk. Program files in binary (.bin) and hex (.hex) formats can be copied onto the USB disk which then programs them into the memory of the target system. This is accomplished by embedded the flash programming algorithm into the interface firmware. Therefore, for drag0n-drop programming to work its important that the version of the DAPLink firmware being used is specifically built for the target system.
USB Serial Port
The DAPLink debug probe also provides a USB serial port which can be bridged through to a TTL UART on the target system. The USB Serial port will appear on a Windows machine as a COM port, or on a Linux machine as a /dev/tty interface and on Mac OS as a /dev/usbmodem. While Linux and Mac OS dont require any drivers, Windows version older than Windows 10 will require a serial port driver.
This module eliminates the need for developers to start a development using a development/evaluation board and the having to migrate to a custom design and having to double-check everything again, they can develop directly on the final product.
USB port functionality switching
Furthermore, with the DAPter module, the user can choose which USB port is used for either UART debugging or standard USB port with Master module as host, by simply switching the position of the switch nº1 on the DIP switch. This way, functionalities of the USB ports switch to one another an viceversa.
Here's the Block Diagram of the S300 Adapter - DAPter v1.2 module :
It is important to mention that all signals not specified in the block diagram are connected directly from bottom connectors to top connectors, allowing their normal use on the device, just as if the DAPter module wasn't there at all.
There are twelve connectors used in this module: J1, J2, J3, J4, J5 and J6, which correspond to the master socket (top side); and J301, J302, J303, J304, J305 and J306, which correspond to the bottom side, where this adapter will plug onto a motherboard. All of them have fifty pins each.
For this module it is not going to be describe what signals are on which connector given that all signals (except a few ones) go directly from J301 to J1, J302 to J2, J303 to J3, J304 to J4, J305 to J5 and J306 to J6, given that this is an adapter module. The few signals that do not go directly to the other connector, will be explained in following sections.
The next figure identifies the main parts of the S300 Adapter - DAPter v1.1 module. Information for some of those parts can be found in the following sections.
The DAPLink part of the DAPter is composed by:
The NXP Semiconductors' LPC11U35 microcontroller, which is what will be interfacing between the developer and the target MCU, providing flashing and debugging capabilities.
There's an integrated reset button, which will allow the new firmware to be flashed on the master module (after everything has correctly been set up) by being pushed.
Three L.E.D. will be lightning up to indicate the status of the device, one will signal if there's power on the board (PWR), and two will indicate the kind of interaction ongoing, one for debuggin communication (COM) and one for flashing purposes (DAP).
The adapter also includes a 10-pin cortex connector which will allow the firmware on the DAPLink itself to be updated if necessary.
Mbed allows to download a firmware file to be flashed on the target MCU by simply drag-and-dropping the files into the folder recognized by the PC once the target board is connected via USB.
That, initially, would mean the lost of availability of the microUSB connector that comes with all rhomb.io motherboards. However, in order to avoid that loss, a double USB-switch system has been implemented on this adapter module along with a 4-pin male USB header. This double USB-switch system allows the developer to choose which USB will be accessed by either connecting to the microUSB connector on the motherboard or the 4-pin male USB header on the adapter module, simply by fitting a jumper on the 2-pin USB Select header.
By default, if no jumper is fitted on H2, the microUSB connector on the motherboard will give access to the DAPLink interface and the H3 (4-pin male USB header) will give access to the Master module's USB interface. If a jumper is fitted on H2, the situation will be inverted.
The user could manually bypass the protection diode D2 (see schematics) by closing solder-jumper SJ9 (USB port supply jumper) in order to be able to supply the DAPter through the USB header, however, by doing this, they accept the risk that this involves for the electronics.
Specific use cases
On this Adapter module, a couple solder jumpers and a header jumper have been placed in order to be used in some specific cases due to particular Master modules.
Some Master modules (due to the main IC's characteristics) have their SWD port routed through the same pins as IO0 and IO1. This means that to be able to use de DAPter module on them, SJ3 and SJ4 (SWD/IO pins selection jumpers) must be closed.
Also, it is possible to connect the PIO0_7/CTS (which connects to UART-A_RTS through SJ7) to the #NMI port for the same reasons.
There's a DIP switch at the bottom-right corner on the top side of the DAPter. These small switches allow the user to set different configurations of the device.
Switch 1 allows to swap the functionalities of the USB connector on a carrier board and the 4-pin header on the DAPter.
When switch is in position 0, then DAPLink interface will be accessible through the on-board microUSB connector and Master module USB interface will be accessible through the H3 4-pin header on Adapter module.
When switch is in position 1, Master module USB interface will be accessible through the on-board microUSB connector and DAPLink interface will be accessible through the H3 4-pin header on Adapter module.
The above is summarized in the following table:
|Switch position ||USB interfaces to connectors distribution|
|1||USB_SW_S||0||DAPLink interface -> microUSB connector; Master USB interface -> H3|
|1||DAPLink interface -> H3; Master USB interface -> microUSB connector|
Switch 2 selects the state of the two switch ICs of the UART interfaces (inverted), and switch 3 selects which position of those switches becomes available.
By using switches 2 and 3, the active UART interface between the Master module and the DAPLink interface can be selected according to the following table:
|Switch position [2:3]||Active UART interface|
Switch 4 allows the user to choose what is connected to the 10-pin cortex connector, either the DAP interface MCU (e.g.: for firmware updating) or the Master modules (e.g.: external debugging).
|Switch position ||Selected target for 10-pin cortex connector|
These signals, along with the USB interface, are the only ones that do not go straight from the corresponding connector on the bottom side to the one on the top side.
rhomb.io connector signals
All but the aforementioned signals are connected straight from the motherboard to the Master module socket, and follow the rhomb.io S300 Master standard.
Bill of materials
Click the image below to download the fabrication files.
- Precaution against Electrostatic Discharge. When handling Rhomb.io products, ensure that the environment is protected against static electricity. Follow the next recommendations:
- The users should wear anti-static clothing and use earth band when manipulating the device.
- All objects that come in direct contact with devices should be made of materials that do not produce static electricity that would cause damage.
- Equipment and work table must be earthed.
- Ionizer is recommended to remove electron charge.
- Contamination. Be sure to use semiconductor products in the environment that may not be exposed to dust or dirt adhesion.
- Temperature/Humidity. Semiconductor devices are sensitive to environment temperature and humidity. High temperature or humidity may deteriorate semiconductor devices characteristics. Therefore avoid storage or usage in such conditions.
- Mechanical Shock. Care should be exercised not to apply excessive mechanical shock or force on the connectors and semiconductors devices.
- Chemical. Do not expose semiconductor device to chemical because reaction to chemical may cause deterioration of device characteristics.
- Light Protection. In case of non-EMC (Epoxy Molding Compound) package, do not expose semiconductor IC to strong light. It may cause devices malfunction. Some special products which utilize the light or have security function are excepted from this specification.
- Radioactive, Cosmic and X-ray. Semiconductor devices can be influenced by radioactive, cosmic ray or X-ray. Radioactive, cosmic and X-ray may cause soft error during device operation. Therefore semiconductor devices must be shielded under environment that may be exposed to radioactive, cosmic ray or X-ray.
- EMS (Electromagnetic Susceptibility). Note that semiconductor devices characteristics may be affected by strong electromagnetic waves or magnetic field during operation.
Rhomb.io reserves the right to make corrections, enhancements, improvements and other changes to its products and services, and to discontinue any product or service. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All the hardware products are sold subject to the Rhomb.io terms and conditions of sale supplied at the time of order acknowledgment.
All brand names, trademarks and registered trademarks belong to their respective owners.
We are constantly striving to improve the quality of our technical notes. If you find an error or omission please let us know.
Email us at: email@example.com
Arm® Mbed™ Website. DAPLink - Handbook | Mbed
More information on Arm® Pelion™ IoT Platform:
- Arm® Pelion™ product overview
- Arm® Pelion™ Device management
- How to connect your Mbed™ OS IoT device to Pelion™ Device Management.
Where to buy
You can purchase this item at the Rhomb website store.
Please, click the icon below.