100%
fdcanusb can view
Description

Imported from GitHub: mjbots/fdcanusb · commit f18c1d6 · license Apache-2.0

Description

fdcanusb adapter

README

Lightweight USB Device Stack

  • Lightweight and fast
  • Event-driven process workflow
  • Completely separated USB hardware driver and usb core
  • Easy to use.

Requirements

Supported hardware

  1. Single physical endpoint can be used to implement
  • one bi-directional/single-buffer logical endpoint (CONTROL)
  • one uni-directional/double-buffer logical endpoint (BULK OR ISOCHRONOUS)
  • two uni-directional/single-buffer logical endpoints (BULK OR INTERRUPT)
  1. At this moment BULK IN endpoint can use both buffers, but it is not real doublebuffered.

  2. Tested with STM32L052K8, STM32L100RC, STM32L476RG, STM32F072C8, STM32F103C8, STM32F103CB, STM32F303CC, STM32F303RE, STM32F429ZI, STM32F105RBT6, STM32F107VCT6, STM32L433CCT6, STM32F070CBT6

Implemented definitions for classes

  1. USB HID based on Device Class Definition for Human Interface Devices (HID) Version 1.11
  2. USB DFU based on USB Device Firmware Upgrade Specification, Revision 1.1
  3. USB CDC based on Class definitions for Communication Devices 1.2

Using makefile

  • to build library module
make module MODULE=path/module.a DEFINES="mcu spcified defines" CFLAGS="cpu cpecified compiler flags"
  • to build demo
make bluepill program
make stm32l052x8
  • to get a help
make help

Default values:

VariableDefault ValueMeans
CMSIS../../CMSISpath to CMSIS root folder
CMSISDEV$(CMSIS)/Devicepath to CMSIS device folder
CMSISCORE$(CMSIS)/CMSIS/Include $(CMSIS)/CMSIS/Core/Includepath to CMSIS core headers
MCUstm32l100xcMCU selection for demo project
CFLAGS-mcpu=cortex-m3 -mfloat-abi=softMCU specified compiler flags
DEFINESSTM32L1 STM32L100xCMCU specified defines
STPROG_CLI~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLIPath to the ST Cube Programmer CLI
OPTFLAFS-OsCode optimization flags

Useful Resources

  1. USB Implementers Forum official site
  2. USB Made Simple
  3. LUFA - the Lightweight USB Framework for AVRs.
  4. Open Source ARM cortex m microcontroller library
Comments
Sign in to comment

No comments yet. Be the first to ask about this board.