Logo

 uM-FPU64 IDE
 Integrated Development Environment

Home products Downloads Support Where to Buy Contact
uM-FPU64 IDE

Software
Documentation
Revision History
  

uM-FPU64 IDE

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

Compiling
  • 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-FPU64 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 and 64-bit floating point and integer values

  • Programming Flash Memory
  • built-in programmer for storing user-defined functions in Flash memory
  • graphic interface for setting parameter bytes stored in Flash

  • Software
    uM-FPU64 IDE release 407
    Installer for uM-FPU64 IDE (Integrated Development Environment). Includes software and documentation.
    8.9. MB ZIP Apr 18 2013
    Release Notes
    Release notes for uM-FPU64 IDE release 407. 
    159 KB PDF Apr 18, 2013

    Documentation
    uM-FPU64 IDE User Manual
    Documentation for using the uM-FPU64 IDE. Includes tutorials and reference guides. 
    4.1 MB PDF Apr 18, 2013
    uM-FPU64 IDE Compiler
    Documentation for using the uM-FPU64 IDE compiler. 
    846 KB PDF Apr 18, 2013

    Revision History
    Release 407 - Apr 18, 2013
    Changes to IDE Interface
  • Interactive Compiler window added to the Tools menu. Used for writing compiled instructions to the FPU instruction buffer.
  • Debug> Reset menu item added to allow the FPU to be reset from the IDE.

  • Changes to Compiler
  • rtc(NUM_TO_DATE, register) procedure converts date/time number to values in consecutive registers
  • rtc(DATE_TO_NUM, register,...) function procedure converts values in consecutive registers to date/time number
  • rtc(NUM_TO_STR,...) and rtc(STR_TO_NUM,...) functions now has options to convert date, time, or date/time
  • rtc functions and procedures updated to use new date/time number format (see RTC instruction for more information)
  • timelong() function now returns milliseconds if a 32-bit register is selected, or microseconds if a 64-bit register is selected
  • devio(I2C, START_WRITE,...) function now allows a long expression for the device ID
  • devio(I2C, START_READ,...) function added to support multiple reads as a single I2C transaction
  • devio(LCD,...) functions always set the RS pin prior to use. This allows the pin to be shared.
  • added FLOAT32, LONG32, ULONG32 as valid parameter types for functions
  • added #ide_required directive to specify the IDE software version required by the source code
  • added #firmware_required directive to specify the uM-FPU firmware version required by the source code
  • version procedure stores uM-FPU64 version string in string buffer, and version number in register 0

  • Bug Fixes
  • fixed problem with pointer array code generation.
  • fixed problem in RAM Display Window with certain signed values.
  • fixed problem causing hang if function parameter type is unknown.
  • Release 406 (c) - Mar 6, 2013
    New Features
  • LU decomposition operations
  • Cholesky decomposition operations
  • tab processing has been added to the source window
  • tabs are automatically converted to spaces
  • strings can now contain the following special characters: \r, \n, \t, \v
  • expanded assembler data directives to include the following:
       #byte, #word, #long, #long32, #long64, #float, #float32, #double, #float64
  • assembler data directives now accept multiple comma-separated values
  • auto-indent has been added to the source window
  • most recent file is now opened automatically at start-up
  • a Program button has been added to the source window
  • the Program button and menu item compiles the source code before programming Flash memory
  • Matrix Display Window has been added

  • Changes
  • changed RAM Window, Number Converter, SEROUT and SERIN window properties
  • Improved the update speed for RAM Window
  • the status bar in the main window now shows a programming status message
  • the Program Status dialog now exits automatically if programming is successful
  • changed clear screen character for SEROUT windows to vertical tab (0x0B, \v)
  • added total function size in bytes to Function window and removed 'bytes' suffix on each row
  • allow pointer for address register in DEVIO,WRITE_MEMR and DEVIO,READ_MEMR instructions
  • improved code optimization for register arrays
  • built-in target definitions replaced by target definition files
  • added IDE symbols IDE1, IDE2, IDE3 for SEROUT debug mode data channels
  • added SLOW as IDE symbol for DEVIO,I2C speed of 100 kHz
  • added START_READ as new action for DEVIO,I2C (available in next firmware release)

  • Bug Fixes
  • fixed code generation for % (mod), & (and), | (or), ^ (xor) operators in certain 64-bit calculations
  • fixed SERIAL functions WRITE_FLOAT, WRITE_LONG, WRITE_CHAR, and READ_CHAR operations to support extra devices
  • fixed LTOA to generate expression code before opcode
  • fixed code generation for 32-bit constant comparison preceded by a 64-bit expression
  • fixed error message for invalid MOP operations
  • fixed code generation for STRSEL and STRFIELD functions with indirect values
  • fixed problem that caused an exception if a file in the recent file menu could not be found
  • IF statements that used expressions could branch to the wrong case.
  • Fixed problems with displaying the cursor and breakpoints after expanding and collapsing assembler code
  • Fixed a problem with FCALL trace being repeated when single stepping into a function with source level debugging enabled
  • fixed problem with cursor disappearing inside an expanded source line when the source line was collapsed
  • fixed problem causing Program Status dialog to sometimes be hidden behind the main window
  • reimplemented the Program Status dialog to improve progress display
  • fixed problems with code generation for 64-bit arrays
  • fixed problem with code optimizer if same matrix element is on left and right side of equation
  • fixed problem with 64-bit constant expressions
  • fixed update of function list after programming or clearing Flash memory
  • Archived Installer: uM-FPU64 IDE r406 ZIP
  • Archived Documentation: uM-FPU64 IDE r406 ZIP
  • Release 405 - Sep 25, 2012
    Changes
  • fixed code generation for SELECTMA when row is a register.
  • fixed display of background string selection.
  • Release 404 - Sep 4, 2012
    New Features
  • source code and compiled code displayed in debug window
  • hardware breakpoints
  • single step by compiler statements or assembler instructions
  • can step into functions, over functions, and out of functions
  • added SERIN data input window with support for character mode and NMEA input
  • added SEROUT data output window with support for: text output, terminal emulation, table and graph display
  • new actions added to SERIAL procedure: WRITE_FLOAT, WRITE_LONG, WRITE_COMMA, WRITE_CRLF
  • Flash memory size increased to 4096 bytes
  • support for 32-bit and 64-bit function arguments and return values
  • Register display format can be changed for multiple registers
  • version string is read and displayed when first connected
  • added firmware version check
  • PICAXE target now uses target description file
  • modified code generation for PICAXE to support additional registers
  • changed SELECTMA, SELECTMB, SELECTMC to allow register arguments
  • changed LOADMA, LOADMB, LOADMC to allow register arguments
  • changed SAVEMA, SAVEMB, SAVEMC to allow register arguments
  • added pointer support to SELECTMA, SELECTMB, SELECTMC
  • added support for register arrays
  • added support for pointers and pointer arrays
  • added support for register X expressions
  • added support for indirect register expressions
  • added support for using register arrays to select matrices
  • new compiler functions and procedures: COPYIND, DIGIO, EVENT, RTC, SELECTA, SELECTX, SETIND
  • added register array names to debug register display
  • added pointer format to debug register display

  • Changes
  • fixed code generation for function arguments and return values when register A is a different size (32-bit/64-bit).
  • debug buttons changed from text to icons
  • fixed the display of unformatted floating point numbers with trailing nines in fraction
  • fixed some code generation problems with conditional expressions
  • optimized code generation for conditional instructions
  • fixed problem with PJMP code generation
  • changed DELAY to allow expression
  • optimized the debug trace screen updates
  • added new symbols for DEVIO,COUNTER
  • fixed LTOA procedure to accept negative formats
  • fixed code generation for STRSEL and STRINC
  • fixed problem with #ASM instructions: FWRITE,reg and LWRITE,reg
  • fixed code generation for SAVEMA, SAVEMB, SAVEMC procedures
  • fixed floating point numbers to always display at least one digit to left of decimal point
  • revised code generation for user defined functions to use new SETARGS/FCALL/RET capabilities provided by uM-FPU64 r402
  • removed LEFT/RIGHT instructions that were automatically added to functions that return values.
  • added firmware folder to IDE installation.
  • re-implemented firmware loader code to prevent the progress indicator from freezing during the firmware update
  • fixed EXTSET, STRBYTE, TIMESET code generation
  • fixed code generation for 64-bit constants
  • changed the name of some of the SERIAL actions to be consistent with the SERIN and SEROUT instructions
  • WRITE_TEXT changed to WRITE_STR
  • WRITE_TEXTZ changed to WRITE_STRZ
  • WRITE_STRBUF changed to WRITE_SBUF
  • WRITE_STRSEL changed to WRITE_SSEL
  • DISABLE_INPUT changed to DISABLE
  • Show RAM Window moved from Tools menu to Window menu
  • source line is suppressed in the output when in #ASM mode
  • Release 403 - Mar 21, 2012
    New Features
  • DELAY(n) procedure added, where n is a constant value from 0 to 65535 specifying the delay in milliseconds

  • Changes
  • code generation for instructions that require a wait was generating an error
  • DEVIO(...) function calls with word arguments not compiling properly
  • DEVIO(VDRIVE2, Š) actions for NEW_FILE and READ_FILE were reversed in compiler
  • floating point constants were generating incorrect code in compiler
  • some large 64-bit hex and decimal numbers not converted properly by Number Converter
  • some large 64-bit hex and decimal numbers not converted properly in Register display
  • some large 64-bit hex and decimal numbers not converted properly in Trace display
  • some large 64-bit hex and decimal numbers not generating proper code in compiler
  • fixed trace for LBIT, RDIND, WRIND instructions
  • 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
  • fixed assembler errors if Region and Language was set for comma decimal separator
  • Release 402 - 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
  • 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
  • Release 401b4 - Dec 19, 2011
  • initial release for uM-FPU64

  • Return to Top