Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel2
minLevel2
indent20px
Table of Contents
maxLevel2
minLevel2
indent20px

V2.93.01

Release Date

May 5th, 2021

Bug Fixes

  • Fix to the ARMv7-M port: Interrupts are disabled before modifying BASEPRI as per Cortex-M7 errata

V2.93.00

Release Date

February 28th, 2020

  • Open-source Release

V2.92.18

Release Date

December 17th, 2019

New Features

[613] Added TLS support for EWARM 8: uCOS-II/TLS/IAR/os_tls_v8.c

Bug Fixes

[632] Fixed a race condition which occurs if a task using multipend is signaled by a post and has its priority increased before it has a chance to run.

[774] Fixed incorrect register order in the ARMv8-A port

Improvements

[618] Removed duplicate initialization of OS globals from the C28x port

V2.92.17

Release Date

September 20th, 2019

Bug Fixes

  • [17434] Removed obsolete references to APP_CFG_PROVE_OS_PLUGIN_EN from the Configuration templates

Improvements

  • [17341] Static analysis fixes
    • "Include guard" warnings for ucos_ii.c and os.h
    • "unused variable" warning in os_core.c
    • "bitwise operand with different sizes"  in os_mutex.c

V2.92.16

Release Date

March 21, 2019

New Features

  • [425] ARMv7-M Non-Kernel-Aware Interrupt support

Bug Fixes

  • [28] C28x port overwrote the value of IER if an interrupt-level context switch occurred.

V2.92.15

Release Date

June 18, 2018

New Features

  • [361] Added MPC57xx-VLE port
  • [240] Added trace support to the Cortex-A port

Improvements

  • [154] ARM port directories have been restructured and consolidated (e.g. ARM-Cortex-A/ARMv7-A, ARM-Cortex-A/ARMv8-A)
  • [312] Removed unused parameter warnings in OSTaskStkInit() for the ARMv7-A and ARMv8-A ports
  • [211] Removed superfluous OS_BSP_TickInit() and OS_BSP_TickISR() prototypes from the Renesas RX ports

Bug Fixes

  • [260] RL78 port should use RETB instead of RETI for software breaks
  • [314] Microblaze port is missing function declarations in the header
  • [358] In OS_TaskStat(), the calculation for OSCPUUsage may be negative
  • [359] In OS_TaskStat(), OSCPUUsage may be not equal to zero even if no other tasks are running

V2.92.14

Release Date

December 8, 2017

New Features

  • [200] Added a new port for the RISC-V architecture

Bug Fixes

  • [259] Cortex-A50 port used improper data width when writing to OSRunning.

V2.92.13

Release Date

August 17, 2017

New Features

  • [69] Added a new port for the Synopsys ARC EM6
  • [70] Added a new port for the ARM Cortex-A50 family
  • [71] Added SystemView Trace support.

Improvements

  • [73] Cortex-M0 and Cortex-M ports reworked to match the uCOS-III ports.
  • [107] Added app_hooks.c and app_cfg.h templates.
  • [175] Added trace support to the Cortex-M port.
  • [186] Added trace support to the RX port.

...

  • [176] Removed ARM-Cortex-A8 port (Replaced by ARM-Cortex-A).
  • [176] Removed ARM-Cortex-A9 port (Replaced by ARM-Cortex-A).
  • [176] Removed ARM-Cortex-R4 port (Replaced by ARM-Cortex-A).
  • [176] Removed ARM-Cortex-M3 port (Replaced by ARM-Cortex-M).
  • [176] Removed ARM-Cortex-M4 port (Replaced by ARM-Cortex-M).
  • [176] Removed RX-FPU port (Replaced by ARM-Cortex-RX).
  • [176] Removed RX200 port (Replaced by ARM-Cortex-RX).
  • [176] Removed RX600 port (Replaced by ARM-Cortex-RX).
  • [176] Removed RX610 port (Replaced by ARM-Cortex-RX).
  • [176] Removed RX62N port (Replaced by ARM-Cortex-RX).

V2.92.12

Release Date

May 25, 2016

New Features & Improvements

  • ARM-Cortex-M Port: Added Generic port forARMCortex-M3,M4andM7devices.
  • ARM-Cortex-M0 Port: Added support for ARM Cortex-M0+ devices.
  • MSP430x Port: Added CCS toolchain support for MSP430x5xx devices.
  • RL78 Port: Added GNURL78 toolchain support.
  • TI C2000 (C28x) Port: Added support for Piccolo and Delfino devices.

Bug Fixes

  • Core: OSSafetyCritical Flag now checked in all OS???Create() and OS???Del() functions.

...

Thread Local Storage (TLS) allows each task to have task specific variables that are typically required by compilers and their run-time library.  TLS is optional and only currently available for a couple of compilers (CCES from Analog Devices and Embedded Workbench from IAR).  TLS requires that you enable this feature by setting the TLS table size (see the MicroC/OS-II user’s manual) through the #define OS_TLS_TBL_SIZE and, if defined, must be greater than 0. 


TLS is mandatory if you use non-reentrant library functions that are not protected by either a mutex or a semaphore. Forexamplethe‘strtok()’ function needs to keep a copy of a pointer forfurtherinvocationsofstrtok().  This local pointer is now saved as part of the TLS management when TLS is enabled and thus does not require that you protect the non-reentrant code with a mutex or a semaphore. 


1)  A number of ‘internal’ functions have been added to support TLS.  However, as the user, you only need to:

...

Added OSTaskRegGetID() to dynamically assign task IDs instead of assigning task IDs statically through #define constants.  It’s important that you either use ‘dynamic task register ID allocation’ or ‘static register ID allocation’ but not both.  The preferred method is to use OSTaskRegGetID() throughout your code.

 


You now need to allocate an INT8U variable for each task register IDs and use those variables to specify the desired task register.  In other words:

 


INT8U  MyTaskRegID;

:

:

    MyTaskRegID = OSTaskRegGetID(&err);

...

This #define …

Changed to

OS_EVENT_NAME_SIZE

OS_EVENT_NAME_EN

OS_TASK_NAME_SIZE

OS_TASK_NAME_EN

OS_FLAG_NAME_SIZE

OS_FLAG_NAME_EN

OS_MEM_NAME_SIZE

OS_MEM_NAME_EN

OS_TMR_CFG_NAME_SIZE

OS_TMR_CFG_NAME_EN

 


            The new value of these #defines are either 0 (to disable naming the object) or 1 (to enable naming the object).

...

            Added support for multi-pend.   

...