Bootloader, is a firmware that is always in the controller's flash memory (ROM) and runs every time power is supplied to the device. This code is the first to be executed and receives a control each time the device starts.
ST-ONE is a mini BIOS, only for a small system.
ST-ONE has a very small size for its enormous potential, just 32Кb. When you start the loader going on the basic initialization of the device and other important processes start: restore the current time from the backup domain, if necessary; the control checks of software and hardware; loading startup parameters for the device; control of licensing, installing and updating of software; the device protection and a number of other tasks. After the initialization and control processes are completed, the loader transfers control to the main program (firmware) and quits. For the user it looks invisible as it happens instantly, and the device immediately begins to perform its functions.
ST-ONE has a very important feature-it turns the MCU, in which to run, in a standard USB-drive! It allows you to connect the system to your computer or smartphone and communicate with your device by sharing files like with a normal USB flash drive. You can download firmware files and its updates by ordinary copying. This eliminates the concept of "firmware" of the device and the procedure of software upgrade of your products becomes simple and clear even to the unprepared user. Configuration files with parameters (INI) are also available on the emulated disk, where you can configure the initial behavior of your device or get additional information. An important feature is the ability of the bootloader to update itself! Get new features and improvements by easy movement without the programmator.
ST-ONE has a large basic functionality for managing firmware and the device. It has a unique mechanism for expanding its own functionality. In addition to the rich features of the loader, the mechanism of plugins, which was called "JACK", was implemented. These are firmware-extensions-utilities that can be loaded directly at the time of the bootloader operation without affecting the main system. Flashing or any changes are not required. The JACK file is loaded by simply copying to the service disk - this is the second disk emulated by the bootloader. The JACK will be erased after power off or system reset in a normal mode.
This approach allows you to spread the possibilities onto a truly unlimited space without changing the size of the loader and the limited resources. The Jack files for the bootloader can be found in the relevant section or created by you. These routines can perform different service tasks of the boot loader itself or device: removal of dumps, indication of conditions, etc. can be the independent firmware, for example as: ports monitors, implementation of data transfer interfaces, to work with the periphery and memory, test the device and more! The capabilities of the JACK mechanism are limited only by the size of the plug-in and the level of the developer's qualification. The size of the JACK file may be even larger than the bootloader itself. The exact size depends on the version of the bootloader and the chip.
JACK is available in the service mode of the bootloader operation. Switching to the service mode is performed by a special software or hardware command. Also in the service mode, you can download itself the boot loader from the crystal as a file, for the purpose of backup storage on other media, in case of system failure or recovery needs.
ST-ONE has a powerful firmware licensing mechanism. This allows you to distribute the encrypted firmware freely available on open communication channels, and run only in target devices. The user will be required to enter a personal or global key for the software being distributed, if necessary. Several software licensing mechanisms are supported.
The encryption uses a powerful mechanism based on AES128, which is recognized by the US national
security Agency as a security standard. Unpacking firmware is using public and private keys. The key can
be entered in the configuration files, and the integrity of the SOFTWARE is checked by the calculated
MD5 sums.
The loader accepts the following types of software (firmware):
Open firmware is available for copying and downloading straight from the crystal of the microcontroller in the form of a file. Ready to be distributed or flashing to other devices. Encrypted firmware is not available for download in clear form from the MCU. After installing the closed firmware in the crystal, a number of hardware and software protection mechanisms will not just allow to download or read the firmware. This is important for commercial products that require upgrades and support, but require licensing and copyright protection.
A simple and clear mechanism for updating and transferring firmware to end users raises the format of working with device users to a completely new level. Greatly simplifies the work of the maintenance staff by reducing costs.
Reliability. ST-ONE is a well-optimized, high-performance and powerful solution. The bootloader's fault tolerance is high, and the mechanisms of self-protection and integrity control will not allow unauthorized modifications to its code. In case of unintentional destruction of the bootloader, under the influence of third - party factors or incorrect code operation will also be eliminated as much as possible - an emergency system shutdown will occur.
Flexible control of the behavior of the bootloader and a start process of the device exists. The possibility of hardware control of the bootloader and its functions by signaling to the specified pins, or full software control from a computer, smartphone, or tablet-by connecting to USB.
The ability to change the parameters of the bootloader in the familiar to many INI-file, in an intuitive format through a text editor. The settings include the basic mechanisms of control and management of the emulated file system, boot scheme, hardware configuration, configuration of pins and other. PIN-s of management and display are easily assigned and reassigned in the configuration files. The control method is specified-logical 0 or 1 This means that the bootloader can be fine-tuned and used on a variety of hardware platforms other than ST-ONE.
In the file system of the loader, there is a generated information file with technical information. It is possible to obtain a brief summary of the current system: the chip model, unique ID, MD5 checksums of the firmware, the system time, addresses of entry points for the assembly of firmware, reference information for managing the boot loader and some other parameters. This data is enough for free work with the device. For control of the integrity of the firmware, build your own firmware or contact a remote support without accessing documentation or other sources.
One of the main advantages of ST-ONE as a USB-FLASH drive is that all the memory of the crystal is available for use, except for the size of the bootloader itself. This is achieved by means of powerful, non- standard solutions without auxiliary tools and additional memory chips - only by means of MCU. We use transparent emulation of our own modified FAT12 file system, which brings the efficiency of the controller resource usage to the maximum.
This is a great advantage compared to other solutions of this class! As in the known third-party solutions can be used only up to 45% of the crystal memory under the main code, another 45% for maintenance / upgrade of firmware; up to 7% - the loader, about 3% overhead costs. In other cases the auxiliary technical means are used - additional memory chips, software and hardware, drivers, other interfaces and mechanisms, which significantly complicate the final device, reducing fault tolerance, versatility and reliability, increases cost and power consumption. Many boot loaders, including for other systems, do not know how to update themselves - you need a programmator. ST-ONE does not have such drawbacks, and the list of key advantages and possibilities is even wider (see the relevant sections of the documentation).
In fact, there are no system requirements. The device having on-board boot loader ST-ONE uses standardized protocols and mechanisms of exchange via the USB bus. It gives incredible flexibility, freedom of action and cross-platform. The user is independent of the vendor's software. Programmator or other technical means are not required. The skill level of technical staff may be minimal.
You do not need a driver to operate the ST-ONE. The loader is compatible with all operating systems: Windows, Linux, Android, MacOS, etc. It does not require additional modules and software products. The device is controlled by means of system utilities that are available in any operating system. It is immediately ready for operation after power supply or connection.