Menu

PIC18 has been updated to compile with PIC-AS

2022-01-08
2022-02-24
  • Mikael Nordman

    Mikael Nordman - 2022-01-08

    Greetings.
    Microchip has dropped support of MPASM for new chips and new IDE versions.
    After a lot of work FF has been updated to compile with PIC-AS.
    MPASM support has been dropped in order to develop only one version of FF.

    Improvements include support for the Q41 and Q43 chips.
    Another improvement is the simultanous support for up to 3 UARTS.
    The linker files are not used anymore, but instead some PIC-AS command line options must be used.

    I have tested with 18f14k50 18f25k50 18f2455 18f26k42 18f26k83 18f16q41.
    Please report any bugs.

    Best wishes for the new year.
    Mikael

     
  • Raimo Eskermo

    Raimo Eskermo - 2022-02-15

    Hi!
    I'm an old Finn and a newbie to FF and assembler. I have done some programming in COBOL and ABAP a decade or two ago.
    I found a guide written by Peter Jacobs (https://pajacobs-ghub.github.io/flashforth/ff5-tutorial-guide.html) and I thought that I maybe could build FF for PIC18F4550 which I have lying somewhere. So I installed MPLAB X IDE v6.00 and XC 8 compiler.
    I got a syntax error caused by the label BUSY:
    The word BUSY is defined in a include file. Is this causing the syntax error? Anyway, I don't know how to solve this.

    I realize that Mikael has made an enormous effort with FF! Looking at the source code I only say in Finnish: "Mun pääni menee ihan sekaisin!"

     
  • Mikael Nordman

    Mikael Nordman - 2022-02-15

    Terve Raimo.
    Compiling for the PIC18F2550 does not have that problem. Bad luck that the 4550, which the same chip with some more I/O has this conflict.
    Anyway, you can just delete that line. It is not used.

    Looks like the include files can cause conflicts with FF code. I have not tried to compile with each end every chip. I assumed the all the chips in the same datasheet would have compiled if one of them compiles.

    Kysy vaan lisää jos tarvii.

     
  • Simon Bridger

    Simon Bridger - 2022-02-24

    Good news on the 18F16Q41's.
    (And what a miserable affair the PIC-ASS changes are! Why anyone would think that breaking changes are needed to a PIC assembler now, is beyond me)

    My use is as a pass though serial device - the 3 uarts in a 20 or 14 pin device are rather ideal.
    It is inserted in the bluetooth serial wire to an FT817 radio, and by default simply passes all chars through, but can be escaped into 4th mode, where it will allow me to gradually add (serial) macros, and some direct push button commands.

    Did you implement fifo's on the uarts? or is it just plain uart accress?

    (As an aside, I wonder why dma designers don't implement ring buffers? Most every time I have wanted dma, what I really wanted is a fifo)

     
    • Mikael Nordman

      Mikael Nordman - 2022-02-24

      Simon,
      In FF the three UARTs have interrupt driven receive FIFOs.
      The DMA is quite useless for the UARTs since, as you say, there is no ring buffer functionality.

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.