Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Silicon Vendors
  • Support
  • About Us
  • Blog
  • Forum
  • Search
  • Jobs
  • Newsletter
  • Blog
  • Contact
  • Shop
  • emUSB-Device
  • Bulk Component

    Bulk component

    Contact us
    Downloads
    Documentation
    SEGGER emUSB-Device
    1. 1.Components
    2. 2.Example Application
    3. 3.The Kernel Mode Driver (PC)
    4. 4.Supported Platforms
    5. 5.Bulk Component Structure
    6. 6.Sample Applications emUSB-Device Bulk Component

    Overview

    The emUSB-Device Bulk component allows developers to quickly and painlessly develop software for an embedded device that communicates with a PC via USB.

    It offers easy and fast communication without any protocol overhead, allows quick implementation of custom protocols and requires minimal resources to run (memory and endpoints).

    jlink bulk

    Key features

    • User defined class
    • Highest performance
    • Multi-platform support: Linux, Windows and macOS
    • C, C++ and C# API available
    • Small footprint

    Components

    Components required to use the BULK class:

    • emUSB BULK component
    • emUSB-Device core
    • emUSB target driver

    Resource usage of all components of emUSB-Device

    Example Application

    Example applications for both the target (client) and the PC (host) are supplied. These can be used for testing the correct installation and proper function of the device running emUSB-Device and as a starting point for easy developing an own application.

    The Kernel Mode Driver (PC)

    In order to communicate with a target (client) running emUSB-Device, a bulk kernel mode driver has to be installed on Windows PCs. emUSB-Device can use the generic USB driver WinUSB.sys which is provided by Windows. This driver is installed automatically when the device is connected to the Windows PC the first time. On Linux and macOS no additional driver is necessary, because the kernels already contain generic USB drivers.

    Supported Platforms

    The BULK API works on all Windows platforms starting with XP Service Pack 2. The API is tested for Linux using kernels 4.x and later and for macOS.

    Bulk Component Structure

    The emUSB-Device Bulk component stack consists of an embedded side, which is shipped in source code form, and an API for the host. SEGGER provides an easy-to-understand and easy-to-use API which allows an application to communicate with the device. The BULK API can be used on Windows, Linux and macOS systems. It is delivered in source code for Linux distributions and macOS.

    emUSB Device bulk structure

    Sample Applications emUSB-Device Bulk Component

    J-Link PLUS

    SEGGER Debug Probe J-Link

    thermostat

    Temperature Logger

    copy protectio dongle

    Software Protection Dongle

    • User manual
    • List of downloads
    • Update notification
    • Pricing
    • Support
    • Silicon vendor resources

    Headquarters

    SEGGER Microcontroller GmbH

    Ecolab-Allee 5
    40789 Monheim am Rhein, Germany
    info@segger.com
    Tel.: +49-2173-99312-0
    Fax: +49-2173-99312-28

    Locations

    USA: SEGGER Microcontroller Systems LLC

    Boston area
    101 Suffolk Lane
    Gardner, MA 01440, USA
    us-east@segger.com
    Tel.: +1-978-874-0299
    Fax: +1-978-874-0599

    Silicon Valley
    Milpitas, CA 95035, USA
    us-west@segger.com
    Tel.: +1-408-767-4068

    China: SEGGER Microcontroller China Co., Ltd.

    Room 218, Block A, Dahongqiaoguoji
    No. 133 Xiulian Road
    Minhang District, Shanghai 201199, China
    china@segger.com
    Tel.: +86-133-619-907-60

    ISO 9001 certified

    ISO 9001

    30+ years of experience

    First-class embedded software tools since 1992
    • Imprint
    • Disclaimer
    • Code of Conduct
    • Privacy Policy
    © 2025 SEGGER - All rights reserved.