#239 Value of symbol "_fn1" differs on second pass

None
closed
None
5
2012-11-04
2012-05-15
No

The error exist PIC12F1822 case of, but not exist PIC12F1840 case of. Strange. The attachment presents the error.

Discussion

  • Molnár Károly

    Molnár Károly - 2012-05-15

    Presents the error.

     
  • Molnár Károly

    Molnár Károly - 2012-05-15

    The error exist the PIC12F1822 case of, but not exist the PIC12F1840 case of. Strange.

     
  • Molnár Károly

    Molnár Károly - 2012-05-15

    The version of gpasm: gpasm-0.14.1 #684 (Apr 28 2012)

     
  • Borut Ražem

    Borut Ražem - 2012-06-06

    I can't reproduce the bug with the latest gputils svn revision #697, probably fixed with bug #3528221 - gpasm generates the pagesel code for one page devices.

    Karoly, can you please try if it works for you too?

    Borut

     
  • Molnár Károly

    Molnár Károly - 2012-06-06

    gpasm-0.14.1 #697

    Output of the compile (in the attachment there is):

    gpasm -p p12f1822 -c call.asm
    call.asm:5:Message[312] Page or Bank selection not needed for this device. No code generated.
    call.asm:7:Message[312] Page or Bank selection not needed for this device. No code generated.
    gpasm -p p12f1840 -c call.asm

    The gpasm-0.14.1 #699 the same writes. In both cases the compilation good.

    I have a question for. I write the libio to the sdcc. In the meantime I found errors in some pic16fxxxx.inc.
    A few bits missing. It would be nice to fix them. The problem I have is that these files are owned by Microchip.
    You can modify them?

    An example:
    gputils-0.14.1/header/p16f1503.inc

    ;----- ADCON1 Bits -----------------------------------------------------
    ADFM EQU H'0007'

    ADPREF0 EQU H'0000'
    ADPREF1 EQU H'0001'

    There is a lack of ADCS[0-2] bits.
    The data sheet (DS41607A-page 124) says that they are.
    (Without them it would be difficult to configure the AD clock signal.)

    So it would be good:

    ;----- ADCON1 Bits -----------------------------------------------------
    ADPREF0 EQU H'0000'
    ADPREF1 EQU H'0001'
    ADCS0 EQU H'0004'
    ADCS1 EQU H'0005'
    ADCS2 EQU H'0006'
    ADFM EQU H'0007'

     
  • Borut Ražem

    Borut Ražem - 2012-06-18

    call.asm:5:Message[312] Page or Bank selection not needed for this device.
    No code generated.

    This warning is OK: 12f1822 has only one program memory page, so PAGESEL is redundant and no code is generated.

    12f1840 has two program memory pages and PAGESEL generates the code.

    I have a question for. I write the libio to the sdcc...

    There are 3 possible places where we can fix this problem: the original Microchip inc file, gputils inc file or generated sdcc h file. I propose the following:
    - submit a request to Microchip. I report bugs I find to Microchip forums at http://www.microchip.com/forums/ forum MPASM, MPLINK, MPLIB (assembler, linker, librarian)
    - make a fix in gputils inc file, evidently marking & commenting it as a gputils specific addition to the original Microchip header file
    - regenerate the sdcc header file

    P.S.: please don't mix different issues in the same bug tracker report sine it makes it difficult to close the report if not all issues are solved.

    Borut

     
  • Borut Ražem

    Borut Ražem - 2012-11-04
    • status: pending --> closed
    • milestone: --> None
     


Anonymous

Cancel  Add attachments