
Device Files of Jallib: https://github.com/jallib/jallib

In Jallib we call the logical layer between the hardware of
a specific PIC and the application program or library a
'device file'. Each device file contains information for the
compiler about hardware (CPU type, amount of program and
data memory, location of Special Function Registers, etc.)
and a number of common control functions (shadowing of I/O
ports, controlling analog/digital mode, etc).

The primary goal of the Jallib device files is to make it
possible to build programs and libraries which are device
independent and allow easy migration of a program from one
to another PIC, even from one family to the other. Therefore
we use a strict naming convention and declare aliases for
PICs with 'deviations' in the names as used in the
datasheets, for example a program can use the name PORTA for
GPIO of the small PICs. Of course there are restrictions,
for example a program which uses EEPROM data memory of a PIC
will not work on a PIC without EEPROM data memory!

Every Jallib device file includes a common file with
declarations of basic constants used by the compiler.
This file 'chipdef_jallib.jal' replaces the file 'chipdef.jal'
of the compiler package.  On its turn this file includes a file
'constants_jallib' with declaration of constants used by the
Jallib device files and several Jallib libraries.

All device files and libraries are in the directory 'lib'.
This library should be part of your include specification for
the JalV2 compiler (-s option).

For more detailed information about the contents and use of
Jallib device files see: devicefiles.html in the directory
'doc/html'.

For examples of use of device files and libraries see the files
'<pictype>_blink_xxx.jal' in the sample directory.

Not all device files have been actually tested yet! We are
continuously working on improvements! When you encounter a
problem you might browse the Jallib repository for a possibly
newer version that solves the problem. If not please inform us!
The most effective way is to report at
https://github.com/jallib/jallib. Open 'Issues' to see if there is
already a report to which you could add your comments, otherwise
open a new issue.

Have fun!

The Jallib team.

