Hi,
I've been tasked with making some slight alterations to an old legacy product.
It's designed in 2010, based around an PIC18F2420 and according to an old .ASM file, it's programmed in Pic Basic Pro 2.60. Unfortunately I don't know the version of MPLAB/MPASM used.
I've installed Pic Basic Pro 3.0.10 on my Windows Pro 64bit, and use it together with MPLAB 8.92 and the command line.
Using this setup, I am able to compile the old source, and to generate a HEX file with a used code size almost identical to the old size, however if I compare the contents of the two files side by side, there's about 20% differences, and worst of all, when programming the new HEX file to my target MCU, it's not working at all. :-(
Comparing the end of the two HEX files, I notice some changes that may be related to some PIC configuration not set identical.
The original and working HEX file ends like this:
Comparing the two ASM files side by side, the translation from Basic to ASM is identical, except for paths and slight contents changes to both the 18F2420.INC file and the MODEDEF.BAS file.
I invoke the compiler like this: "C:\Program Files (x86)\PBP3\PBPX.EXE" -ampasmwin -k- -v -c -ow0 -oq -k# -p18F2420 "UTC.bas"
and it flawlessly creates an ASM file, which I then assemble using: "mpasmwin /w0 /q /o- C:\Work\p0703\UTC.ASM"
It's unfortunately not possible for me to run PIC Basic Pro 2.60 on any computer I have available, but I have tried a few other 3.x series (3.07 and 3.08 to be exact) with similar results.
Anyway, since the contents of the .ASM files are mostly identical I do suspect MPASM much more...
But before I start testing various versions of MPLAB, too, I'd like to ask if this is this a known problem with an existing workaround?
Any suggestions on how to proceed will be highly appreciated!.
Regards,
Flemming
I've been tasked with making some slight alterations to an old legacy product.
It's designed in 2010, based around an PIC18F2420 and according to an old .ASM file, it's programmed in Pic Basic Pro 2.60. Unfortunately I don't know the version of MPLAB/MPASM used.
I've installed Pic Basic Pro 3.0.10 on my Windows Pro 64bit, and use it together with MPLAB 8.92 and the command line.
Using this setup, I am able to compile the old source, and to generate a HEX file with a used code size almost identical to the old size, however if I compare the contents of the two files side by side, there's about 20% differences, and worst of all, when programming the new HEX file to my target MCU, it's not working at all. :-(
Comparing the end of the two HEX files, I notice some changes that may be related to some PIC configuration not set identical.
The original and working HEX file ends like this:
:020000040030CA
:0E000000FF081FEEFF01BBFF00FFFFFFFF40E8
:00000001FF
While the new version end like this::0E000000FF081FEEFF01BBFF00FFFFFFFF40E8
:00000001FF
:020000040030CA
:03000100021F13C8
:020005008181F7
:060008000FC00FE00F40E5
:00000001FF
I'm yet to dive in, and try to understand the exact meaning of these values.:03000100021F13C8
:020005008181F7
:060008000FC00FE00F40E5
:00000001FF
Comparing the two ASM files side by side, the translation from Basic to ASM is identical, except for paths and slight contents changes to both the 18F2420.INC file and the MODEDEF.BAS file.
I invoke the compiler like this: "C:\Program Files (x86)\PBP3\PBPX.EXE" -ampasmwin -k- -v -c -ow0 -oq -k# -p18F2420 "UTC.bas"
and it flawlessly creates an ASM file, which I then assemble using: "mpasmwin /w0 /q /o- C:\Work\p0703\UTC.ASM"
It's unfortunately not possible for me to run PIC Basic Pro 2.60 on any computer I have available, but I have tried a few other 3.x series (3.07 and 3.08 to be exact) with similar results.
Anyway, since the contents of the .ASM files are mostly identical I do suspect MPASM much more...
But before I start testing various versions of MPLAB, too, I'd like to ask if this is this a known problem with an existing workaround?
Any suggestions on how to proceed will be highly appreciated!.
Regards,
Flemming
Comment