1. When I update my version of C51 Keil in version 6.20c , I tried to compile an old project. The Ohx51(V1.21j) create a hex file with 0 bytes lenght. When I try with V1.21c (included in V6.14) the hex file was OK. What's wrong with this converter ? 2. When compile with directive VARBANKING(1) I see in LST file that ?C?XPAGE1SFR register is pushed on stack begore PSW register. On exit first is poped ?C?XPAGE1SFR and this I think is wrong! Thanx Franc C51 COMPILER V6.20c MAIN 10/24/2001 11:38:35 PAGE 1 C51 COMPILER V6.20c, COMPILATION OF MODULE MAIN OBJECT MODULE PLACED IN MAIN.OBJ COMPILER INVOKED BY: D:\KEIL620\C51\BIN\C51.EXE MAIN.C OMF251 VARBANKING(1) DEBUG CODE stmt level source 1 2 void TestInt (void) interrupt 1 using 2 3 { 4 1 unsigned char xdata a; 5 1 a += 2; 6 1 } 7 C51 COMPILER V6.20c MAIN 10/24/2001 11:38:35 PAGE 2 ASSEMBLY LISTING OF GENERATED OBJECT CODE ; FUNCTION TestInt (BEGIN) 0000 C0E0 PUSH ACC 0002 C083 PUSH DPH 0004 C082 PUSH DPL 0006 C000 E PUSH ?C?XPAGE1SFR 0008 750000 E MOV ?C?XPAGE1SFR,#?C?XPAGE1RST 000B C0D0 PUSH PSW ; SOURCE LINE # 2 ; SOURCE LINE # 5 000D 900000 R MOV DPTR,#a 0010 E0 MOVX A,@DPTR 0011 2402 ADD A,#02H 0013 F0 MOVX @DPTR,A ; SOURCE LINE # 6 0014 D000 E POP ?C?XPAGE1SFR 0016 D0D0 POP PSW 0018 D082 POP DPL 001A D083 POP DPH 001C D0E0 POP ACC 001E 32 RETI ; FUNCTION TestInt (END)
We cannot duplicate the problem that you describe under 1., but we have solved the problem 2 that you have documented. Please send an example project along with you address and serial number to email: support.intl@keil.com. We will then provide you with a work-arround.
Search back through this forum a couple of months - someone else recently had a problem with the object-to-hex conversion failing after upgrading to (I think) v6.20. I think Keil did something to the Object file format (to do with long symbol names?), and that was at the root of the problem?
Yes Andrew, I got a problem with the object-to-hex conversion. Keil send me a new OH51.EXE file (v2.6). My problem was due to long name statement in my project. Now, this new version correct this problem. Send an E-Mail to Keil support and describe your problem. They will you answer quickly !