136 lines
6.5 KiB
Markdown
136 lines
6.5 KiB
Markdown
|
# Reliance Edge Release Notes
|
||
|
|
||
|
This file contains a list of updates made to Reliance Edge over the course of
|
||
|
recent releases and a list of known issues.
|
||
|
|
||
|
## Release History and Changes
|
||
|
|
||
|
### Reliance Edge v2.0, January 2017
|
||
|
|
||
|
- Added support for Linux as a host environment
|
||
|
- All "host" projects may now be built in either Windows or Linux using the
|
||
|
`make` command. The formatter and image builder are built, and the checker
|
||
|
and image copier are also built in the commercial kit.
|
||
|
- An additional host tool has been added for Linux only: `redfuse`. It is a
|
||
|
File System in User Space (FUSE) implementation, allowing a Reliance Edge
|
||
|
volume to be mounted directly on Linux for easy access. It is built from
|
||
|
the host project folder using the command `make redfuse`.
|
||
|
- The OS-specific API test (commercial kit only) is now ported to run on Linux
|
||
|
for the purpose of verifying the FUSE implementation.
|
||
|
- Fixed a bug that could leave a directory in an invalid state after removing
|
||
|
files. For example, an affected directory might report a non-zero length even
|
||
|
after all files had been deleted.
|
||
|
- Fixed a bug that would leave the driver in a bad state if a mount operation
|
||
|
failed due to missing or corrupt metaroot blocks.
|
||
|
|
||
|
### Reliance Edge v1.1 (Beta), November 2016
|
||
|
|
||
|
- Added support for a discard (trim) interface in the commercial kit. While
|
||
|
discards are not integral to the behavior of the filesystem, they allow
|
||
|
certain types of Flash drivers and media to perform at optimal speed and
|
||
|
efficiency. The commercial version of Reliance Edge now allows the user to
|
||
|
implement this interface for compatible storage media.
|
||
|
- This change added new fields to the configuration files redconf.h and
|
||
|
redconf.c. The configuration utility has been updated to version 1.1 and
|
||
|
existing configuration files must be updated using the updated utility.
|
||
|
- The configuration utility now has keyboard shortcuts for opening and saving
|
||
|
the configuration.
|
||
|
- The configuration utility now adds version macros to easily identify when an
|
||
|
outdated configuration file is used with Reliance Edge or vice versa.
|
||
|
|
||
|
### Reliance Edge v1.0.4, July 2016
|
||
|
|
||
|
- Added ARM mbed and ARM mbed OS support in the commercial kit, with an example
|
||
|
projects for ARM mbed OS on the NXP FRDM-K64F board.
|
||
|
- Some minor deficiencies in the POSIX-like API test suite have been addressed.
|
||
|
|
||
|
### Reliance Edge v1.0.3, June 2016
|
||
|
|
||
|
- Added support for static memory allocation configuration in FreeRTOS
|
||
|
version 9. No common code changes.
|
||
|
|
||
|
### Reliance Edge v1.0.2, February 2016
|
||
|
|
||
|
#### Common Code Changes
|
||
|
- A new per-volume configuration option has been added: users can specify a
|
||
|
number of times to retry a block device read, write or flush operation before
|
||
|
returning a failure. The configuration tool has been updated to version 1.0.2
|
||
|
with this change.
|
||
|
- This added a new field to the volume configuration in redconf.c: existing
|
||
|
redconf.c files from v1.0.1 and earlier must be updated to work with v1.0.2.
|
||
|
Open redconf.h and redconf.c with the configuration tool, enable
|
||
|
"Retry block device I/O on failure" for any volumes if desired, and save the
|
||
|
redconf files.
|
||
|
|
||
|
#### FreeRTOS Port Changes
|
||
|
- Added support for the STM32 HAL SD card driver in the FreeRTOS block device
|
||
|
interface. Two boards are supported out-of-the-box: the STM324xG-EVAL and the
|
||
|
STM32F746NG-Discovery. A sample project is included for the STM324xG-EVAL.
|
||
|
|
||
|
#### MQX Port Changes
|
||
|
- Fixed a bug which prevented Reliance Edge from compiling if the File System
|
||
|
Essentials API was selected in the configuration.
|
||
|
- Fixed a bug which would have returned an uninitialized value from
|
||
|
`RedOsBDevFlush()` for block devices that support flushing.
|
||
|
|
||
|
### Reliance Edge v1.0.1, October 2015
|
||
|
|
||
|
- Added MQX RTOS support in the commercial kit, with example projects for
|
||
|
the Kinetis Design Studio.
|
||
|
- Bug fix in the F_DRIVER implementation of the FreeRTOS block device service.
|
||
|
|
||
|
### Reliance Edge v1.0, July 2015
|
||
|
|
||
|
#### Common Code Changes
|
||
|
|
||
|
- First release of commercial kit and MISRA C:2012 Design Assurance Package.
|
||
|
The commercial kit includes many new tools and tests which were not previously
|
||
|
available.
|
||
|
- Overhauled parsing of command-line parameters to be consistent for all tools
|
||
|
and tests. Command-line tools now use Unix-style short and long options (such
|
||
|
as `-H` and `--help`) instead of DOS-style switches (such as `/?`).
|
||
|
- Renamed all os/\*/include/ostypes.h headers to os/\*/include/redostypes.h, so
|
||
|
that all headers use the product prefix. If you created a port using v0.9,
|
||
|
this header needs to be renamed and its header guard (#ifndef OSTYPES_H etc.)
|
||
|
should also be updated.
|
||
|
- Add a new header for OS-specific MISRA C:2012 deviation macros, located at
|
||
|
os/\*/include/redosdeviations.h. If you created a port using v0.9, copy the
|
||
|
template from os/stub/include/redosdeviations.h into the include directory.
|
||
|
- Eliminated support for sector sizes less than 256. If using a smaller sector
|
||
|
size (say for a RAM disk), this must now be emulated in the implementation of
|
||
|
the block device OS service.
|
||
|
- Added RedFseFormat() as an optional FSE API, allowing FSE applications to
|
||
|
format the volume at run-time.
|
||
|
- This added a new macro to redconf.h: existing redconf.h files from v0.9 must
|
||
|
be updated to work with v1.0. Open redconf.h with the configuration tool,
|
||
|
ignore the warning about the missing macro, and save it.
|
||
|
- Internal restructuring has renamed the macros for the string and memory
|
||
|
functions used in redconf.h. An existing redconf.h file from v0.9 will need
|
||
|
to be updated; for a file containing the old names, the new config tool will
|
||
|
default to using the (slow) Reliance Edge string/memory functions; to use the
|
||
|
C library or custom versions, this will need to be selected in the
|
||
|
configuration utility.
|
||
|
- Fix a bug which would result in an error when attempting to create a name with
|
||
|
one or more trailing path separators (such as `red_mkdir("/foo/bar/")`).
|
||
|
- Fix a bug where an open handle for an inode on one volume would prevent the
|
||
|
same inode number from being deleted on a different volume.
|
||
|
|
||
|
#### FreeRTOS Port Changes
|
||
|
|
||
|
- The implementation of the timestamp OS service no longer requires that
|
||
|
`configUSE_TIMERS` be set to `1`.
|
||
|
|
||
|
### Reliance Edge v0.9 (Beta), April 2015
|
||
|
|
||
|
First public release.
|
||
|
|
||
|
## Known Issues
|
||
|
|
||
|
### Visual Studio 2005
|
||
|
|
||
|
The Reliance Edge Win32 port (used for the host tools and the Win32 test
|
||
|
project) cannot be compiled by Visual Studio 2005. This is not going to be
|
||
|
fixed since VS2005 is an old toolset. Newer versions of Visual Studio, starting
|
||
|
with Visual Studio 2008, work just fine.
|
||
|
|