• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

core/21-Aug-2025-

doc/21-Aug-2025-

fse/21-Aug-2025-

include/21-Aug-2025-

os/freertos/21-Aug-2025-

posix/21-Aug-2025-

tests/21-Aug-2025-

toolcmn/21-Aug-2025-

util/21-Aug-2025-

CREDITS.txt A D21-Aug-2025739 2215

LICENSE.txt A D21-Aug-202518 KiB341281

README.md A D21-Aug-20256.1 KiB12495

README.txt A D21-Aug-20256 KiB141101

README.md

1# Reliance Edge
2
3Reliance Edge is a small, portable, highly reliable power-fail safe file system
4for resource-constrained embedded systems like microcontrollers.  It is written
5in C and provides a familiar POSIX-like file system API, making it easy to use
6in your application; or an alternate minimalist API if your application has
7simple storage needs.  Reliance Edge is highly configurable and can be tuned to
8the precise needs of your application.
9
10## Getting Help
11
12You will find this section later in our readme as well - but we wanted to tell
13you up front: DATALIGHT WANTS TO HEAR FROM YOU!  Whether it's just to make
14comments about the product, to suggest new features, or to tell us what you
15don't like - reach out!  All comments and inquiries can be directed to
16<RelianceEdgeSupport@datalight.com>.
17
18## Documentation
19
20The complete documentation for Reliance Edge is distributed separately.  It
21includes an API reference and detailed discussions of various aspects of using
22Reliance Edge, including porting, building, configuring, and testing.  This
23complete documentation, called the _Developer's Guide_, can be obtained for free
24from here:
25
26<http://www.datalight.com/reliance-edge>
27
28In addition this README, see doc/release_notes.md for a list of updates
29to Reliance Edge and a list of known issues. There is also a quick-start
30guide in the doc/ directory that describes step-by-step how to compile
31and run Reliance Edge in a simulated Windows environment.
32
33## Why Use Reliance Edge?
34
35Reliance Edge is ideal for small embedded systems with data storage
36requirements, especially if there is a chance of sudden power loss or other
37system failures.  Compared to "raw" disk access, using a file system like
38Reliance Edge removes the burden of tracking which sectors belong to which
39objects, and allows data to be updated more reliably.  Compared to the FAT file
40system, using Reliance Edge eliminates the possibility that file system data
41will be left in an inconsistent state, corrupting the disk; Reliance Edge does
42not need a fsck/CHKDSK utility.  Compared to journaling file systems, Reliance
43Edge has less overhead and results in less storage media wear for longer device
44lifetimes.
45
46Reliance Edge uses a unique transactional model that not only prevents file
47system corruption but also allows a set of changes to be made in an atomic "all
48or nothing" fashion.  This is very useful for applications that make sets of
49interrelated changes.  By using the features of Reliance Edge, a set of changes
50can be incorporated into a single atomic transaction, which is committed in its
51entirety or not at all even if interrupted by power loss; this means the
52application does not need code to recover from partially-finished updates.
53
54## Hardware
55
56The typical hardware for Reliance Edge is a 32-bit microcontroller, but other
57targets are possible.  In its typical configurations, Reliance Edge needs at
58least 4 KB to 5 KB of RAM, 11 to 18 KB of code space (on the ROM or NOR flash),
59and 500 to 700 bytes of stack.
60
61Reliance Edge is not designed for high-end embedded systems that run complicated
62operating systems like Linux or Windows Embedded Compact.  Embedded systems of
63that variety are better served by other file systems, like Datalight's
64[Reliance Nitro](http://www.datalight.com/products/embedded-file-systems/reliance-nitro).
65
66## Getting Reliance Edge Working
67
68Before you can use Reliance Edge, it must be ported and configured.  At a
69minimum, porting includes filling-in functions so that Reliance Edge can issue
70commands to your storage medium; depending on your needs, other functions may
71need to be filled in as well.  These functions reside in a subdirectory in the
72os/ directory; see os/stub/ for a blank set of functions.  Configuring includes
73creating a project directory (start by copying projects/newproj) and creating
74the two configuration files (redconf.h/redconf.c) using the Reliance Edge
75Configuration Utility (which can be downloaded from
76<http://www.datalight.com/reliance-edge>).
77
78These topics are covered in much greater detail in the _Developer's Guide_,
79linked above.
80
81## Using Reliance Edge
82
83Using Reliance Edge is a simple matter of including the primary Reliance Edge
84application header in your application (either include/redposix.h or
85include/redfse.h) and compiling and linking against Reliance Edge binaries.
86The Reliance Edge driver must be initialized before it is used (via the
87red\_init() or RedFseInit() functions) and then volumes can be mounted and file
88and directory functions invoked.  The Reliance Edge API is documented in the
89_Developer's Guide_ (linked above) and also via comments in the source code.
90
91## Licensing
92
93Reliance Edge is an open-source project licensed under the GNU General Public
94License v2 (GPLv2).  Businesses and individuals that for commercial or other
95reasons cannot comply with the terms of the GPLv2 license may obtain a
96commercial license before incorporating Reliance Edge into proprietary software
97for distribution in any form.  Visit <http://www.datalight.com/reliance-edge>
98for more information.  The commercial distribution also includes extra tests and
99tools not distributed with the GPLv2 version.
100
101See LICENSE.txt for the full license terms of this distribution of the product.
102
103## Getting Help
104
105If you need assistance using Reliance Edge, and you have already consulted the
106_Developer's Guide_, contact <RelianceEdgeSupport@datalight.com>.
107
108In the near future, a community forum or message board will be set up to
109facilitate discussion of Reliance Edge and allow users to get help from
110Datalight and from each other.  In the meantime, please use the email address
111given above.
112
113## Contributing
114
115Contributions to Reliance Edge are welcome.  Our policy is that Datalight must
116own the copyright of all code incorporated into Reliance Edge; if contributing a
117significant amount of code, you will be asked to file a copyright assignment
118agreement.  See CONTRIBUTING.txt for further details and contribution
119guidelines.
120
121To report bugs, please create a GitHub issue or contact
122<RelianceEdgeSupport@datalight.com>.
123
124

README.txt

1
2
3RELIANCE EDGE
4
5
6Reliance Edge is a small, portable, highly reliable power-fail safe file
7system for resource-constrained embedded systems like microcontrollers.
8It is written in C and provides a familiar POSIX-like file system API,
9making it easy to use in your application; or an alternate minimalist
10API if your application has simple storage needs. Reliance Edge is
11highly configurable and can be tuned to the precise needs of your
12application.
13
14
15Getting Help
16
17You will find this section later in our readme as well - but we wanted
18to tell you up front: DATALIGHT WANTS TO HEAR FROM YOU! Whether it's
19just to make comments about the product, to suggest new features, or to
20tell us what you don't like - reach out! All comments and inquiries can
21be directed to RelianceEdgeSupport@datalight.com.
22
23
24Documentation
25
26The complete documentation for Reliance Edge is distributed separately.
27It includes an API reference and detailed discussions of various aspects
28of using Reliance Edge, including porting, building, configuring, and
29testing. This complete documentation, called the _Developer's Guide_,
30can be obtained for free from here:
31
32http://www.datalight.com/reliance-edge
33
34In addition this README, see doc/release_notes.md for a list of updates
35to Reliance Edge and a list of known issues. There is also a quick-start
36guide in the doc/ directory that describes step-by-step how to compile
37and run Reliance Edge in a simulated Windows environment.
38
39
40Why Use Reliance Edge?
41
42Reliance Edge is ideal for small embedded systems with data storage
43requirements, especially if there is a chance of sudden power loss or
44other system failures. Compared to "raw" disk access, using a file
45system like Reliance Edge removes the burden of tracking which sectors
46belong to which objects, and allows data to be updated more reliably.
47Compared to the FAT file system, using Reliance Edge eliminates the
48possibility that file system data will be left in an inconsistent state,
49corrupting the disk; Reliance Edge does not need a fsck/CHKDSK utility.
50Compared to journaling file systems, Reliance Edge has less overhead and
51results in less storage media wear for longer device lifetimes.
52
53Reliance Edge uses a unique transactional model that not only prevents
54file system corruption but also allows a set of changes to be made in an
55atomic "all or nothing" fashion. This is very useful for applications
56that make sets of interrelated changes. By using the features of
57Reliance Edge, a set of changes can be incorporated into a single atomic
58transaction, which is committed in its entirety or not at all even if
59interrupted by power loss; this means the application does not need code
60to recover from partially-finished updates.
61
62
63Hardware
64
65The typical hardware for Reliance Edge is a 32-bit microcontroller, but
66other targets are possible. In its typical configurations, Reliance Edge
67needs at least 4 KB to 5 KB of RAM, 11 to 18 KB of code space (on the
68ROM or NOR flash), and 500 to 700 bytes of stack.
69
70Reliance Edge is not designed for high-end embedded systems that run
71complicated operating systems like Linux or Windows Embedded Compact.
72Embedded systems of that variety are better served by other file
73systems, like Datalight's Reliance Nitro.
74
75
76Getting Reliance Edge Working
77
78Before you can use Reliance Edge, it must be ported and configured. At a
79minimum, porting includes filling-in functions so that Reliance Edge can
80issue commands to your storage medium; depending on your needs, other
81functions may need to be filled in as well. These functions reside in a
82subdirectory in the os/ directory; see os/stub/ for a blank set of
83functions. Configuring includes creating a project directory (start by
84copying projects/newproj) and creating the two configuration files
85(redconf.h/redconf.c) using the Reliance Edge Configuration Utility
86(which can be downloaded from http://www.datalight.com/reliance-edge).
87
88These topics are covered in much greater detail in the _Developer's
89Guide_, linked above.
90
91
92Using Reliance Edge
93
94Using Reliance Edge is a simple matter of including the primary Reliance
95Edge application header in your application (either include/redposix.h
96or include/redfse.h) and compiling and linking against Reliance Edge
97binaries. The Reliance Edge driver must be initialized before it is used
98(via the red_init() or RedFseInit() functions) and then volumes can be
99mounted and file and directory functions invoked. The Reliance Edge API
100is documented in the _Developer's Guide_ (linked above) and also via
101comments in the source code.
102
103
104Licensing
105
106Reliance Edge is an open-source project licensed under the GNU General
107Public License v2 (GPLv2). Businesses and individuals that for
108commercial or other reasons cannot comply with the terms of the GPLv2
109license may obtain a commercial license before incorporating Reliance
110Edge into proprietary software for distribution in any form. Visit
111http://www.datalight.com/reliance-edge for more information. The
112commercial distribution also includes extra tests and tools not
113distributed with the GPLv2 version.
114
115See LICENSE.txt for the full license terms of this distribution of the
116product.
117
118
119Getting Help
120
121If you need assistance using Reliance Edge, and you have already
122consulted the _Developer's Guide_, contact
123RelianceEdgeSupport@datalight.com.
124
125In the near future, a community forum or message board will be set up to
126facilitate discussion of Reliance Edge and allow users to get help from
127Datalight and from each other. In the meantime, please use the email
128address given above.
129
130
131Contributing
132
133Contributions to Reliance Edge are welcome. Our policy is that Datalight
134must own the copyright of all code incorporated into Reliance Edge; if
135contributing a significant amount of code, you will be asked to file a
136copyright assignment agreement. See CONTRIBUTING.txt for further details
137and contribution guidelines.
138
139To report bugs, please create a GitHub issue or contact
140RelianceEdgeSupport@datalight.com.
141