This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Difference between C166.EXE version 3.12 and latest

We have been using the Keil compiler for about 7 years now. We do not use the uVision IDE (even though we paid for it), instead we use the MSDOS executables C166.exe, A166.exe, etc... We have always used version 3.12 of C166.EXE which is dated 4/27/1998.

The compiler executables are tied to multiple different projects and stored in the bin directory with the project. For example: C:\Boat Controller\BIN
Thus on one computer, there may be multiple copies of C166.EXE, each stored with the appropriate project. It is a trivial process to install the source code and build it on a computer that did not previously have the project on it.

This has worked very well for us over the years. Recently we implemented PEC functionality on a controller with the C167CR processor. There is a known errata with the processor regarding the PEC. A workaround solution was applied in software but it inflicts a performance penalty (and is ugly to boot). Keil's newer compiler has a fix for this problem. We would like to have the fix for this processor because it would lift the performance penalty of our fix.

After all that blather I will now try to get to the point. I spoke with a keil tech support person today who told me that the newest versions of the Keil compiler can only be installed to a single directory. He told me if I made copies of that executable in other directories, I would only get a limited version of the compiler. This would not fit in very well with our current practice. As he didn't even know what PIF files were, I didn't have a great deal of confidence in his assertion. Can anybody tell me definitively if I can move the C166 executables into any directory I want after installation?

  • I think you should speak with sales at Keil. Normally your license is for a SINGLE user on max of two computers. I think that you can have multiple copies of the .exe on the same computer but not installed on mulitple computers. Why not ask sales about a floating license and be legal. Yes the new PK166 does have some type of license manager that can best be described by Keil sales people.

    Bradford

  • I think that you can have multiple copies of the .exe on the same computer

    That directly contradicts what Keil's technical support guy told me. Have you verified that?

  • "That directly contradicts what Keil's technical support guy told me. Have you verified that?"

    I think he means this from a legal rather than a functional standpoint.

  • No. My understanding from the Keil support guy was that the C166.EXE would only work as expected if it was invoked from the directory it was installed. He never said is was illegal to copy it to another directory, he just said it wouldn't work (for the newer compilers).

  • My understanding from the Keil support guy was that the C166.EXE would only work as expected if it was invoked from the directory it was installed.

    I do not know about the 166, but the C51 works just fine when invoked as c:\tools\keil\c51 .......

    Erik

  • Brad;
    I have verified that you can have multiple copies in different directories. You must have the PK166 INSTALLED and licensed on the computer. This means the proper license exists in tools.ini so the license manager can find the lic number.
    Copy the executables and tools.ini to the archived folder. You can run from either the archive or your normal project file.
    This was just a quick check so I still suggest that you contact Keil sales or support with additional questions.
    Bradford

  • "No. My understanding from the Keil support guy was that the C166.EXE would only work as expected if it was invoked from the directory it was installed. He never said is was illegal to copy it to another directory, he just said it wouldn't work (for the newer compilers)."

    Sorry, I was referring to what the other poster said rather than what the Keil guy said. I thought I was clearing up some confusion not creating more!

  • Keil technical support gave me the following answer:

    1. Install the PK166 on the target PC, and license it (Get LIC from Internet).

    2. Copy the executables from the C166\BIN folder on that PC to wherever his project is, but it MUST be on the same PC as the tools were installed.

    3. Copy the TOOLS.INI file to the folder where his project is, but it MUST be on the same PC as the tools were installed.

    The trick is copying the tools.ini file, so that the compiler knows you are not running an evaluation. You also must install the tools on the machine so that you can get a license.