Christian Mauderer 1bb370b644 cpukit/jffs2: Fix unaligned writes
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.
2025-09-17 15:12:27 +02:00
2025-07-24 20:09:59 -05:00
2025-09-15 16:25:37 +00:00
2025-07-31 18:07:34 -05:00
2025-09-17 15:12:27 +02:00
…
2025-09-15 16:25:37 +00:00
…
2025-05-22 19:35:12 +00:00
2025-01-16 14:52:22 +00:00
2025-07-31 18:24:04 -05:00
…

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.

S
Description
RTEMS is a ​real-time executive in use by embedded systems applications around the world and beyond
Readme
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%