µC/OS-III v3.06.00

Requirements

  • µC/LIB V1.38.02 or more recent
  • µC/CPU V1.31.00 or more recent

New Features & Improvements

ARM-Cortex-A50

  • Added configuration options to enable EL3 and SIMD.

ARM-Cortex-M

  • New generic port for the ARMv7-M family. Supports the ARM, CCS, GNU, and EWARM toolchain.

eSi-3250

  • New port for the EnSilica eSi-32xx family. Supports the EDS toolchain.

MPC57xx-VLE

  • New port for the NXP MPC57xx family. Supports the GNU toolchain.

Trace

  • Support for the following trace tools is now included: Segger SystemView and Percepio Tracealyzer.

Deprecated Features

ARM-Cortex-R4

  • Deprecated in favor of the ARM-Cortex-A port. May be removed in a future release.

ARM-Cortex-M3

  • Deprecated in favor of the ARM-Cortex-M port. May be removed in a future release.

ARM-Cortex-M4

  • Deprecated in favor of the ARM-Cortex-M port. May be removed in a future release.

Obsolete Features

Multi-Pend

  • The multi pend feature is now obsolete and has been removed.

Deferred Interrupts

  • Deferred interrupt processing is now obsolete and has been removed.

API Changes

Removed

  • OSPendMulti()
  • os_pend_multi.c
  • os_int.c

Added

  • os_trace.h

Bug Fixes

ARM-Cortex-M0

  • Context switches now save R8-R11 as well.

ARM-Cortex-M3

  • The ISR stack is now aligned to the 8-byte boundary, as required by the ARM procedure call standard.

ARM-Cortex-M4

  • Fixed an issue with the port which caused stack corruption if the first running task used an FPU stack frame.

C28x

  • Added OSInitHook() code which initializes the kernel's global variables to 0. This is a workaround for the C28x toolchain
  • The Context switch code now uses the appropriate 16-bit MOV operations when handling task priorities.

Core

  • Fixed a race condition in OSTaskDel() which sometimes caused a context switch before the error argument was assigned a value.
  • When resetting a periodic timer with 0 initial delay, the timer is now reset to the period value rather than the initial delay.
  • Posting to task semaphores or queues no longer causes a null pointer dereference when debug variables are enabled.

« Back to the Micrium Community Blog