|
|
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.
|
|
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 411
Installer for uM-FPU64 IDE (Integrated Development Environment). Includes software and documentation.
|
|
10.6 MB |
|
Aug 13, 2014 |
Release Notes
Release notes for uM-FPU64 IDE release 411.
|
|
453 KB |
|
Aug 13, 2014 |
|
|
Documentation |
uM-FPU64 IDE User Manual
Documentation for using the uM-FPU64 IDE. Includes tutorials and reference guides.
|
|
4.2 MB |
|
Aug 13, 2014 |
|
|
|
Revision History |
|
Release 411 - Aug 13, 2014 |
Changes to IDE Interface
new RAM Display Window
fixed problem with spurious horizontal scroll bar in Matrix Window
fixed Matrix Window Update button to update both register values and memoryv
clicking in the upper left corner of the Number Converter, Interactive Compiler, SERIN, SEROUT, Flash, RAM, or Matrix windows will cause the main IDE window to be displayed immediately behind the current window.
Update Target File... button added to Output Window
fixed problem with displaying {DEBUG ON}, {DEBUG OFF} messages
added trace messages for FPU {ERROR:xxxx} messages
Changes to Compiler
added definitions for DEVIO,SDFAT
comments included on the FPU source line for register definitions, variable definitions,
and function definitions are now included in the target code generated.
added devio(FIFOn, ALLOC_MEM, size) function
added support for devio(FIFOn, ALLOC_MEMR, regSize) functionv
added #DEVICE device_file{,device_name} directive
removed support for devio(VDRIVE2,...) functions
added #TARGET_OPTIONS, PROPELLER directive
added #TARGET_CODE link_ID directive
fixed target code generation for assigning 64-bit float constants to a register
| |
Release 410 - Jan 16, 2014 |
Changes to IDE Interface
Serial Output window: added Setup Options... button at the top of window
Serial Output window: centered Serial Setup Options... window
Serial Output window: a cursor has been added to the graphic display which shows the currently selected row in the column display
Serial Output window: left and right arrow keys can be used to move cursor in graphic display
Serial Output window: fixed problem with graph x axis label being offset by one
Serial Output window: double clicking in graphic display will resize the x axis
Serial Output window: the pen size is adjusted to one for graphs with large amounts of data
Serial Output window: revised the colors for the graph lines
Serial Output window: added support for column headings
Serial Output window: individual columns can be disabled from displaying in graph
Serial Output window: button names were changed
Serial Input window: button names were changed
added support for storing XOP code in Flash memory
added support for displaying XOP code in Windows> Show Flash Memory
Interactive Window: added Import and Save buttons
Changes to Compiler
Interactive Compiler: added support for pointers and array variables on left side of equations
added support for #XOP directive
added support for XOP calls
fixed problem with setting data type for untyped functions (e.g. ABS, MOD, MIN, MAX)
fixed LTOA, FTOA, serial(WRITE_LONG,...), serial(WRITE_FLOAT,...) to support 64-bit expressions
added support for pointers as arguments to user functions
added support for local register and pointer definitions for functions arguments
Archived Installer: uM-FPU64 IDE r410
Archived Documentation: uM-FPU64 IDE r410
| |
Release 409 - Oct 1, 2013 |
Changes to IDE Interface
if PICMODE is set by the target used in the last compile
PICMODE values will be displayed for FWRITE and FREAD instructions in the debug trace
changed Flash programming to support new Flash format
new Flash memory display window
changed Functions>Read Stored Functions to Functions>Read Flash
changed Functions>Show Flash Memory... to Functions>Show Flash Window
changed Functions>Clear Functions to Functions>Clear Flash
changed Functions>Program Functions to Functions>Program Flash
Functions window: changed Read Stored Functions button to Read Functions
Functions window: changed Program Functions button to Program Flash
Functions window: added a splitter bar for resizing the New Function code display and the Stored Function code display
Set Parameters dialog: updated Restore Default Settings button to ensure settings are restored to the original uM-FPU64 default settings
added splitter between hex display and formatted display in RAM Display window
added Reset and Read Registers buttons to Interactive Compiler window
changed Functions>Program Flash to Functions>Program Flash Memory
changed Functions>Clear Flash to Functions>Clear Flash Memory
moved Functions>Show Flash Memory to Window>Show Flash Memory
the window position for all windows is saved in preferences file
windows snap to the left and right edges of the main window when moved to within 10 pixels of the main window edge
changed SEROUT window to allow up to eight columns in Table and Graph mode
Changes to Compiler
register.bit notation can now be use for setting and testing bits in registers
added READ_HIGH to DEVIO,SPI
PICMODE added to TARGET_OPTIONS in target description file
if PICMODE is set by the target, FWRITE constants will use PICMODE format
READ_HIGH option added to DEVIO,SPI configuration byte
return statement optimized if value already in register 0 or 128
return statements with an expression will now do type conversions
fixed code generation for certain register comparisons (e.g. reg < -reg)
fixed code generation when memory array value was set to zero
fixed check for Nested function only allowed as first parameter error
fixed check for Nested functions not allowed inside functions error
fixed expected , but found long data type error
fixed code generated for #DOUBLE and #FLOAT64 directives
fixed problem with code generation for certain memory pointers
fixed code generated for flookup() and llookup() functions
fixed code generated for comparing a 64-bit float with a constant
fixed problem with 64-bit function calls in comparisons
added devio(LCD, INTERFACE, type) for LCD I2C interface
added devio(LCD, BACKLIGHT_ON) for LCD I2C interface
added devio(LCD, BACKLIGHT_OFF) for LCD I2C interface
optimized code generated for float register = long constant
optimized code generated for long register = 0
fixed the code generated for long constant expressions using &, |, <<, >>
| |
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.
fixed problem in RAM Display Window with certain signed values.
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
fixed problem with pointer array code generation.
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
| |
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
|
|
|
|