ARM Technical Support Knowledge Articles

Dual Processor PCs and uVision

Applies to: uVision IDE

Answer


Information in this knowledgebase article applies to:


SYMPTOM

When running uVision on a PC equipped with multiple processors, the CID displayed in File — License Management changes when uVision is closed, then immediately opened again. Attempts to build a project results in the following license error:

R201: INVALID LICENSE ID CODE (LIC)

CAUSE

On PCs with multiple processors, WindowsXP, Windows Vista and Windows 7 (32- and 64-bit) try to automatically assign an application to any available processor. uVision is designed to license and run on the same processor. When the licensed processor differs from the running processor, license verification flags this as an illegal condition, and displays the R201 error.

Important Note:

RESOLUTION

Windows Vista and Windows 7

For Windows Vista and Windows 7, create a shortcut with the following in the command line:

C:\Windows\System32\cmd.exe /C START "Uv4" /AFFINITY 1 "C:\Keil\UV4\Uv4.exe"

The /AFFINITY value of 1 in the START command forces uVision to run in the first core of the first processor. The /AFFINITY value is a hex number with each bit corresponding to a core. For a PC with 2 quad-core processors, an /AFFINITY value of F, selects the all 4 cores in the first processor.  Likewise, an /AFFINITY value of F0, selects all 4 cores in the second processor.

For the best results with uVision, select all the cores of 1 processor, and no cores in the other processor.  For example, for a PC with 2 dual-core processors, use an /AFFINITY value of 3 to use both cores of the first processor,  or C to use both cores of the second processor.  But remember, a value of F for this example, will result in the R201 error.

Windows XP

Windows XP's version of the START command, does not support the /AFFINITY option. For Windows XP, download the psexec.exe utility from Microsoft SysInternals, and install it in your PC's path. Then, create a shortcut with the following in the command line:

psexec.exe -a 1 cmd /c "C:\Keil\UV4\Uv4.exe"

The number after the "-a" designates the processor that will run uVision.

ATTACHED FILES

Request the files attached to this knowledgebase article.

Article last edited on: 2012-02-10 07:14:26

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential