Menu

FlashForth on PIC16F19xx

Larry Hall
2009-06-02
2016-07-09
  • Larry Hall

    Larry Hall - 2009-06-02

    Mikael,

    Have you considered looking into the possibility of porting the code to the new enhanced architecture PIC16?  Is it possible?

    Thanks.

    Larry

     
    • Mikael Nordman

      Mikael Nordman - 2009-06-02

      I had a quick look, but could not find the data sheet, just
      a PIC18 delta Document. From the look of that, it should be possible
      to port FlashForth to the PIC16F19xx. In practice the parts
      with 1 Kb of RAM and 32 Kbytes of Flash should be used.

      Those parts are now in the future products category.

      What I could not find was how Flash can be written.
      What is the write endurance of the Flash ? What is the Flash block size ?
      It should be pretty small so that you can rewrite a block from ram.

      The stack is only 16 deep, so you have to take care of how deep you nest your code.
      The multiply has to be recoded.
      All assembly words must be recoded. Call versus rcall must be reconsidered.
      The reach of call, bra, and conditional branches must be evaluated.
      The assembler must be rewritten.

      If the FF kernel grows too big
      some extras can be left out of the FF kernel to make it more compact.

      So even if it could be done, there is work to be done and some design decisions
      to be taken.

      Cheers
      Mikael

       
    • Larry Hall

      Larry Hall - 2009-06-11

      Mikael,

      Thanks for the note and discussion about the necessary changes for the PIC16F19xx part.

      Here is the link for the datasheet from the Microchip website. 

      http://ww1.microchip.com/downloads/en/DeviceDoc/41364B.pdf

      Section 23 discusses the flash and eeprom memory programming and the flash memory block is 32 words.

      Thanks.
      Larry

       
  • Simon Bridger

    Simon Bridger - 2016-07-09

    With this family now well established, has there been any more thought about this?

    The 16F18346 family of 20 and 14 pin parts looks to be my next go-to part, as (on paper) they are addressing the issues previous versions had (idle current, inconvenient port and pin mappings etc)

    Could you update the website PIC18F page a little with a short summary of the flash and ram currently used by flash forth for interpreted and compiled instances?

     

Log in to post a comment.