Keil Logo

LICENSE: Single-User and Floating License Comparison

Information in this knowledgebase article applies to:



Globally, there are two types of floating licenses and one type of single-user license offered within the MDK-ARM toolchain. The single-user license type is a node-locked license. One floating license is based on a floating license file (FLF) where client machines automatically read and write to an encrypted file on a server. In a Flex floating license, a license server manager (lmgrd.exe) and a vendor daemon (armlmd.exe) run on the server communicating with clients and checking information against another type of license file. What are the differences between the three types?


Single-user licenses are the simplest to setup, but are restricted to individual machines, through a license ID code(LIC). The FLF-based product has a basic floating license feature set that is easy to learn. This product uses LICs for client machines. The Flex-based floating product has more advanced features, but requires more server resources and training.

A seat is taken whenever a floating license user compiles, links, debugs, or calls the fromelf utility. After any of these actions complete, the seat is returned to the license pool. The number of seats in a floating license product represents the maximum number of users who can perform these actions, at the same time. Note that a license seat is not taken when users add or modify code, in editor mode.

The below table describes different features and use-cases for the three license types:

Feature Single FLF Flex
Available Versions MDK 2.50+ MDK 2.50+ MDK 4.60+
Client Setup Time(*1) Small Medium Small
Server Setup Time N/A(*2) Small Medium
Extra Machine Yes(*3) N/A N/A
Minimum Number of Seats for Purchase N/A 2 (Refer to *4) 1
Debugging a License Issue(*5) Simple Simple Complex
Change Path of License File Not Advised Rehost Yes
Multiple Licenses on a Machine Reuse LIC(*6)  Not Advised Yes
Multiple Accounts License Same Machine(*7) Yes No Yes
License Transfer Yes Not Required  Not Required 
Relicensing Effort during a Renewal(*8) Small Large Small
Rehost(*9) N/A Yes Yes
Check Out/Check In N/A Yes Yes
Ability to Disable Check Out N/A No Yes(*10)
Current Licensed Users dialog N/A Yes Yes
Separate Seats onto Different Servers(*11) N/A No Yes
Merge License Files on Same Server(*12) N/A No Yes
Build Time in Complex Networks(*13) N/A Small Increase Large Increase
3-Server Redundancy (in Case of Server Failure)  N/A No Yes
Global Use of License Server(*14) N/A No Yes, optional


  1. With FLF-based and single-user licenses, machines receive a unique license ID code via email. The setup for Flex license clients is quick and essentially the same for all clients. For a step by step guide of how to setup a license, refer to our License Management webpage.
  2. "N/A" stands for "Not Applicable".
  3. Each single-user product allows one person the ability to install and use the tools on up to two machines.
  4. Ask local sales representative.
  5. An FLF or single-user product will give clear error code(s), either while submitting a form online, in File => License Management dialog, or during a build. While these error codes are proprietary, users can contact support who have much experience in these types of issues. Support staff may request the FLF to gather more information about an issue. Flex licenses involve programs running on a server, and can depend more on a network's configuration. The advantage of more features brings increased complexity and a few security hurdles. Here are two webpages to help resolve the most common Flex setup issues: If an issue persists, contact support. Include the error message and mention documentation used in earlier troubleshooting.
  6. To use two concurrent installations on the same machine with a single-user license, refer to µVision: Using Two Different Versions Of a Tool Chain. This is useful for maintenance projects.
  7. This is one reason why Flex licenses are offered through ARM's University Program. Colleges hold multiple classes for many different students using the same group of machines, so a Flex floating license is ideal.
  8. For a single-user license, updating or transferring a license after a renewal is a simple two-step process: For both floating types, user regenerates license file during a renewal. If it is the same Flex product, the same PSN will be issued. The client PCs do not require re-licensing when the server's IP/name and port remain the same. However, with an FLF-based product, the admin receives a new PSN, and each client PC must be re-licensed individually.
  9. Rehosting an FLF license is free, but requires a new product serial number. Contact our sales team. With MDK, rehosting a Flex license is free; contact technical support. Licensing cases are addressed, regardless of support status, but users with current support are given priority. For a rehost, user performs same procedure as a renewal. Refer to (*8).
  10. Refer to the following knowledgebase article, LICENSE: Preventing Manual Checkout of a FlexNet License, to learn more. Once configured, licenses can only be used when a client is connected to the server.
  11. Only time-limited Flex licenses allow you to split up seats across multiple servers. This allows for faster communication to a select group of computers and is one way to control the number of licenses available to specific groups. Perpetual Flex licenses do not allow splitting seats across multiple servers.
  12. Refer to LICENSE: Merge FlexNet License Files.
  13. Worst case scenario involves a high traffic, high latency network with many other server processes running and many requests for licenses. Setup could also include unique characteristics, like virtualization or a wide area network; last two characteristics are not officially supported. In such extreme situations, users have reported, FLF build times are shorter than Flex build times. You may request trial licenses from our sales team to test out network performance, required number of seats, build times, etc. The compiler guide contains a section on how to improve build times, in general. Sections 2.18.1 and 2.18.6 include improvements specific to a floating license.
  14. The end user license agreement allows employees, but not contractors, to use licenses off-site on portable computers. Global travel is allowed by both floating license types, through the "Check-Out" feature. However, when a client requests a license directly from the server, FLF-based floating licenses check timing information, and different timezones prevent all clients from operating successfully. Flex floating licenses can use a global server. Ask our sales team about this option. WANs are not officially supported, and in general, users should expect longer build times, when compared to a local server.

Other toolchains designed by ARM-Keil (C51, C166, and C251) only offer single-user or FLF-based floating licenses. Flex floating licenses are only available in the MDK-ARM toolchain.


Last Reviewed: Tuesday, December 17, 2019

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.