BST - The multi-platform Propeller Tool Suite

The Parallax Propeller Tool is the gold standard of Propeller IDE's, but I wanted some extra features that were not available. (like running on a Non-Microsoft OS)

The Propeller Tool has a number of very useful features that bst does not yet replicate, and likewise bst has what I consider to be some useful features not available in other Propeller development environments.

So what does bst do that the Propeller tool does not?

  • The list file.
  • Have you ever wondered what is going on "Under the hood", so to speak? bst produces a comprehensive list file of all generated SPIN code giving you a human readable look into the bytecode and structures your code generates when compiled.

  • The serial terminal.
  • Do you write code that is easier to debug with access to a serial terminal? The connection state in the bst terminal is automatically managed such that you don't have to disconnect/reconnect when you download new code to the propeller. It's always ready to go in the background.
    The serial terminal also has a hex display option to enable you to really see what is coming in with no filtering or interpretation.

  • Compiler optimisation options.
  • The bst compiler has a number of optimisations built in to enhance SPIN interpretation speed (where possible), make smaller code and intelligently remove unused portions of the codebase. One of the advantages of the Propeller is the proliferation of "off-the-shelf" objects that you can simply plug and go.
    One of the downsides of simply bolting objects together is there are often parts of each object that are not used by your code. Traditionally thse are included in your resulting binary regardless. The unused code optimiser in bst looks at the code paths and leaves out methods that are never called, often resulting in significant size savings in generic objects.

  • Complete Project management.
  • The bst IDE allows you to save your workspace as a "project" file. This remembers all the code windows you have open, where your directory selectors are pointed, where each code window is scrolled to, which lines/methods are folded in the window, which propeller is assigned to each code tab.

    In addition, each project can have its own set of library search paths, compiler optimisation settings and pre-defined #defines stored in the project options configuration box.

    bst has an option to re-open the last active project when you start it up, so you can quite comfortably have the IDE open almost exactly how you had it before you closed it. This comes in handy when migrating projects between machines, provided the directory structure for your propeller projects remains the same.

  • Comprehensive error reporting.
  • The bst compiler produces comprehensive error reports, including warnings for common mistakes, information on unused and redundant objects and user defined reports from the code (#error/#warn/#info). Simply clicking on the error in the display box will take you directly to the object location of the error or warning.
    For those tight on memory and stack, bst will also make an "educated" guess about which variables (both local and global) are unused and inform you by compiler warning.

  • Management of multiple Propellers.
  • When developing projects that use more than one propeller, it is often handy to be able to connect them all up at once and download to them selectively as required. bst gives you the ability to assign each editor tab to a propeller such that when the F10/F11 keys are used the IDE properly downloads the compiled code to the desired processor. This information is saved in the project file and allows you to easily and seamlessly manage multiple propeller projects.





    All contents Copyright © Brad Campbell 2009 - Last updated 03/07/2009