Keil Logo

µVISION: Error: Device Not Found


Information in this knowledgebase article applies to:

  • Keil MDK version 5
  • STM32F0, STM32L0, STM32L4

SYMPTOM

When opening an MDKv5 project, I receive the following error:

Error: Device not found -

Device: 'STM32L053R8'
Vendor: 'STMicroelectronics'

Please update your device selection.

You may note in the Options for Target, Device tab, the only available selections are:

STM32L053R8Tx
STM32L053R8Hx

CAUSE

In general, first, investigate the following:

  • Check if the Pack Installer has any pending downloads.
  • Check if the latest device family pack for the microcontroller is installed inside the current toolchain.
  • Check if the project is pointing to the latest device family pack. (It may be pointing to an earlier pack version that supports fewer devices.) The best way to view this is from the Select Software Packs dialog. The dialog's icon is next to the Pack Installer icon.
  • Check if the project name ends in *.uvproj or *.uvprojx. These are MDKv4 and MDKv5 style projects, respectively. If you are using MDKv5, with a *.uvproj project file, and the device is not available from a software pack, you are required to install legacy support. Follow the steps in the second bullet point in GENERAL: Where can I find example projects in MDK?.

Another potential cause is that a project generator tool may not provide the toolchain with enough information about the name of the device. This is normally caught by µVision, where the supplied device name is compared as a base string against the devices defined in the pack. µVision chooses the first selectable device that includes the string.

A pack can define a selectable device in two different ways. A selectable device can be thought of as a leaf on a branch, where the most specific definition becomes selectable. Leaves can be either:

  • the Dvariant field of a 'variant' tag, or
  • the Dname field of a 'device' tag.

If a 'device' tag contains any 'variant' tags, then the only selectable devices are from the Dvariant field, not Dname.

RESOLUTION

After verifying pack availability, and selection, in general, go to Project => Options for Target => Device tab, and (re)select the device.

Note: If you think the error was caused by a discrepancy between a generator tool
and a pack, MDKv5.24a had a regression which hampered the automated resolution of such a conflict.
Users of MDKv5.24a and export tools can still use the method above.
To avoid this type of issue, upgrade to MDKv5.25 or later.

Note: If you face this issue, with a generated project,
be sure you are using the latest version of the software that generates the project.
Also, be sure you are exporting to the correct version of MDK-ARM (MDK-ARMv4, MDK-ARMv5, etc.).

If you see an export tool generating device names different from the selectable devices in the device family pack, notify the groups who support the tool and the authors of the pack. They can coordinate to resolve the issue.

MORE INFORMATION

SEE ALSO

Last Reviewed: Tuesday, December 22, 2020


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