pFFh is a programming language that allows you to launch applications on embedded systems safely, quickly and comfortably. pFFh runs on the target system, combining operation as a command interpreter and code compiler. We can say that pFFh behaves like an operating system on the board under development.
All pFFh needs is a serial or USB-serial channel to communicate, and through it, receive and process console commands, either from a keyboard or from files sent from a desktop computer.
At present, pFFh is implemented for the PIC18FxxQ4x/Q7x family of microcontrollers. The code has been run and tested on the PIC18F16Q40, PIC18F16Q41, PIC18F57Q43 and PC18F56Q71 "Curiosity Nano” boards.

Features

  • pFFh runs exclusively and completely on the controller, and via a serial channel it interfaces with a console terminal.
  • pFFh enters interpreter mode, as a command shell, allowing you to compile new functions/routines/variables/constants called “words”, that can be defined, tested, redefined, and debugged without recompiling or restarting the whole program, while in command shell. The compilation writes directly to Flash Program Memory.
  • When an application is ready, the application word can be set as the start defered word, so that on the next boot it will be executed.
  • pFFh allows saving in Hexadecimal Object File Format (IntelHex), both the complete system or an application, so that it can be written later on a new board by a programmer.
  • pFFh is a “Forth-2012 System”, providing all of the Core word set and Exceptions word set. And provides subsets of the Core extension, Double-Number, Exception extension, Facility, Locals, Programming-Tools, Search-Order, and String word sets.
  • The Flash Program Memory is divided into Code space and Name space. Within the code space there is an area for the application and a separate area for the system (the command shell). Other spaces are the Data space and EEProm space.
  • pFFh suport local variables.
  • Assembler support that allows you to compile machine code with the PIC18F family assembler mnemonics, as well as disassembly of what is written in Flash Program Memory.
  • 'TermFF' (available on sourceforge) provides a development environment as well as a serial console for pFFh, and allows various pFFh builds to be writed directly through the 'Curiosity Nano' boards without having to perform any code compilation process.

Project Samples

Project Activity

See All Activity >

License

GNU General Public License version 3.0 (GPLv3)

Follow pFFh

pFFh Web Site

You Might Also Like
Our Free Plans just got better! | Auth0 by Okta Icon
Our Free Plans just got better! | Auth0 by Okta

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of pFFh!

Additional Project Details

User Interface

Console/Terminal, Command-line

Programming Language

Assembly, Forth

Related Categories

Assembly Software Development Software, Assembly Embedded Systems Software, Assembly Programming Languages, Forth Software Development Software, Forth Embedded Systems Software, Forth Programming Languages

Registered

2022-07-14