We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I just update my version of C51 Keil in version 6.20. I tried to compile an old project and the OH51 file do a fatal error! So, my hex file was not created ! My OH51.exe version is 2.5 What's happended ? Does anyone have the same problem ?
Works fine for me! Please give more details of precisely what you're doing & what goes wrong. BTW: be sure that you've got C51 v6.20b - the original v6.20 had a bug in generating .SRC. (check via Help/About in uVision)
When I launch a "rebuild all targets", uVision finish by an error message about Oh51. With a little bit of investigation, I see look at the directory of my project and I see that the generate HEX file have 0 Ko !?!? Before doing my update, I didn't have problem to compile and generate my HEX File. My version of C51 is now 6.20c. Do you think I need an older version ?
"uVision finish by an error message about Oh51." Yes, but precisely what message!? We can't help you if you don't give full details! In the 'Build' output window, after all your source files have been translated, you should see:
linking... (any linker messages) creating hex file from "executable-name" (any User commands) "executable-name" - n Error(s), m Warning(s)
That's not a message whose appear in the 'build' output window. This is a little window whose appears in the center of the screen. In this box we can read: OH51 "This program will be stopped because it encounters an unsupported operation." (excuse me for my english, my original error has in french...)
I continue my investigation by making different test! 1- I try to re-install completely the Keil software, but I have already the problem. 2- With the example about "Hello world" gives by the Keil Software, I didn't have any problem to create an HEX file. So, it seems to me that the Absolute object file making by the BL51 linker/locator is corrupt with my program! 3- May be someone can try to create the HEX file if I give him my Absolute Object File and use OH51 as it writes in the "8051 utilities manual". If you can create my HEX file, it means that my OH51 file was corrupt. (I think not because I re-install the complete Keil Software)
I try to use OH51 in a command line window as it is write in the "8051 Utilities manual".
OH51 md
Can you run OH51 from a command prompt? Does it work? What PC, operating system, etc are you using?
This is a simple PC with operating system: WIN98 on a Celeron machine. I tried to run OH51 in a command line window but i had the same problem ! OH51 stop and let a file with 0 Ko ?!?!?
You pre-empted my last reply! Are you sure you're using the right converter? In my Keil\C51\Bin folder, I have: OC51.exe - "Banked Object File Converter" v3.01 OH51.exe - "Object to Hex Converter" v2.5 OHX51.exe - "Extended 8051/251 Object to Hex Converter" v1.21j It's working on Win98SE
My versions are: uVision: 2.20a C51: 6.20c A51: 6.20 BL51: 4.20 LIB51: 4.20 OH51: 2.5 S8051.DLL: 2.20a DP51.DLL: 2.14 I don't use 251's family (me too on WIN98 SE)
I made more investigation: The latest Keil software version who seems to work correctly is for me the version v6.12 I tried to compile my project under all the version 6.12, 6.14 and 6.20. Just the 6.12 version accept it! It seems to me that the bug come from another file than OH51.EXE. I think the problem comes from a file who is running before the execution of OH51. My program is in 8051 assembly language. So, like it is write in the A51 Assembler Manual on page 6:"Writing and Assembling Programs", I think this bug comes from A51 or BL51, the 2 files needed to create the Absolute Object File.
Well, top marks for your perseverance! It is quite possible that something changed after v6.12 which causes a problem in your Object file & crashes OH51.exe As I mentioned earlier, the first release of C51 v6.20 had a bug which caused my build to fail. These things happen! I've just had a look back through my archives, and I think it might've been around v6.12 when Keil did something to the Object file format to cope with long symbol names (>32 chars). Maybe you just happen to have hit a "flaw" in this change? Have you tried using the A51.exe from v6.21 in your later installations? If you have support, I think you should take this direct to Keil: support.intl@keil.com
I send an e-mail to keil support and explain my problem to them. I have a support of the Keil Software, so I wish to have an answer soon. Thanks for your help!
Let us know what they come up with!
Reinhard Keil send me a mail with a new version of OH51.exe attached to it (v 2.6), that correct the long NAME statement that I am using. So today, a new version of OH51 exist.