Keil Logo

MDK MIDDLEWARE: USB: After update, cannot find file "cmsis_compiler.h"

Information in this knowledgebase article applies to:

  • MDK-ARMv5
  • armcc
  • USB V6.11.0


Project was recently updated to USB Component v6.11.0 contained in Keil Middleware pack v7.4.1. Now, the project builds with the following errors:

//For ARM::CMSIS Core v4.5.0
C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.4.1\USB\Include\usb_compiler.h(12): error:  #5: cannot open source input file "cmsis_compiler.h": No such file or directory
  #include "cmsis_compiler.h"

//For ARM::CMSIS Core v5.0.0
C:\Keil_v524dev\ARM\PACK\Keil\MDK-Middleware\7.4.1\USB\Include\usb_compiler.h(27): error:  #20: identifier "__PACKED_STRUCT" is undefined
      __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };


USB Component v6.11.0 requires ARM::CMSIS pack v5.0.1 or later. This release of the USB Component takes advantage of improved compiler agnostic controls. The Managing Run-Time Environment dialog also reports this dependency.


Download the new ARM::CMSIS pack, using the Pack Installer, then check that the newer version is selected in the Select Software Packs dialog.


Last Reviewed: Wednesday, September 13, 2017

Did this article provide the answer you needed?
Not Sure
  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.