Contents
1. Introduction
HCFiler was initially developed for Astrobe for RISC5 to be used for applications (e.g. data logging, backups etc.) that might need to create files on an SDHC card with a total size exceeding the 64 MB limit of the standard FPGA Project Oberon SD card filesystem. The files can subsequently be processed / analysed on a Windows system. The system is now also included with all Astrobe for ARM Cortex-M0, M3, M4 and M7 development systems.
HCFiler is designed to run reliably on limited resource embedded systems with no external RAM. The code has to be lean and fast to result in predictable disk access speeds for realtime operation. A number of constraints were incorporated into the design to achieve these aims noting that SDHC cards (as with most other file storage systems) are significantly more efficient when accesses are sequential rather than random.
- On the embedded system the filesystem is write-only.
- Disk writes are purely sequential.
- Only one file can be open for writing at any one time.
- Once a file is closed it cannot be written to again.
- New files are always located immediately after the last file to be created.
These constraints led to additional benefits that are not often found in other filesystems:
- No arbitrary limit is applied to the free space of an SDHC card can be used.
- No arbitrary limit is placed on the size of each file or the number of files.
- Files are not deleted.
- There can be many instances of a file with the same name allowing for multiple backups to be kept.
The HCFiler system consists of a set of Oberon modules that are used to create and write to files on the embedded system and a Windows application that can read the same files by accessing the SDHC card as a raw device on a PC.
The HCFiler Windows Application automatically attempts to run in Administrator mode so it can access the SDHC card as a raw device. Hence, you should expect a warning prompt to appear when it is launched. It then automatically searches for any removable drives on the PC. If it finds one with an HCFiler filesystem on it it stops searching and lists the files contained in it. If there are several files with the same name only the latest is listed. All or some of these files can then be selected to be copied from the SDHC filesystem to a Windows folder on a PC.
Back to Contents2. System Requirements
HCFiler is supported on Astrobe for ARM Cortex-M0, M3, M4, M7, RP2040, RP2350 and FPGA RISC5 development boards and Microsoft Windows 10 and Windows 11. All source code is available. The following tools are used for its development. These are the versions that are currently supported:
HCFiler Feature | Language | Tool Version |
---|---|---|
Embedded dir and file modules | Oberon | v9 Astrobe for ARM Cortex-M0, M3, M4, M7 v9 Astrobe for RP2040 and RP2350 v8 Astrobe for FPGA RISC5 |
Windows GUI | C# | Visual Studio 2022 / Microsoft.NET v4 Framework |
Windows dir and file modules | Gardens Point Component Pascal | GPCP v1.4.08-Beta3 |
3. Installation
HCFiler for Windows is distributed as a self-installing file:
- HCFilerSetup.exe
Install HCFiler as follows:
- Login to your system using an account with Administrator privileges that you will use when running HCFiler.
- Exit all Windows programs.
- Run the HCFiler setup file HCfilerSetup.exe
- Press the Next button, and follow the prompts.
- When the installation program has completed, run HCfiler by selecting it from the Windows Start menu.
4. Technical Support
If you have general technical questions related to HCFiler post a message on the CPIde and Component Pascal section of the Astrobe Forum.
Back to Contents5. License Agreements
You should carefully read the following terms and conditions before using this software. Your use of this software indicates your acceptance of these license agreements and disclaimers.
HCFiler
Copyright © 2017-2024 CFB Software
Permission to use, copy, modify, and/or distribute this software and its accompanying documentation (the "Software") for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THE SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES OR LIABILITY WHATSOEVER, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DEALINGS IN OR USE OR PERFORMANCE OF THE SOFTWARE.
Project Oberon, Revised Edition 2013
Book copyright © 2013 Niklaus Wirth and Juerg Gutknecht;
software copyright © 2013 Niklaus Wirth (NW), Juerg Gutknecht (JG),
Paul Reed (PR/PDR).
Permission to use, copy, modify, and/or distribute this software and its accompanying documentation (the "Software") for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES WITH REGARD TO THE SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES OR LIABILITY WHATSOEVER, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DEALINGS IN OR USE OR PERFORMANCE OF THE SOFTWARE.