mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-09 08:37:58 +08:00
1bb370b6448b4c76fee13f22ed471d3887b53c41
The code in flashio.c had a special case for handling unaligned buffers during writes. That code did roughly the following: If the size or start address of the buffer is not aligned to a word: * align the size up to the next word * create a temp buffer on heap or stack with the new size * copy the data from write buffer to this temp buffer * write the temp buffer with the _new_ size to the flash * tell the code above, that the original size has been written That means, that in certain cases, one to three random bytes have been written to the flash. That is definitively not correct. The special cases that trigger the behaviour seem to happen quite often when using the RTEMS functions to unpack a .tar.gz with files in the range of a few megabytes stored on the JFFS2 file system to the same file system. The RTEMS interface for flash drivers doesn't define any alignment requirements. Therefore that code is not necessary and can just be removed to solve these issues.
…
…
…
Real-Time Executive for Multiprocessing Systems
RTEMS is a real-time executive (kernel) which provides a high performance environment for embedded applications with the following features:
- Standards based user interfaces.
- Multitasking capabilities.
- Homogeneous and heterogeneous multiprocessor systems.
- Event-driven, priority-based, preemptive scheduling.
- Optional rate monotonic scheduling.
- Intertask communication and synchronisation.
- Priority inheritance.
- Responsive interrupt management.
- Dynamic memory allocation.
- High level of user configurability.
- Open source with a friendly user license.
Project git repositories are located at:
Online documentation is available at:
RTEMS Doxygen for CPUKit:
RTEMS POSIX 1003.1 Compliance Guide:
RTEMS Mailing Lists for general purpose use the users list and for developers use the devel list.
The version number for this software is indicated in the VERSION file.
Description
RTEMS is a real-time executive in use by embedded systems applications around the world and beyond
146 MiB
0 Stars
1 Watchers
0 Forks
Languages
C
93.9%
Assembly
3.4%
Ada
1.4%
Python
0.3%
HTML
0.3%
Other
0.4%