Most Indian engineering organisations have a long tail. The new product is a Cortex-M7 motor controller built with Keil MDK v6 on UBL, clean, modern, CI-integrated. But the team also still maintains an 8051-based industrial sensor that ships with hand-tuned PK51 code, or a C166 backup-power module from 2012 that runs on Keil DK251, or a long-lived ARM7 radio built with AC5 ten years ago. Those legacy compilers cannot run on UBL natively, they predate the UBL infrastructure entirely.
There is a backwards-compatibility path, and it is the most-asked support question GSAS gets from Indian teams in Bengaluru, Hyderabad, Pune, Chennai, Mumbai, and Delhi NCR running mixed legacy-and-modern toolchains. We are Arm’s authorized partner in India for Arm Development Tools, and this is the framing we share before the screen-share that gets the first legacy host fully licensed.
armlm genLIC: the recipe in one paragraph
If you hold an active MDK v6 Pro UBL entitlement, the armlm genLIC utility can emit a legacy node-locked licence file scoped to a specific machine. The legacy toolchain (MDK v5 / PK51 / DK251 / PK166) accepts that licence file the same way it always did, host ID match, expiry check, feature-bits check, and continues to operate. The recipe is published by Arm in the UBL administration documentation on developer.arm.com.
Three properties matter for procurement planning:
- The UBL Pro entitlement is the umbrella. As long as that subscription is current, you can keep regenerating legacy licence files for in-service hosts.
- Each legacy file is per-machine. Failed disk, retired workstation, new VM → you regenerate. There is no separate count of legacy seats; the seat count is your UBL Pro seat count.
- Pro tier is required. Not Community, not Essential. If your organisation is on Essential today and has a real legacy maintenance burden, the Essential → Pro upgrade economics usually justify it the first time you would otherwise have bought a separate legacy seat.

What’s in scope
The legacy Keil products that armlm genLIC covers from an MDK v6 Pro UBL umbrella are MDK v5, PK51, DK251, and PK166: and the underlying compilers each bundles (AC5 ships with MDK v5; it is not a separate genLIC product). In practical terms for Indian teams:
- MDK v5: predecessor to MDK v6. Anything built in MDK v5 (which bundles AC5) stays on MDK v5.
- PK51: the 8051 / 8052 / 80251 / 8x251 toolchain. Indian teams maintaining 8051 industrial sensors, RFID stacks, sub-GHz radio devices, and legacy automotive body controllers.
- DK251: the 80251 development kit. Less common in India today but still present in some long-running industrial programs.
- PK166: the C16x / XC16x / ST10 toolchain. C166 still appears in Indian backup-power, motor-control, and meter products from the late-2000s era.
If your legacy product depends on a compiler older than the products above, original ARMCC, SDT 2.x, ADS, very early RVCT releases, armlm genLIC doesn’t help; you are on a museum toolchain that requires its own conservation strategy. Those cases are rare; talk to GSAS if you have one.
What armlm genLIC does NOT cover: older FuSa branches
The older FuSa-branch compilers, AC5.04, AC5.06, AC6.6: are not in the armlm genLIC scope. They are separate Arm products with their own legacy archive entitlements, and an MDK v6 Pro UBL umbrella does not generate their licence files. Teams still certifying firmware against AC6.6 today should plan the migration to AC6.22 LTS as the next FuSa cycle, see Planning the AC6.16 LTS → AC6.22 LTS Migration for Indian FuSa Programs.
For teams maintaining the broader legacy catalogue (including AC5.x / AC6.6) at meaningful scale, FlexNet Publisher Floating licensing remains a supported path per Arm’s published install guides. The choice between armlm genLIC (one Pro UBL pool covers everything in scope) and a parallel FlexNet Publisher Floating server (separate licensing infrastructure, broader legacy coverage) is the procurement decision GSAS helps Indian teams make.
How GSAS runs the first legacy host
The exact command flags, host-ID format per toolchain, and licence-file paths are in Arm’s UBL administration documentation. In practice, the first legacy host is rarely a self-serve exercise, there are toolchain-specific quirks in how each legacy tool reads its host ID and where it expects the licence file. Once a team has done it once with us, it becomes a routine documented in their operations runbook.
What we do during the engagement:
- Inventory call. Which legacy hosts, which products, which compiler tier?
- First-host screen-share. We walk through
armlm genLICend-to-end on one legacy machine, typically the lowest-risk legacy product to pilot. Confirm bit-identical build output before declaring it done. - Runbook hand-off. Host IDs, licence-file paths, regeneration command, documented so the next maintainer treats it as a ten-minute procedure, not a one-day archaeology project.
- Tier-upgrade economics. If the team is on Essential today, we model the Pro upgrade against the avoided cost of separate legacy seats.
What to do this quarter
If you maintain legacy Keil-toolchain projects in India and are also running modern MDK v6:
- Inventory legacy hosts, machines, products, compiler tier.
- Confirm your UBL tier (Pro is required for
armlm genLIC). - Talk to GSAS, we do the first legacy-host screen-share with you and produce the runbook your team uses from then on.
This is the third in a short series on the Arm UBL transition for Indian engineering teams. See also: FlexNet Node-Locked Is Ending, How Indian Arm Keil MDK Teams Should Migrate to UBL in 2026 and How Many Arm UBL Seats Do You Actually Need?.
GSAS Micro Systems is Arm’s authorized partner in India for Arm Development Tools, across Bengaluru, Hyderabad, Chennai, Pune, Mumbai, Delhi NCR, and Visakhapatnam.
Interested in Arm tools?
Talk to our application engineers for personalized tool recommendations.
More from Arm
View all →