Integrated Development Environment

Home products Downloads Support Where to Buy Contact

Revision History

The uM-FPU V3 IDE (Integrated Development Environment) provides a set of easy-to-use tools for developing applications using the uM-FPU V3 floating point coprocessor. The IDE runs on Windows XP, Vista, and Windows 7 and provides support for compiling, debugging, and programming the uM-FPU V3 floating point coprocessor.
(click on windows to see larger image) Function Window Debug Window Output Window Source Window

  • built-in code editor for entering symbol definitions and math expressions
  • compiler generates code customized to the selected microcontroller
  • pre-defined code generators included for most microcontrollers
  • target description files can be defined by the user for customized code generation
  • compiler code and assembler code can be mixed to support all uM-FPU V3 instructions
  • output code can be copied to the microcontroller program

  • Debugging
  • instruction tracing
  • contents of all FPU registers can be displayed in various formats
  • breakpoints and single-step executionv
  • conditional breakpoints using auto-step capability
  • symbol definitions from compiler used by instruction trace and register display
  • numeric conversion tool for 32-bit floating point and integer values

  • Programming Flash Memory
  • built-in programmer for storing user-defined functions in Flash memory
  • memory map display for Flash memory and EEPROM memory
  • graphic interface for setting parameter bytes stored in Flash
  • support for setting alternate clock speeds

  • Software
    uM-FPU V3 IDE release 332
    Installer for uM-FPU V3 IDE (Integrated Development Environment). Includes software and documentation.
    6.3 MB ZIP Mar 21, 2012
    Release Notes
    Release notes for uM-FPU V3 IDE release 332. 
    66 KB PDF Mar 21, 2012

    uM-FPU V3 IDE User Manual
    Documentation for using the uM-FPU V3 IDE. Includes tutorials and reference guides. 
    1.8 MB PDF Dec 19, 2011
    uM-FPU V3 IDE Compiler
    Documentation for using the uM-FPU V3 IDE compiler. 
    608 KB PDF Dec 19, 2011

    Revision History
    Release 332 - Mar 21, 2012
  • Removed LEFT/RIGHT instructions that were automatically added to functions that return values.

  • Bug Fixes
  • floating point constants were generating incorrect code in compiler
  • fixed problem with incorrect optimization of reg=reg expressions
  • fixed code generation for INV(Š) function in compiler
  • fixed syntax error if blank line follows SELECT control statement in compiler
  • Release 331 - Dec 19, 2011
    New Features
  • added support for manually typing debug commands in the Serial I/O window.
  • system target files are now installed with the IDE software
  • system target files are loaded from the following folder:
       ~\Program Files\Micromega\uM-FPU V3 IDE rxxx\Target Files
       (where rxxx is the IDE software revision number)
  • user target files are now loaded from the following folder:
       My Documents\Micromega\Target Files
  • added procedure call for DEVIO using same symbols as #ASM

  • Changes
  • when Find or Replace menu item is selected, the focus moves to the Find field
  • Tools>Add Target FolderŠ menu item has been removed
  • Tools>Add Target FileŠ menu item has been removed
  • Tools>Remove Target File menu item has been removed
  • optimized the code generated for many common expressions
  • in #ASM, added name of label to undefined label error message
  • added support for DWRITE and DREAD

  • Bug Fixes
  • in #ASM, LWRITE0, LWRITE, LWRITEA, and #LONG where not accepting negative numbers
  • in #ASM, strings were not being handled properly for SEROUT,1 and SEROUT,5
  • float variables were generating code for writeLong instead of writeFloatv
  • corrected definition of INC symbol for SETIND instruction
  • archive of uM-FPU V3 IDE release 331 ZIP
  • Release 330 beta 1 - Aug 10, 2010
    New Features
  • new compiler
  • expanded list of basic operators
  •    + Addition
       - Subtraction
       * Multiplication
       / Division
       % Modulo
       ** Power
       | Bitwise-OR
       ^ Bitwise-XOR
       & Bitwise-AND
       << Shift left
       >> Shift right
       ~ Ones complement
       + Unary plus
       - Unary minus
  • operator precedence
  •   ~   +   -
      *   /   %
      +   -
      <<   >>
  • Control statements
  •    IF...THEN...ELSE
  • User-defined functions can have up to nine parameters
  • User-defined functions can return a value
  • User-defined functions can be included in math expressions
  • Expanded set of functions and procedures
       Math Functions
       ADC Functions
       Serial Input/Output
       String Functions
       Timer Functions
       Matrix Functions
       EEPROM Functions
       External Input / Output
       Miscellaneous Functions
       Debug Functions
  • Release 328 - May 5, 2010
  • updated documentation with table of contents
  • added icon to IDE application
  • added support for double-click on .fpu documents to open application
  • added support for drag and drop of .fpu documents to shortcut
  • installer associates .fpu files with uM-FPU V3 IDE application
  • an asterisk is appended to the file name in the window tab if changes have been made and not saved
  • added Comment/Uncomment menu item added to File menu to comment/uncomment a block of source lines
  • when a file is opened, the window is now positioned to the start of the file.
  • fixed problem with JMP instruction that could occur when more than 255 symbols were defined.
  • fixed code for special characters in strings for Basic Stamp, PICAXE, Pic Basic Pro
  • fixed a problem with fpu_wait instructions being incorrectly added in the middle of the EEWRITE instruction by #EEFUNCTION
  • fpu_wait is now inserted before and after EEWRITE instruction generated by #EEFUNCTION
  • added check to ensure that EEPROM functions are restricted to 252 instruction bytes (including RET at end of function)
  • fixed @function_name and @n function calls
  • fixed incorrect syntax error message that occurred in functions with multiple arguments and nested parenthesis
  • moved Javelin code generation to target description file
  • fixed Javelin code generated for floating point input variables
  • fixed Javelin code generated for #Print_String
  • moved SX/B code generation to target description file
  • fixed SX/B code generation to add missing Fpu_StartWrite calls
  • fixed SX/B code generated for #Print_FpuString
  • moved ARMbasic 6 code generation to target description file
  • last write statement now occurs before #endasm comment
  • target description fIle BYTE_DEFINITION command can have as argument to suppress definitions
  • target description fIle LONG_DEFINITION command can have as argument to suppress definitions
  • target description fIle FLOAT_DEFINITION command can have as argument to suppress definitions
  • fixed auto-insertion of fpu_wait between every 256 instruction bytes for all targets
  • at least one space or tab is always output for {tn} tab parameter
  • fixed check for error message if function already defined
  • enable Remove Source button in Output Window after compile and disable after used
  • Read Registers button and menu item now update string display
  • string display fixed to handle non-printable characters
  • MOP operation code now displayed in trace
  • string display cleared on reset
  • instructions with a string argument now show the zero-terminator in trace
  • SETOUT now displays command byte as hexadecimal value in trace
  • LREADBYTE now displays decimal value in trace
  • Auto-Step string condition checks existing string when Step button is pressed
  • changed dialog title and status line for Show Flash Memory dialog
  • fixed error message if function data exceeds function memory
  • fixed display of last row of data in Show Flash Memory dialog
  • set initial folder for Add Target File... dialog to Target Folder in the application directory
  • changed menu item from Show 32-bit Number Converter to Show Number Converter
  • added Set Clock Speed... dialog to set the clock speed of uM-FPU V3.1 chip
  • changed order of decimal and hexadecimal buttons in Number Converter
  • the Match case option was fixed for find and replace
  • in Find Dialog search conditions are now changed to From cursor after a successful find
  • the Find menu items and dialog are only active for Source File Window
  • load Find field with current text selection if length is 1 to 20 characters
  • when Find/Replace menu item used, leave input window active to show current selection
  • added menu item to display uM-FPU V3 IDE User Manual document
  • added menu item to display uM-FPU V3.1 Instruction Set document
  • added menu item to display uM-FPU V3.1 Datasheet document
  • added link to Micromega Website
  • added link in Application Notes
  • added live link to website in About Window
  • added OK button to About Window
  • archive of uM-FPU V3 IDE release 328 ZIP
  • Release 2 beta 6 - Jun 27, 2008
  • added symbol names for registers and functions to Debug trace
  • implemented Find and Replace for Input panel
  • added Auto Step capability
  • added Auto Step Conditions (conditional breakpoints)
  • added #EEFUNCTION and EEFUNC to define EEPROM functions
  • added EEPROM memory map
  • Debug panel is activated on {BREAK}
  • changed name of Trace window to Serial I/O
  • added line wrap (at 80 characters) to Serial I/O window
  • restricted the size of the debug and trace display buffers
  • improved the display processing for debug trace
  • increased the row width in register display
  • added Compiling... message to status
  • added keyboard equivalents for Go/Stop/Step/Auto Step
  • added clear button to register display and trace window
  • changed FUNC % to allocate upwards from last function defined
  • added Remove Source button to Output window
  • changed memory function error to display number of bytes over limit
  • fixed display of infinity in debug registers
  • fixed hang when debug disabled in set parameters and SPI mode
  • fixed bug if first file in recent files list no longer exists
  • Release 2 beta 5 - Dec 11, 2007
  • added 32-bit Hex/Float/Decimal numeric conversion tool
  • added File/Open Recent command with submenu of 10 most recent files
  • File/Open dialog now defaults to the Folder containing the most recent file
  • moved string display to debug window
  • added status byte display to debug window
  • switch to input window on File/New and File/Open
  • clear previous debug symbols on File/New and File/Open
  • switch to output window when Compile button is pressed and compile has no errors
  • fixed bug in beta 4 that caused register expressions to be treated as constants
  • fixed #PRINT_xxx directives for all targets
  • fixed code generation problem with SEROUT, 1, "text"
  • added READ_FLOAT, WRITE_FLOAT, WRITE_FLOAT_FORMAT commands to target file
  • optimized the code generation for reg = reg and reg = constant
  • fixed value range check for LONGBYTE, LONGUBYTE instructions
  • fixed value range check for LONGWORD, LONGUWORD instructions
  • removed built-in PICmicro target, added target file for PIC MPASM
  • moved File/Copy Target File command to Tools/Add Target File
  • added Tools/Add Target Folder command
  • added Tools/Remove Target File command
  • Release 2 beta 4 - Oct 3, 2007
  • changed opcode prefix from F to F_ for PicBasic Pro reserved words
  • fixed assembler instructions to allow register names where applicable
  • Release 2 beta 3- Aug 23, 2007
  • changed TAB_LENGTH to TAB_SPACE in target description file
  • if TAB_SPACE is positive, then only space characters are used
  • if TAB_SPACE is negative, then tab and space characters are used
  • default settings for string window added to preferences file
  • tab support added to all lines in the target description file
  • additional error checking added for target description files
  • Release 2 (beta 2) - Aug 13, 2007
  • fixed COPYI assembler
  • added FCNV function
  • Release 2 (beta 1) - Jul 10, 2007
  • added code generator for user-defined target description files
  • added Show String Buffer command to Debug menu
  • changed preferences to create/use ~\Application Data\Micromega folder
  • moved trace file to ~\Application Data\Micromega folder
  • fixed temporary file code to handle multiple copies
  • changed temportary file name
  • fixed title on New/Stored Function code boxes
  • added #PRINT_STRING
  • fixed handling of blank source lines
  • Release 1.3 - Jun 1, 2007
  • added support for new uM-FPU V3.1 opcodes and MOP operations
  • fixed code for expressions with output variable
  • added ARMbasic support
  • fixed problem with second argument of two argument functions
  • changed target name uM-FPU Functions to uM-FPU Assembler
  • added Auto_Start options to Set Parameters dialog (for uM-FPU V3.1)
  • fixed maximum size of function code (2044 bytes)
  • Memory Map dialog window can now be expanded
  • added code to load port list
  • added optional trace code
  • added names for MOP operation codes to assembler
  • added support for mix of bytes and strings for assembler string instructions
  • added support for non-printing characters in strings: hex \00 to \1F, \" and \\
  • assembler now recognizes register and constant keywords
  • instruction trace displays a colon before return values (instead of comma)
  • Release 1.2 - Nov 2, 2006
  • supported targets: uM-FPU, BASIC Stamp, Javelin, SX/B, PICAXE, PicBasic Pro, PICmicro
  • fixed code generation for FCALL, FNEG, LNEG
  • added code generation for SX microcontrollers using SX/B
  • added code generation for PICmicro
  • fixed problem with PICAXE negative byte values
  • fixed problem with Javelin variable definitions
  • improved code generation for register 0 assignments
  • improved code generation for variable assignments
  • Release 1.1 - Oct 19, 2006
  • supported targets: uM-FPU, BASIC Stamp, Javelin, PICAXE, PicBasic Pro
  • fixed several issues related to display of temporary registers
  • added support for FFT opcode
  • fixed problem with long constants and long immediate values
  • added error check for variables inside functions
  • other targets still in development or testing
  • Release 1.0 - Aug 25, 2006
  • supported targets: uM-FPU, BASIC Stamp, Javelin, PicBasic Pro

  • Return to Top