Keil Logo

CAN Driver

CAN Driver Overview

MDK-Professional includes a generic CAN interface layer which provides a standard programming API for all supported microcontrollers. It provides a quick and easy way to implement a CAN network, and provides code portability, should you need to migrate your code to another microcontroller.


RTX Functions
The CAN interface runs interrupt service routines using RTX Kernel functions for Mailbox Management and Memory Allocation. It uses one Memory Pool for all CAN messages and two mailbox arrays.

Generic Software Layer
The generic software layer allows users to apply the same interface across different targets and to easily switch from one target to another without changing the main application code. The CAN interface API supports:

  • Initialize/Start CAN Communication
  • Define CAN message objects for RX/TX
  • Send, request, and receive CAN messages

Hardware Dependent Layer
The CAN hardware layer enables the generic software interface to function on many different targets, with each target having its own hardware layer implementation. The Hardware Layer supports the following devices:

  • Atmel SAM7 & SAM9
  • NXP LPC17xx, LPC21xx, LPC23xx, LPC24xx, & LPC29xx
  • STMicroelectronics STR7, STR9, & STM32
  • Texas Instruments Stellaris family

Further Information

Keil CAN Primer CAN Primer
This paper clearly expains the details of using CAN and helps you to implement a successful CAN-enabled system.

Notes Note

  • CAN Driver is provided as source code in MDK-Professional. It is not included with other MDK-ARM Editions.
  • The CAN Driver must be used with the RTX Real-Time Operating System.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.