ba. User functions support

PIC18 and PIC32 firm wares form PC USB Projects website have reach functionality. However, it is sometimes necessary to add some custom functionality. PC USB Projects firm wares: PIC18F26J50 firmware v2.7.8 – universal.zip and PIC32MX250F128B firmware v2.9.1 – all subversions.zip support user functions.

You have to install Microchip MPLAB or MPLABX development environment together with Hitech PIC18 and/or XC32 compiler be able to compile your own function.

User function templates (examples) are provided in Downloads section the following packages: PIC18F26J50 firmware v2.6 - ADD-ON.zip, PIC18F26J50 firmware v2.6.1 - ADD-ON5.zip and PIC32MX250F128B RAM function example.zip.

PIC18F26J50 user functions support

There are also special program utilities to enable uploading and running user functions. PIC18 now has a new PIC Programmer v2.9.9 (x64).zip application now also covers programming and running user functions. Source code is provided. PIC Programmer v2.9.9 (x64) also supports PIC18 programmers from this website.

There are also two new programming libraries for PIC18: SVLIB_PIC18F24J50 v3.9.NET4(x64).dll and SVLIB_PIC18F24J50 v2.7c.st.NET4(x64).dll. Both support user functions. SVLIB_PIC18F24J50 v3.9.NET4(x64) is intended for multithreading applications and SVLIB_PIC18F24J50 v2.7c.st.NET4(x64).dll is intended for single-threaded applications.

User functions can also be used from a multithreading environment. Download PIC18 - User Function Tester (x64).zip from Downloads section to get an example on how to use the user function (PIC18F26J50 firmware v2.6.1 - ADD-ON5.zip).

PIC32MX250F128B user functions support

PIC32MX250F128B uses a special loader PIC32 LOADER - v1.0(x64).zip utility to upload user functions to RAM. User function example PIC32MX250F128B RAM function example.zip is provided in Downloads section. PIC32 LOADER - v1.0 utility is provided with source code, so it is relatively easy to modify it to store user functions in PIC32MX250F128B EEPROM.

Click on the picture to enlarge it.