Files
OpenSK/boards/nordic/nrf52840_dongle_opensk
Liam Murphy 2b541d853b Create a 2nd USB interface for the Vendor HID (#472)
* Add USB interface for Vendor HID.

This new interface is enumerated by the host, but the device transmits
all packets on the existing interface, so the device won't function
correct in this mode until this this fixed.

The changes are in tock, and so appear as a patch here. These are:
* supporting multiple HIDs in the USB configuration
* adding the HID descriptors for the new inteface
* supporting the vendor_hid feature in relevant Cargo.toml files.
NOTE: only boards/nordic/nrf52840dk_opensk has been updated.

As the changes are in tockos, deploy script needed to pass vendor_hid
feature to tockos build stage.

Demo of output:
lsusb -v -d 1915:521f | grep "NumInterfaces"
    bNumInterfaces          2

* fix some whitespace from review

* Add vendor_hid feature in all boards in this repo, not via a patch in tock.

The boards directories are copied to tockos as part of
setup-submodules.sh

* Remove nesting from HID config in create_descriptor_buffers()

* update comments about HID descriptor use.
2022-05-03 10:35:35 +02:00
..
2021-06-28 14:55:20 +02:00
2021-06-28 14:55:20 +02:00
2021-06-28 14:55:20 +02:00
2021-06-28 14:55:20 +02:00
2021-06-28 14:55:20 +02:00

Platform-Specific Instructions: nRF52840-Dongle

This is an adapted nrf52840_dongle made to work with OpenSK.

The nRF52840 Dongle is a platform based around the nRF52840, an SoC with an ARM Cortex-M4 and a BLE radio. The kit is uses a USB key form factor and includes 1 button, 1 red LED and 1 RGB LED.

Getting Started

To program the nRF52840 Dongle with Tock, you will need a JLink JTAG device and the appropriate cables. An example setup is:

Then, follow the Tock Getting Started guide

JTAG is the preferred method to program. The development kit has the JTAG pins exposed either through the half-moons pads or, below the PCB, on a Tag-Connect TC2050 connector footprint. You need to install JTAG software.

Programming the kernel

Once you have all software installed, you should be able to simply run make flash in this directory to install a fresh kernel.

Programming user-level applications

You can program an application via JTAG using tockloader:

$ cd libtock-c/examples/<app>
$ make
$ tockloader install --jlink --board nrf52dk

Debugging

See the nrf52dk README for information about debugging the nRF52840 Dongle.