Overview

SourceBoost IDE (Integrated Development Environment) is a low cost development environment for Microchip Inc. PIC and Ubicom Inc. SX processors. SourceBoost IDE includes a modern editor, a project manager, C, C++, and Pascal cross-compilers, a Project wizard, an assembler level debugger, a clock accurate simulator, and a number of virtual devices.

Index

Overview
Index
Getting Started
SourceBoost Architecture
Supported Toolchains
User Interface
    Tool Bar
    Project Workspace Window
        Project Output Files
        Browse Data
    Output Window
        Build Page
        Find Page
        Terminal Page
    Register Window
    Watch Window
    Stack Window
    Memory Window
    Eeprom Window
    Code Window
    Profile Window
    Status Bar
    Window Positioning Tips
Edit Mode
    Managing Projects
        Quick Project
        New Project
        Project Wizard
        Existing Project
    Editing Code
        Syntax Coloring
        Hot Keys
        Autocompletion
        Function Prototype Hits
        File Under Cursor
        Matching Brace
        Source/Header Switch
        Bookmarks
        Folding
        Right Click Menu Goodies
    Building a Project
        Build
        Compile
        Assemble
        Program
        Simulate
Printing and Print Preview
Debug Mode
    Execution line
    Debug Bar
    Debug Hot Keys
    Breakpoints
    Watchpoints
    Symbol Value Hover
Plugin System
Appendix A: SourceBoost IDE Simulator features and limitations
Appendix B: Toolsuite API
Appendix C: Debugger and Simulator API
Appendix D: SourceBoost IDE setup for PICC Lite compiler
Appendix E: Older SourceBoost IDE releases
Appendix F: SourceBoost IDE and other compilers and tools
Purchase Information
Legal Information

Getting Started

SourceBoost IDE was designed to be easy to work with. It usually takes only a few minutes from SourceBoost IDE installation to the point where compiled code runs on a target. Just remember that SourceBoost IDE works with projects and all source files you want to compile need to be included into a project. An easy way to start is to open one of the example projects included into SourceBoost installation. 

Follow these steps to open and build an example project:

SourceBoost Architecture

Internally SourceBoost consists of several components. The top one is the IDE that communicates with the debugger, toolsuites and plugins. The debugger in turn uses the PIC16 or PIC18 simulator and toolsuites for the appropriate compilers, linkers, and/or assemblers:

ide_blocks (5K)

Supported Toolsuites

SourceBoost IDE was designed as a general purpose IDE that can be easily adapted to support new toolsuites. Starting from version 5.8 SourceBoost IDE includes the BoostC++ C++ and from the version 6.86 it includes BoostBasic Basic compiler both based on the BoostC core. Starting from version 5.6 SourceBoost IDE includes the next generation BoostC C compiler and supports source level debugging for code built with BoostC. Starting from version 5.3 it works with C2C-plus C compiler, C2C++ C/C++ compiler, P2C-plus Pascal compiler, and PICC Lite C compiler from HI-TECH Software ( For more information on how to set up SourceBoost IDE to work with PICC Lite compiler refer to Appendix D: SourceBoost IDE setup for PICC Lite compiler). However starting from version 6.85 C2C-plus, C2C++ and P2C-plus compilers were retired and removed from SourceBoost installation.

User Interface

SourceBoost IDE has a number of different windows dedicated to perform some specific functions. All of these windows may be docked inside the main SourceBoost IDE window, or freely float at any part of the screen. 

The SourceBoost IDE may work in two modes:

The windows that can be displayed and the layout of the windows is different for these modes. For example the Register and Stack windows are not visible in Edit mode, but can be displayed in Debug mode.

tip (1K) In many windows right-click menus can be used. Remember, right-click menus are your friends. Often they offer features not available from the main menu.

Tool Bar

toolbar (1K)

btn_new (1K) Create a new document file. The created file will have no syntax coloring until it's been saved.
btn_open (1K) Open an existing document file.
btn_save (1K) Save the active document file.
btn_saveall (1K) Save all modified document files.
btn_cut (1K) Cut selection.
btn_copy (1K) Copy selection.
btn_paste (1K) Paste content of the clipboard.
btn_print (1K) Print the active document.
btn_workspace (1K) Show/hide the Workspace window.
btn_output (1K) Show/hide the Output window.
btn_build (1K) Build the current project. This command starts the actions defined in the Build dialog.
btn_compile (1K) Compile the current project.
btn_assemble (1K) Assemble the current project using the external assembler. If the external assembler is not specified this button is grayed out.
btn_program (1K) Start an external programmer. If the external programmer is not specified this button is grayed out.
btn_simulate (1K) Start an external simulator. If the external simulator is not specified this button is grayed out.
btn_about (1K) Display SourceBoost IDE About dialog.
btn_debug (1K) Start built-in debugger. SourceBoost IDE enters the Debug mode.
btn_breakpoint (1K) Toggle a breakpoint on the line under cursor. Breakpoints can be set only in assembly files.
tip (1K) By default the tool bar is docked on the top part of the main window. However it may be docked on the bottom, left and right part, or float outside of the main window.

Project Workspace Window

The IDE has a workspace window that can display either the Project files (that is the files a project  is composed of), or a browser showing the various symbols used inside the Project files .

wrkspc_files (3K)

tip (1K) Switch between the file view or the browser view by using the tabs at the bottom of  the window.
tip (1K) Use right click menu to open, delete, or add new files to a project.

Project Output Files

wrkspc_files (3K) Files inside the Output folder are the output files generated during compilation or assembly. 

By default these are the files in the project directory that have the same name as the project,  but with file extensions .asm, .lst and .hex. 
To change what files are displayed in the Output folder list,  right click on any point inside the Workspace window and select the Customize Workspace... menu. This will display the Customize Workspace dialog with a list of files, separated by commas, in the Output folder. The file names can contain paths that can be absolute, or relative to the project directory.

tip (1K) It's a good idea to use symbolic names. The symbolic names will be substituted with real values that depend on your project's settings:
%name%project name (i.e. my_long_project_name)
%shortname%short project name (i.e. my_lon~1)
%target%target name (i.e. PIC16F84)
%shorttarget%short target name (i.e. 16F84)
%appdir%SourceBoost installation directory (i.e. C:\Program Files\SourceBoost) When used to specify an application it's a good idea to enclose the whole path into double quotes (i.e. "%appdir%\ezdownloader.exe").

Browse Data

wrkspc_browse (3K) SourceBoost IDE has a built-in browser that automatically builds a database of symbols used in the current project. 
This data base gets updated every time a project is loaded or a file inside the project is changed.
tip (1K) Double click on any symbol inside the browse window to open or activate a file where this symbol is defined.

Output Window

The Output window contains three pages:

The Build page is used to display various messages produced by SourceBoost IDE.
The Find page displays the results of the Find In Files command.
The Terminal page allows data to be transmitted to, and received from, a serial port.

Build Page

outp_output (3K)

This page displays compilation and assembly output, error and warning messages, and other information of interest to the user.

tip (1K) Double click on a compile error or warning to open or activate the relevant location in a source file.
tip (1K) Use F4 to switch between error and warning messages.

Find Page

outp_find (4K)

This page lists all files that are the result of the Find In Files command.

tip (1K) Double click on an item in this list to open or activate the relevant file.

Terminal Page

outp_term (3K)

This is a serial port terminal. This page displays data received from a serial port, and allows data to be sent to a serial port.

tip (1K) The Terminal page can be used to communicate with a bootloader.
tip (1K) If you use debug print in your target code it's convenient to use the Terminal page to display these debug strings.

Register Window

registerbar (6K) The register window shows registers for the current target. Based on their functionality, the registers are partitioned into groups. 
This window functions only in debug mode and shows values of the target registers. 

The format of each value may be changed using the right click menu. By default a register value is displayed in black, but if it has changed since the last stop the value becomes blue. 

To change the value click on it, enter a new one and press Enter or click anywhere. 
To set a watchpoint on a register use the right click menu. A set watchpoint is indicated by a small red dot in the left top corner of a register name.

tip (1K) To change the format of all registers keep the Ctrl key pressed when selecting the format from the right click menu.
tip (1K) To change how the registers are partitioned, edit the relevant .TDF file that is inside the config sub-directory in the directory where SourceBoost IDE is installed.

Watch Window

watchbar (2K) The watch window functions only in debug mode and is used to display values of various symbols from the debugged code. 
To add a new watch use the right click menu and select the Add... item. This will open the Quick Watch dialog where a new symbol to watch is specified. Similarly an already existing watch can be edited by selecting the Edit... item from the right click menu. A watch inside this dialog can be either entered or selected from the drop down list.
tip (1K) To change the format of all watches, keep the Ctrl key pressed when selecting the format from the right click menu.
tip (1K) To add a register watch use a dollar sign in front of the register name. To add a watch on a register number use a dollar sign in front of the decimal register address.

Stack Window

stackbar (2K) The stack window functions only in Debug mode and displays the content of the target hardware stack.
tip (1K) Double click on an item in the list to open or or activate the relevant location in a source file.

Memory Window

memorybar (5K) The memory window functions only in debug mode and displays the register map of the current target. 
By default, register values are displayed in black, but if some have changed since the last stop their backgrounds become cyan. If a value was changed by the user its background becomes green. 

To edit the value of a register click on it, enter a new value, and press Enter or click anywhere. To add a watch to a register use the right click menu. 

A set watchpoint is indicated by a small red dot in the left top corner of a register value. Registers unimplemented for the current target have gray backgrounds.

Eeprom Window

eeprombar (4K) The eeprom window functions only in debug mode and displays the eeprom map of the current target. 
By default eeprom values are displayed in black, but if some have changed since the last stop their backgrounds become cyan. If a value was changed by the user its background becomes green. 

To edit an eeprom value click on it, enter a new value, and press Enter or click anywhere. 

Code Window

codebar (6K) The code window displays the project listing file (if it exists). In debug mode the execution line is displayed in this window as well as the relevant source window. In debug mode when the code window is active all step commands are done on assembly level.

For toolsuites that generate call tree and code/memory usage data the code window will add tabs to display this information:
code_tabs (3K) Assembly mixed with sources.
code_tabs1 (2K) Program call tree.
code_tabs2 (3K) Code and memory usage by functions.
Currently both BoostC, BoostC++ and BoostBasic toolsuites generate call tree and code/memory usage data.

Profile Window

profilebar (4K) The profile window functions only in debug mode and displays, in graphical and numerical form, the number of times every assembler label was hit during execution.
tip (1K) Double click on an item in the list to open or activate the relevant location in a source file.

 

Window Positioning Tips

tip (1K) Hold down the Ctrl key while dragging a window to prevent it from docking. Try it!

Status Bar

statusbar (1K)

Status Bar displays various IDE status information such as current line and column, typing mode (insert or overwrite), number of clock cycles passed since the last reset, etc.

Edit Mode

Edit mode is the default state of the SourceBoost IDE. SourceBoost IDE starts in the Edit mode. In this mode you can create or open projects, edit and compile code, start external tools, etc.

Managing Projects

SourceBoost IDE works with projects. A project is a collection of source files, rules how these files should be compiled, and other information. Even if you need to build only one file, you first have to create a project that will contain this file. Fortunately SourceBoost IDE supports several easy and fast ways to create new projects. 

Quick Project

The Quick project creation is used when a project contains only one source file. In this mode just a single source file is selected and a project that has the same name as this source file is created and opened inside SourceBoost IDE. Such a project gets created for the last selected target.

New Project

This is a conventional way to create a new project. After selecting the directory where the new project should be created and the project name, an empty project is created. 
To add files to this project use the Add file(s)... menu item in the Project menu or the right click menu of the Workspace window.

Project Wizard

In this mode a new project is created from a template selected in the Project Wizard. The created project is ready to be compiled and run on a target. Note: The project wizard is different depending on the toolsuite selected.

Existing Project

An existing project can be edited by adding or removing files from it.

tip (1K) .C, .CPP, .H or .LIB files may be added to a project. Other file types, as for example readme.txt, are also appropriate.
tip (1K) By default during start up IDE loads the last open project from the previous session. This can be disabled by creating a registry record in HKCU\Software\SourceBoostIDE\IDE\Project or HKLM\Software\SourceBoostIDE\IDE\Project with the name 'Load Last Project' and value 0. To enable loading of the last project at IDE startup just delete this registry record or set its value to 1.
tip (1K) By default the open project dialog starts in the directory of the current open project. To overwrite the default open project directory create a registry record in HKCU\Software\SourceBoostIDE\IDE\Project or HKLM\Software\SourceBoostIDE\IDE\Project with the name 'Default Project Dir' and the string value that will point to the directory you want to use inside the open project dialog.

Editing Code

The editor has been designed to make code editing as easy as possible. It features customized coloring schemes, indentation lines, hot keys, drag and drop, virtually unlimited undo/redo, autocomplete, function prototype call tips, etc.

tip (1K) To add some boiler plate text to each new file created from IDE create a directory called 'boiler.plates' inside the SourceBoost installation directory and than create a file with the name of your current toolsuite inside this new directory with the boiler plate text you want to insert into newly created files.

Syntax Coloring

An open document file is colored based on its extension. Files with .C, .CPP and .H extensions are colored by the SourceBoost IDE as C files. Files with .ASM, .S and .LST extensions are colored as assembly files. All other files are uncolored. The current syntax coloring scheme, font, and some other editor parameters can be changed from the Editor settings dialog ( locate under main menu Setting Editor...).

dlg_general (13K)

    

dlg_coloring (14K)

Hot Keys

Code editing becomes much more productive when using editor hot keys (combinations of keys that initiate various editor commands). SourceBoost IDE supports most of the standard, as well as some unique, editor hot keys. Some of them are listed below:

Ctrl+Ins Copy
Shift+Ins Paste
Tab Shifts current line or selection n symbols right
Shift+Tab Shifts current line or selection n symbols left
Ctrl+F Opens Find dialog
Ctrl+H Opens Replace dialog
Ctrl+G Opens Goto line dialog
Ctrl+Z Undo
Ctrl+Y Redo
Ctrl+Space Autocomplete
Ctrl+Shift+L Remove line under cursor
Ctrl+Shift+R Record a macro
Ctrl+Shift+P Play the last recorded macro
Ctrl+] Move caret to the matching brace
Ctrl+Shift+G Move caret to the last change position
Ctrl+Mouse Wheel Change font size in the active window
F3 Find next
Shift+F3 Find previous

Autocompletion

Autocompletion is an editor mode which displays a list of possible symbols for a partially typed symbol. 
To activate the autocompletion mode press Ctrl+Space. SourceBoost IDE will then scan its symbol browse database and display a list of symbols that match a partially typed symbol.

autocomplete (4K)

Function Prototype Hits

If a function with an existing prototype in a header file is being edited, a tooltip will show this function prototype with the current parameter highlighted :

proto_tooltip (4K)

tip (1K) Make sure that header files are added to the project.

File Under Cursor

If there is a file name under the cursor, the right click menu will show an item to open this file in the editor.

tip (1K) This may be handy when opening a file from an #include directive.

Matching Brace

When the caret is positioned right before a brace, this brace pair gets highlighted. Pressing Ctrl+] moves the caret to the matching brace.

Source/Header Switch

If one of the source/header file pairs is edited, the right click menu will show the item Swap source/header to open this file pair.

Bookmarks

To quickly navigate between different parts of a big file bookmarks can be used. Press Ctrl+F2 to set a bookmark on the current line. To jump to the next bookmark press F2, and to jump to the previous bookmark press Shift+F2.

bookmarks (5K)

Folding

The Folding command collapses portions of the code to improve overall readability. The picture shows the rc232.c sample code with all functions except printf collapsed. Folding can be enabled or disabled in the Editor Settings dialog.

folding (8K)
tip (1K) Clicking on the folding margin with Ctrl and Shift keys pressed expands or collapses all folding points.
tip (1K) Folding works only in high level language sources like C, C++ or Pascal. It will not work in assembler or text files.

Right Click Menu Goodies

The right click menu of the source window contains many useful items that make your life easier:

rclickmenu (2K)

Beside the standard operations like Copy and Paste, this menu allows:

tip (1K) If right click menu is called when the Ctrl button is pressed, the menu will display functions (for C or C++ file) and labels (for ASM file).

Building a Project

SourceBoost IDE can work with different toolchains. The BoostC C compiler, BoostC++ C++ compiler and BoostBasic Basic compiler compile code directly into a .HEX file and don't need any external tools. The C2C-plus or C2C++ compilers compile C or C++ code into assembly language, and the P2C-plus compiler compiles Pascal code into assembly language. Then this assembly language file needs to be assembled into data (usually this is a .HEX file) that can be programmed into a target. Because SourceBoost IDE doesn't include an assembler, an external one is required. Starting from version 5.3, SourceBoost IDE also supports PICC Lite compiler from HI-TECH Software
For the PIC target, recommended assemblers are MPASM that is a part of MPLAB from Microchip and GPASM that is a part of GPUTILS
SourceBoost IDE  does not include a device programming application either. There is no recommended programmer software since almost all those available on the market can be used. The only requirement for the external programming application is the ability to open an input file passed from a command line parameter. A similar requirement exists for an external simulator.

tip (1K) Don't confuse an external simulator with the SourceBoost IDE's built-in debugger and simulator.

Build

Build performs multiple operations from one action. This allows the compile, assemble, program, and simulate commands to be executed sequentially from one click of the build button. Only the operations checked in the Build dialog will be performed.

dlg_build (3K)

Staring from the version 5.2.2, SourceBoost IDE uses make to build a project. When the user issues a build command, SourceBoost IDE creates a makefile that contains rules enabled in the Build dialog, and then calls make. Make then compares the time stamp of the input and output files for each rule, and calls an action associated with a rule only if input files are newer than output files. Thus if a project was already compiled and its sources weren't changed, the build command will not compile it again.

tip (1K) Sometimes it's useful to rebuild the whole project even if some project files don't need to be processed. To force a full project build use the hot keys Ctrl+F7 or Ctrl+build command. 
tip (1K) The Simulate option here will invoke an external simulator, not the SourceBoost IDE debugger and simulator. 
The SourceBoost IDE debugger and simulator are invoked by pressing the debug button on the tool bar
tip (1K) Starting from SourceBoost IDE version 6.86 it's possible to execute custom scripts before build is started and after a successful build. When build command is issued SourceBoost IDE looks in the project directory for a file called prebuild.bat and if found executes it. At the end of a successful build SourceBoost IDE looks in the project directory for a file called postbuild.bat and if found executes it. It's up to a developer to create and manage those files. 

Compile

Compilation converts C or C++ code into an assembly file. The structure of the generated assembly code depends on the compile and optimization options. 
The default options will work for virtually any project, but sometimes it may be useful to change the settings based on the project needs:

options_compile (6K) options_optim (5K)

Assemble

This command starts an external assembler using a command line specified in the Options dialog.

options_tools_c2c (6K)  The C2C-plus, C2C++, and P2C-plus language toolsuites need an external assembler to convert the assembly file that these compilers generate into a hex file suitable to upload to a target. The most commonly used external Assembler is MPLAB's MPASM. Assuming it is installed in the default location, the command line options required for that assembler are:

 C:\PROGRA~1\MPLAB\MPASMWIN.EXE /aINHX8M /p%target% /rHEX /w2 /q

tip (1K) Don't forget to add double quotes around the assembler executable if the path to this executable contains spaces. For example:

"C:\Program Files\MPLAB.6.30\MCHIP_Tools\MPASMwin.EXE" /aINHX8M /p%target% /rHEX /w2 /q
 

Program

This command invokes an external programmer application using a command line specified in the Options dialog.

tip (1K) The exact programmer command line depends on the programmer software you use. Here are some sample command lines:

JDM programmer:
C:\DOCUME~1\Yod\Desktop\winpic\WinPic.exe /p / device=%target% /q

pp06 programmer:
ppwin -! -hw 6 -lax

IC-Prog programmer:
C:\Pic\PROGRA~1\icprog.exe -l%name%.hex -f3F32 -p -q -i -v

sxtips or sxdev programmer:
"C:\Program Files\SourceBoost\SXTIPS\SX_TIPS.EXE" 2 P.EXE
or
sx_tips.exe \2\p

PBrenner 3.2u programmer:
"c:\programme\pbrenner\PBrenner32u.exe" /P%shorttarget% /F%name%.hex /A

Quasar Electronics All Flash USB programmer:
Micropro.exe %name% %target% /f /Q

Picall programmer:
C:\PICALL\PICALLW.EXE %name%.hex -e -p -v -x -d%target%

You may need to change the path to the programmer software. Don't forget to add double quotes around the programmer executable if the name or path to this executable contains spaces! 

Simulate

This command starts an external simulator application using a command line specified in the Options dialog. The simulate command is not in any way related to the internal ide simulator that is used when code is being debugged.

Printing and Print Preview

SourceBoost IDE features document printing accessible from the File menu:

menu_print (1K)

A printed document can have user-defined header and footer, and fully customized margins:

dlg_pagesetup (7K)

Debug Mode

SourceBoost IDE has a built-in source and assembler level debugger and clock-accurate simulator. Stepping depends on the active toolsuite. The BoostC, BoostC++ and BoostBasic toolsuites support source level debugging. The PICC Lite toolsuite also supports source level stepping. The C2C-plus, C2C++, and P2C-plus toolsuites support assembly level stepping only.

A debug session is started by pressing the Debug button - See Tool Bar. This command starts the built-in debugger and simulator, loads the project .HEX file, resets the target, and loads the Debug mode window layout.

A debug session can also be started and stopped using hot keys:

F5 Start debug session and execute the program
F10 or F11 or F12 Start debug session but don't execute the program.
Shift+F5 Stop execution and exit debug session

tip (1K) A debug session can be started only if the current project has been compiled and assembled.

Execution line

The execution line shows the position, in both source and code windows, that corresponds to the current PC (program counter). It is highlighted green:

window_debug (6K)

Debug Bar

debugbar (1K)

The Debug bar is shown when SourceBoost IDE is in Debug mode. The buttons on the Debug bar are mapped to various debug commands:

btn_stepover (1K) Step Over The Step Over commands executes the current instruction. If the current instruction is a call instruction, the debugger doesn't step into this call but waits until the execution returns from this call.
btn_stepinto (1K) Step Into The Step Into commands executes the current instruction.
btn_stepout (1K) Step Out The Step Out command executes instructions until a return from a call instruction gets executed.
btn_stepback (1K) Step Back The Step Back command returns the target to the state when it was stopped the previous time.
tip (1K) This command is unique to SourceBoost IDE; most other debuggers don't have it.
btn_run (1K) Run The Run command continues execution.
btn_stop (1K) Stop The Stop command stops execution. This command is active only when the target is running.
btn_reset (1K) Reset The Reset command resets the target.
btn_profile (1K) Profile The Profile command activates target profiling.
tip (1K) Make sure that the Profile window is open.
btn_snapshot (1K) Snapshot The Snapshot command updates the Register, Memory, Stack and Watch windows. This command is active only in debug mode.

Debug Hot Keys

Debug hot keys make debugging more efficient. Some of these hot keys duplicate the functionality of the buttons on the Debug Bar and some are unique:

F5 Continue code execution
Ctrl+F5 Run code to the cursor (or the first breakpoint)
Shift+F5 Exit debug mode
F10 Step Over
Ctrl+F10 Step Over on assembly level
F11 Step Into
Ctrl+F11 Step Into on assembly level
Shift+F11 Step Out
F12 Step Back

Breakpoints

A breakpoint can be added at any line of an .asm file that contains an assembly language instruction.
Move the cursor to the line where a breakpoint is required, and press the breakpoint button on the tool bar or press the F9 key.

Use the View menu or press Ctrl+B to open the Breakpoints dialog to see a list of existing breakpoints:

dlg_breakpoints (5K)

tip (1K) Double click on a breakpoint in the breakpoint list to jump to the line in the source file where this breakpoint is set.

 

Watchpoints

A watchpoint allows the execution of the program to be halted when a register changes in value. Watchpoints for registers can be set through either the Register window or the Memory window.

 

Symbol Value Hover

To quickly check the value of a symbol hold the mouse pointer over this symbol for more than 1.5 seconds. The symbol value will be shown in a tooltip near this symbol:

value_tooltip (4K)

 

Plugin System

SourceBoost IDE features an extendable plugin system where each plugin emulates a physical device connected to the target. The standard SourceBoost IDE installation includes the following plugins:

plugin_led (1K) Single LED
plugin_led8 (1K) Block of 8 LEDs
plugin_btn (1K) Single button
plugin_btn8 (2K) Block of 8 buttons
plugin_bcd (2K) 7 segment and 12 segment Display with decoding 
speed (5K) Speed Tester plugin to measure code execution speed 
Digital Volt Meter
Signal generator
Logic Analyzer
I2C EEprom
Stop Watch
LCD Display
Analog Voltage Source
Part of SourceBoost IDE Extra plugins package ( http://www.sourceboost.com/Products/Products.html)

Every plugin is connected to a target port, and when the target is running each plugin changes its state based on the changes of the port it is connected to. The port value can also be changed by a plugin (for example the button plugin changes the value of the pin it is connected to).

To change the port a plugin is connected to, or plugin settings (i.e. colours), use the plugin right click menu that will display a plugin Configuration dialog:

dlg_plugin (3K)

Some plugins depend on the simulation clock rate that can be changed in the Clock Rate dialog accessible from the Settings Clock Rate... menu:

dlg_clock_rate (3K)

For more information and descriptions of additional plugins, refer to the Plugin System help file.

Appendix A: SourceBoost IDE Simulator features and limitations

The latest SourceBoost IDE PIC16 and PIC18 simulators now support simulation of the following special registers and hardware functions of PIC microcontrollers:

PIC16

Instruction Core - Including:

Interrupt Control - Including:

EEPROM - Full implementation, including:

A/D converter - only PIC16F877A and compatible types, ie PIC16C925, PIC16C926, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A. Other devices with A/D Convertor are not supported.
A/D Convertor Features:

Timer1 - 16 bit timer/counter, including:

Timer2 - 8 bit timer/counter, including:

CCP1 and CCP2 - Capture and Compare 1 and 2, including:

PortA - General purpose I/O port. Full I/O port implementation including:

PortB - General purpose I/O port. Full I/O port implementation including:

PortC - General purpose I/O port. Full I/O port implementation including:

PortD - General purpose I/O port. Full I/O port implementation

PortE - General purpose I/O port. Full I/O port implementation

PortF - General purpose I/O port. Full I/O port implementation

PortG - General purpose I/O port. Full I/O port implementation

Simulator Limitations

PIC18

Instruction Core - Including:

Interrupt Control - Including:

Timer0 - timer/counter, including:

PortA - General purpose I/O port. Full I/O port implementation including:

PortB - General purpose I/O port. Full I/O port implementation including:

PortC - General purpose I/O port. Full I/O port implementation

PortD - General purpose I/O port. Full I/O port implementation

PortE - General purpose I/O port. Full I/O port implementation

PortF - General purpose I/O port. Full I/O port implementation

PortG - General purpose I/O port. Full I/O port implementation

Simulator Limitations

Appendix B: Toolsuite API

SourceBoost IDE was designed to be independent from the toolsuites it uses as much as possible. Each such toolsuite consists of a DLL with a well defined API. Though this API is not publicly available, we are open for cooperation should you decide to integrate your toolsuite into SourceBoost IDE.

Appendix C: Debugger and Simulator API

In the SourceBoost IDE package the ide, debugger, and simulator are logically and physically separated and communicate with each other through well defined APIs. Such separation makes the whole system extremely flexible for future extensions. For example, adding ICD support to SourceBoost IDE will only require replacing the simulator DLL with another DLL that implements simulator API from one side and talks to ICD hardware from another; the ide and debugger would be unchanged. Another example is the integration of the gnu toolchain (gcc, gdb, etc.) into SourceBoost IDE. This will require replacing the debugger DLL with a DLL that talks to gdb and writing a toolsuite DLL that will manage the gcc compiler. Though these APIs are not publicly available, we are open for cooperation should you decide to integrate your tools into SourceBoost IDE.

Appendix D: SourceBoost IDE setup for PICC Lite compiler

PICC Lite is a freeware C compiler from HI-TECH Software that supports the 16F877, 16F877A, 12F675, 12F629, 16F627, 16C84, 16F84, and 16F84A devices. The PICC Lite compiler can be downloaded from http://www.htsoft.com/products/piclite/. Its installation is also available from many other places.

The SourceBoost IDE installation includes a sample project for PICC Lite compiler. The project is located in the Samples\Picc.Lite sub-directory in the directory where SourceBoost IDE is installed (the default SourceBoost IDE installation directory is C:\Program Files\Picant). Go to the ProjectOpen... menu:

picclite_set_project (2K)

and navigate to the directory where SourceBoost IDE is installed and then to its Samples\Picc.Lite sub-directory:

picclite_project (6K). When the project is open verify that the PICC Lite toolsuite is selected. Go to the SettingsToolsuite... menu:

picclite_set_toolsuit (3K)

and select the Picc Lite Toolsuite:

picclite_toolsuit (4K)

Then make sure that IDE knows where to look for the PICC Lite compiler. Go to SettingsOptions... menu:

picclite_set_options (3K)

select the Tools page in the Picc Lite compiler options dialog and enter the full path to the PICC Lite compiler in the Compiler field:

picclite_options (7K)

That's it. Now you are ready to edit, build, and debug your project.

Appendix E: Older SourceBoost IDE releases

Prior to release 5.3, SourceBoost IDE was distributed under the name PicAnt IDE. Because the program was designed as a general purpose IDE that could work with various toolsuites, its name was changed to make it more general, reflect development performance gains, and to avoid associations with certain supported toolsuites.

Appendix F: SourceBoost IDE and other compilers and tools

The modular architecture of SourceBoost IDE allows relatively easy and fast customization to work with other compilers, debuggers, and simulators. We know how to do this and we are good in doing this. For more details send a mail to support@sourceboost.com with a short description of the kind of customization you are looking for.

Purchase Information

SourceBoost IDE, C2C-plus, C2C++ and P2C-plus compilers are distributed as shareware products with a trial period (usually 15 days) to try these applications. After the trial period expires only one target will remain supported. To unlock other targets a compiler license must be obtained.

Limited versions of the BoostC, BoostC++ and BoostBasic compilers can be used for non commercial purposes without any license. To remove limitations and to be able to use them in commercial projects relevant license must be obtained.

To order a license visit http://www.sourceboost.com or send an e-mail to support@sourceboost.com. After your payment is recieved an e-mail will be sent to you with a key and description how to unlock the product.

Legal Information

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

  THE AUTHOR RESERVES THE RIGHT TO REJECT ANY LICENSE (REGISTRATION) REQUEST WITHOUT EXPLAINING THE REASONS WHY SUCH REQUEST HAS BEEN REJECTED. IN CASE YOUR LICENSE (REGISTRATION) REQUEST GETS REJECTED YOU MUST STOP USING THE SourceBoost IDE, BoostC, BoostC++, BoostBasic, C2C-plus, C2C++ and P2C-plus COMPILERS AND REMOVE THE WHOLE SourceBoost IDE INSTALLATION FROM YOUR COMPUTER.


Microchip, PIC, and PICmicro are registered trademarks of Microchip Technology Inc.
Ubicom and SX are registered trademarks of Ubicom Inc.
HI-TECH and PICC Lite are registered trademarks of HI-TECH Software
Other trademarks and registered trademarks used in this document are the property of their respective owners

http://www.sourceboost.com
Copyright © 2003-2008 Pavel Baranov
Copyright © 2003-2008 David Hobday