• AVR Freaks

Hot!mpasm not supported in 64 bit OSs

Author
JorgeF
Super Member
  • Total Posts : 3345
  • Reward points : 0
  • Joined: 2011/07/09 11:56:58
  • Location: PT/EU @ Third rock from the Sun
  • Status: offline
2020/05/28 10:22:30 (permalink)
5 (1)

mpasm not supported in 64 bit OSs

Hi
 
After a while away, I'm starting a couple of new projects using the PIC16LF18324.
But it seems I'm starting on the wrong foot, or is it the wrong micro controller brand....
 
Even before I wrote the first directive, I'm greeted with "mpasm not supported on 64 bit OSs. Please consider moving your ...... project to XC8 assembler". :(
I changed it to XC8 and found no options to work with pure ASM. I didn't dig too much yet, but it seems I must write a kind of "masquerade" of ASM burried under C, I'm not even sure I can use absolute location.
 
How can I get to work as close as possible to using the old and faithful "mpasm"?
 
Context:
UBUNTU 18.04 LTS
MPLABX 5.35
XC8 2.10
 
 
Thank you
 
post edited by JorgeF - 2020/05/28 10:25:52

Best regards
Jorge
 
I'm here http://picforum.ric323.com too!
And it works better....
#1

13 Replies Related Threads

    mbrowning
    USNA79
    • Total Posts : 1791
    • Reward points : 0
    • Joined: 2005/03/16 14:32:56
    • Location: Melbourne, FL
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/28 10:44:00 (permalink)
    0
    The newest version of XC8 (not 2.10) has improved assembly support for standalone assembly development. I understand it does not include all the capabilities of MPASM and is not directly source compatible so translation is needed.
    #2
    NorthGuy
    Super Member
    • Total Posts : 6228
    • Reward points : 0
    • Joined: 2014/02/23 14:23:23
    • Location: Northern Canada
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/28 12:09:14 (permalink)
    0
    For parts that are still supported by MPASM, you can use one of the older - still 32-bit - versions of MPLAB X.
     
    For newer parts, I guess the only way would be creating custom versions of support files. But there are no such parts yet.
    post edited by NorthGuy - 2020/05/28 12:11:30
    #3
    ric
    Super Member
    • Total Posts : 28006
    • Reward points : 0
    • Joined: 2003/11/07 12:41:26
    • Location: Australia, Melbourne
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/28 12:50:38 (permalink)
    0
    Also note, XC8 2.2 comes with a new DOC file for the new assembler.
    C:\Program Files\Microchip\xc8\v2.20\docs\MPLAB_XC8_PIC_Assembler_User_Guide.pdf
     

    I also post at: PicForum
    Links to useful PIC information: http://picforum.ric323.co...opic.php?f=59&t=15
    NEW USERS: Posting images, links and code - workaround for restrictions.
    To get a useful answer, always state which PIC you are using!
    #4
    JorgeF
    Super Member
    • Total Posts : 3345
    • Reward points : 0
    • Joined: 2011/07/09 11:56:58
    • Location: PT/EU @ Third rock from the Sun
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/29 11:19:08 (permalink)
    0
    Hi guys
     
    Thank you for your tips.
    After a all day reading and browsing some 5 or 6 docs and sample code, without any success.
    I'm up and running with MPLABX 4.20 and MPASM 5.77
     
    I managed to get to a point with XC8 2.20, but couldn't make it accept a user defined psect in the command line.
    A curiosity, having XC8 V2.10 installed, when I asked MPLABX to install the most recent version (project properties dialog) it installed V1,36. To get V2.20 I have to install it by hand.
     
    Best regards
    Jorge
     

    Best regards
    Jorge
     
    I'm here http://picforum.ric323.com too!
    And it works better....
    #5
    Jerry Messina
    Super Member
    • Total Posts : 540
    • Reward points : 0
    • Joined: 2003/11/07 12:35:12
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/29 11:44:43 (permalink)
    4.5 (2)
    Even though MPLABX 5.35 reports the "mpasm not supported on 64 bit OSs" warning, it includes MPASM 5.87 and seems to work ok for creating MPASM-only projects, at least on win7 x64 platform.
     
    5.40 is a different story.
     
    #6
    JorgeF
    Super Member
    • Total Posts : 3345
    • Reward points : 0
    • Joined: 2011/07/09 11:56:58
    • Location: PT/EU @ Third rock from the Sun
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/29 12:07:43 (permalink)
    0
    Hi
    I tried to build a basic ASM program, but it didn't build.
    By the error message it seems to be lacking the default makefile for it.
    Creating a makefile is not a big problem, but after all the fight with XC8, I decided not to open yet another hood.
     

    Best regards
    Jorge
     
    I'm here http://picforum.ric323.com too!
    And it works better....
    #7
    dan1138
    Super Member
    • Total Posts : 3730
    • Reward points : 0
    • Joined: 2007/02/21 23:04:16
    • Location: 0
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/29 13:09:21 (permalink)
    5 (5)
    @JorgeF,

    You are in for a lot of frustration.

    My job is to maintain several Microchip assembly language legacy projects and port them to use the current tools. (It sucks to be me right now) :)

    This is what I have learned so far:
    ;
    ; Target: PIC16LF18324
    ; File: main.S Extension must be capital "S", others (ASM, as, s, etc.) will cause problems.
    ; Date: 2020-May-29
    ; Author: dan1138
    ;
    ; Notes:
    ;
    ; At a minimum you need these PDF files:
    ;
    ; http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20XC8%20PIC%20Assembler%20User%27s%20Guide%2050002974A.pdf
    ; http://ww1.microchip.com/downloads/en/DeviceDoc/XC8-PIC-Assembler-UG-for-EE-50002994A.pdf
    ; http://ww1.microchip.com/downloads/en/DeviceDoc/MPASM%20to%20MPLAB%20XC8%20PIC%20Assembler%20Migration%20Guide%2050002973A.pdf
    ;
    ; MPLABX v5.40 is hostile to developing an assembly language project
    ; for 8-bit PIC targets.
    ;
    ; MPLABX v5.40 is bugged in that it loads the HEX file not the ELF file
    ; when starting the debug session. The result is there is no symbolic
    ; debug information available. On possible workaround is to import the
    ; ELF files into a "prebuild" project for MPLABX.
    ;
    ; MPLABX v5.40 is bugged in that when the pic-as(v2.20) is selected as
    ; the Compiler Tool Chain the IDE does not allow the user to make changes
    ; in the "Configuration Bits" tab of the Output view.
    ;
    ; The assembler asserts this warning:
    ;
    ; ::: warning: (1428) "-misa=std" is not supported; this feature will be ignored
    ;
    ; It is doing this because the command that invokes the assembler has selected the
    ; standard instruction set for a PIC18F target when this option is not relevant for
    ; a mid-range PIC16F controller.
    ;
    ; Configuration Bit Settings
    ;
    ; CONFIG1
    config FEXTOSC = OFF ; FEXTOSC External Oscillator mode Selection bits (Oscillator not enabled)
    config RSTOSC = HFINT32 ; Power-up default value for COSC bits (HFINTOSC with 2x PLL (32MHz))
    config CLKOUTEN = OFF ; Clock Out Enable bit (CLKOUT function is disabled; I/O or oscillator function on OSC2)
    config CSWEN = ON ; Clock Switch Enable bit (Writing to NOSC and NDIV is allowed)
    config FCMEN = OFF ; Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is disabled)

    ; CONFIG2
    config MCLRE = ON ; Master Clear Enable bit (MCLR/VPP pin function is MCLR; Weak pull-up enabled)
    config PWRTE = OFF ; Power-up Timer Enable bit (PWRT disabled)
    config WDTE = OFF ; Watchdog Timer Enable bits (WDT disabled; SWDTEN is ignored)
    config LPBOREN = OFF ; Low-power BOR enable bit (ULPBOR disabled)
    config BOREN = ON ; Brown-out Reset Enable bits (Brown-out Reset enabled, SBOREN bit ignored)
    config BORV = LOW ; Brown-out Reset Voltage selection bit (Brown-out voltage (Vbor) set to 2.45V)
    config PPS1WAY = OFF ; PPSLOCK bit One-Way Set Enable bit (The PPSLOCK bit can be set and cleared repeatedly (subject to the unlock sequence))
    config STVREN = ON ; Stack Overflow/Underflow Reset Enable bit (Stack Overflow or Underflow will cause a Reset)
    config DEBUG = OFF ; Debugger enable bit (Background debugger disabled)

    ; CONFIG3
    config WRT = OFF ; User NVM self-write protection bits (Write protection off)
    config LVP = ON ; Low Voltage Programming Enable bit (Low Voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored.)

    ; CONFIG4
    config CP = OFF ; User NVM Program Memory Code Protection bit (User NVM code protection disabled)
    config CPD = OFF ; Data NVM Memory Code Protection bit (Data NVM code protection disabled)
    ;
    ; Special Function Register definitions
    ;
    #include <xc.inc>
    ;
    ; Section that linker cannot relocate
    ;
    psect ResetVec,abs,local,class=CODE,delta=2
    org 0
    ResetVector:
    PAGESEL _main
    goto _main
    ;
    ; Section that linker can relocate
    ;
    psect mainfunc,local,class=CODE,delta=2

    global _main ;
    _main:
    movf PORTA,w ; here we use a symbol defined via xc.inc
    nop
    Hang:
    goto Hang
    ;
    ; END directive so the linker knows where the entry point is
    ;
    end ResetVector
    post edited by dan1138 - 2020/05/29 13:42:29
    #8
    JorgeF
    Super Member
    • Total Posts : 3345
    • Reward points : 0
    • Joined: 2011/07/09 11:56:58
    • Location: PT/EU @ Third rock from the Sun
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/30 03:36:40 (permalink)
    0
    @Dan1138
     
    Thank you very much for the sample project.
     
    I looked at the source code and it looks much more clear and simpler than the examples from the "XC8-PIC-Assembler-UG-for-EE".
    But I couldn't build it. I didn't yet find my way around the installation/configuration of "pic-as" as a toolchain by itself. Al thought its in the system installed alongside XC8.
    But that is not a surprise, I'm still a total noob navigating the intricacies of MPLAB X.
     
    I usually like to use recent tools, as long as they don't get in the way of me doing things how I want.
    But it looks like I'm proceeding with mpasmx under MPLABX 4.20.

    Best regards
    Jorge
     
    I'm here http://picforum.ric323.com too!
    And it works better....
    #9
    dan1138
    Super Member
    • Total Posts : 3730
    • Reward points : 0
    • Joined: 2007/02/21 23:04:16
    • Location: 0
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/05/30 15:26:53 (permalink)
    5 (1)
    JorgeF
    ... I didn't yet find my way around the installation/configuration of "pic-as" as a toolchain by itself. ...

    I had to install it in the MPLABX IDE manually:

    #10
    atferrari
    Super Member
    • Total Posts : 1448
    • Reward points : 0
    • Joined: 2004/07/08 13:09:24
    • Location: Buenos Aires - Argentina
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/07/09 06:04:48 (permalink)
    5 (1)
    Have you selected pic-as 2.20 as the toolchain? That's the right one, not XC8.
    Spent a whole day insisting myself.

    Agustín Tomás

    In theory, there is no difference between theory and practice. In practice, however, there is.

    http://cablemodem.fibertel.com.ar/atferrari/
    #11
    ob1knob
    New Member
    • Total Posts : 3
    • Reward points : 0
    • Joined: 2018/01/19 11:51:01
    • Location: 0
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/07/15 13:13:21 (permalink)
    5 (1)
    I'm running version 5.10 mplabx on both windows 7 and suse linux.  I am programming assembly on a 16LF877A.  I I'm greeted with "mpasm not supported on 64 bit OSs. Please consider moving your ...... project to XC8 assembler"  Does Microchip ever intend to fix this?  What are the specific incompatabilities so that I can deal with them.  This was a bad decision on microchips part.
    John
    #12
    1and0
    Access is Denied
    • Total Posts : 10999
    • Reward points : 0
    • Joined: 2007/05/06 12:03:20
    • Location: Harry's Gray Matter
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/07/15 13:46:24 (permalink)
    4 (1)
    ob1knob
    I'm running version 5.10 mplabx on both windows 7 and suse linux.  I am programming assembly on a 16LF877A.  I I'm greeted with "mpasm not supported on 64 bit OSs. Please consider moving your ...... project to XC8 assembler"  Does Microchip ever intend to fix this?  What are the specific incompatabilities so that I can deal with them.  This was a bad decision on microchips part.

    MPASM has been discontinued and being replaced with PIC-AS of the XC8 Compiler going forward with MPLAB X v5.40.
     
    #13
    dan1138
    Super Member
    • Total Posts : 3730
    • Reward points : 0
    • Joined: 2007/02/21 23:04:16
    • Location: 0
    • Status: offline
    Re: mpasm not supported in 64 bit OSs 2020/07/15 14:43:01 (permalink)
    5 (3)
    ob1knob
    ... I am programming assembly on a 16LF877A. ...

    Still using the PIC16LF877A today is possibly a worse decision than Microchip making MPASM obsolete.
     
    ob1knob
    I'm running version 5.10 mplabx on both windows 7 and suse linux.

    Unless you have a compelling need for new features Microchip has added to the MPLABX IDE you should not update your installation.
     
    If you are using a Linux distribution that does not support running 32-bit applications in a 64-bit OS you do have limited choices.
     
    You will be compelled to learn to develop code using the pic-as(v2.20) tool chain.
     
    It is possible but you will not like it.
     
    At present the pic-as(v2.20) tool chain integration into the MPLABX v5.40 IDE is crap.

    ob1knob
    Does Microchip ever intend to fix this?

    The "fix" is to make MPASM obsolete, so no Microchip is making this inconvenient for you. They are doing it on purpose because they are targeting you and will destroy you. Be paranoid they are out to get you.

    ob1knob
    What are the specific incompatabilities so that I can deal with them.

    See:
    MPASM to MPLAB XC8 PIC Assembler Migration Guide 50002973A
    MPLAB XC8 PIC Assembler User's Guide 50002974A
    XC8-PIC-Assembler-UG-for-EE-50002994A

    See this post: https://www.microchip.com/forums/FindPost/1147398

    And this post: https://www.microchip.com/forums/FindPost/1141890
    post edited by dan1138 - 2020/07/15 16:29:39
    #14
    Jump to:
    © 2020 APG vNext Commercial Version 4.5