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

LX51: Code linked starting at 800000H

Hello,

I am trying to migrate from A51 / C51 / BL51 / OC51 / OH51 toolchain to AX51 V3.07d / CX51 V9.51 / LX51 V4.64.0.0 / OHX51 V1.43.0.0 for Silabs C8051F132.

I have two problems:

1) According to .map file, code is linked starting at 0x800000, like for a NXP/Philips 80C51MX, instead of desired 0x0000. Anyway the .abs file is loaded and run correctly using Silabs IDE and JTAG debugger.

2) OHX51 gives no error but makes a nearly empty HEX file with just this single line:


:00000001FF

I have tried using options H386, RANGE(0x0000-0xFFFF), OFFSET(0), OFFSET(-0x800000) with no success.

Here is the output of LX51 and OHX51 with their calling options:


C:\Keil\C51\BIN\LX51 @.\dhxcl\obj\dhxlink.cmd

LX51 LINKER/LOCATER V4.64.0.0 - SN: K1RIC-V02DHZ
COPYRIGHT ARM Germany GmbH 1995 - 2013
@.\dhxcl\obj\dhxlink.cmd .\dhxcl\obj\start51.obj, &
.\dhxcl\obj\dhxmcl_.obj, &
.\dhxcl\obj\dhxcl__.lib &
TO .\dhxcl\obj\dhxcl.abs &
CLASSES( &
DATA (D:0-D:0x7F), &
IDATA (I:0-I:0xFF), &
XDATA (X:0-X:0x7FFF), &
CODE (C:0-C:0xFFFF) &
) &
SEGMENTS( &
?DT?COMxf51RXIntArea01H(D:0x08), &
?DT?COMxf51TXIntArea01H(D:0x10), &
?STACK(I:0x80), &
?ID?DynamicMemoryI?DHxICL_(I:0xB0), &
?XD?DynamicMemoryX?DHxICL_(X:0x0200), &
?XD?ExternalMemoryX?DHxICL_(X:0x2000), &
?PR?DHxICL_(C:0x0000) &
) &
OVERLAY(* ! ?PR?MAIN?DHxMCL_)

...

Program Size: data=248.0 xdata=32719 const=1897 code=62995
LX51 RUN COMPLETE. 3 WARNING(S), 0 ERROR(S)

C:\Keil\C51\BIN\OHX51 .\dhxcl\obj\dhxcl.abs HEXFILE(.\release\dhxcl.h51) H386

Extended 8051/251 Object to Hex File Converter V1.43.0.0
COPYRIGHT KEIL ELEKTRONIK GmbH 2000 - 2012

GENERATING INTEL H386 FILE: .\release\dhxcl.h51

Any idea?
Thank you very much in advance

0