Opposite to earlier versions of Frameworks by Willert Software Tools,
the latest Frameworks are build inside your IDE and no longer inside
Rhapsody. As a result, you no longer can set properties in the Rhapsody
model to specify various RTOS details. Instead, you must use the
mechanisms offered by your RTOS manufactorer. Usually, this means
adapting a configuration file which you also can keep in your IDE
project.
For DSP/BIOS, you must configure its kernel inside Code Composer. In
the GettingStarted example, the task TSK_Main is configured and the
memory segment L47SARAM which is used for the heap and task stacks..
The file WSTRTOS.h is used to specify details for the DSP/BIOS which are
needed by the RTOS bridge interface. You can modify the constants:
RTOS_PRIORITY_NORMAL. This priority is used for any task, created on behalf of your active class(es).
RTOS_PRIORITY_ABOVE_NORMAL. This priority is defined a little
higher than RTOS_PRIORITY_NORMAL and can be used for tasks that need to
be higher prioritized. It is not assigned to any tasks of the RXF or
the user model automatically.
RTOS_PRIORITY_HIGH. This priority is used for the Bridge task, when in real-time model.
RTOS_PRIORITY_LOW. This priority is used for the Bridge task, when in simulated-time model.
RTOS_DEFAULT_STACK. This is the default stack size for any task, created on behalf of your active class(es).
RTOS_BRIDGE_STK_SIZE. This is the stack size for the BridgeTask.
RTOS_MQ_DEFAULT_SIZE . This is maximum number of queued events within your application.
The file RiCOSDimMemoryAllocation.c contains the functions
RiCOSMemoryAllocation_Init() which verifies that the segment used for the heap is existing.
The constant RTOS_MEM_HEAP_SEGMENT is defined in WSTRTOS.h as L47SARAM which is configured in the file GettingStarted.TCF
as part of the GettingStarted example. If you want to use a different
memory map, you may need to modify RTOS_MEM_HEAP_SEGMENT.
RiCOSMemoryAllocation_malloc(), RiCOSMemoryAllocation_calloc(),
RiCOSMemoryAllocation_realloc() and RiCOSMemoryAllocation_free(). These
use the thread safe functions malloc(), calloc(), realloc() and free()
of the DSP/BIOS library. If you want to use different functions, you
may need to implement a lock mechanism in these
RiCOSMemoryAllocation_xx() functions to make them thread safe.
NOTE
If you modify this header file or your DSP/BIOS configuration, you must rebuild your application, see GettingStarted example
Copyright (c) Willert
Software Tools GmbH. All rights reserved.