[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Andy Mozzhevilov 21 октября 2002 г. 14:03
В ответ на: а что добавилось, не подскажете? отправлено Romario 21 октября 2002 г. 13:38

Micrium is proud to announce that its newest version of µC/OS-II
(V2.60) is now available from www.Micrium.com for only $50.00 USD.

V2.60 provides the following:

a) Fixes minor issues with V2.52.
b) Simplifies FAA Level A certification by removing all MCDC
(Modified Condition Decision Coverage).
c) Follows most of the guidelines of The Motor Industry Software
Reliability Association (MISRA C) "Guidelines for the use of the C
language in vehicle based software".
d) Adds support for kernel awareness.
e) Directly supports µC/OS-View (for details on uC/OS-View, see
http://www.ucos-ii.com/contents/products/ucos-ii/uc-view.html)
f) Adds new features.
g) Made some changes to the code


New Features:

1) Find out which flag(s) caused task to wakeup.
Added the function OSFlagPendGetFlagsRdy() (file OS_FLAG.C) to allow
to determine which flag(s) caused the current task to become ready.
In other words, you will now be able to know what event flag(s)
caused the pending task to wake up.

2) Posting NULL pointers to queues.
It is now possible to send NULL pointer message through queues.
OSQPost() and OSQPostFront() no longer blocks NULL pointers from
being deposited into queues.

3) Assigning names to Tasks and other kernel objects.
It is now possible to assign names to Tasks, Memory Partitions,
Semaphores, Mutexes, Event Flags, Mailboxes and Queues. The names
are useful when debugging applications. You assign names by calling
one of the following functions:

OSEventNameSet()
OSFlagNameSet()
OSMemNameSet()
OSTaskNameSet()

You can obtain the name of a task or a kernel object by calling the
following functions:

OSEventNameGet()
OSFlagNameGet()
OSMemNameGet()
OSTaskNameGet()


4) Disable calls to OSTaskSwHook() and OSTimeTickHook()
It is now possible to disable (at compile time) the need to have the
functions OSTaskSwHook() and OSTimeTickHook(). This feature was
requested because of the overhead involved in calling empty
functions during a context switch and also every tick.

To disable OSTaskSwHook(), simply set OS_TASK_SW_HOOK_EN to 0 in
OS_CFG.H. Of course, the port (OS_CPU_A.ASM) for the processor you
are using must not call OSTaskSwHook().

To disable OSTimeTickHook(), simply set OS_TIME_TICK_HOOK_EN to 0 in
OS_CFG.H.


5) Added variables in OS_TCB to allow profiling
Variables have been added to OS_TCB to allow each task to be
profiled. In other words, µC/OS-II contains variables that register
the number of time a task is 'switched-in', how long a task takes to
execute, how much stack space each task consumes and more. These
variables have been added to better support µC/OS-View and other
profiling tools.


6) Added tick stepping support for µC/OS-View
µC/OS-View can now 'halt' µC/OS-II's tick processing and allow you
to issue 'step' commands from µC/OS-View. In other words, µC/OS-View
can prevent µC/OS-II from calling OSTimeTick() so that timeouts and
time delays are no longer processed. However, though a keystroke
from µC/OS-View, you can execute a single tick at a time. If
enabled, OSTimeTickHook() is still executed at the regular tick rate
in case you have time critical items to take care of in your
application.


7) Added new #defines in OS_CFG.H
Instead of edition your OS_CFG.H, I recommend that you copy one of
the OS_CFG.H files provided with the V2.60 release and then modify
it to satisfy your application requirements.

OS_DEBUG_EN
This #define adds ROM constants to help support kernel aware
debuggers. Specifically, a number of named ROM variables can be
queried by a debugger to find out about compiled-in options. For
example, the debugger can find out the size of an OS_TCB, µC/OS-II's
version number, the size of an event flag group (OS_FLAG_GRP) and
much more.

OS_EVENT_NAME_SIZE
This #define determines the size of ASCII strings used to name
either semaphores, mutexes, mailboxes and queues. If set to 0, this
feature will be disabled: no RAM will be allocated and the functions
OSEventNameGet() and OSEventNameSet() will not be compiled. If set
to a non-zero value, it determines the number of bytes allocated for
the name. Please note that you need to accommodate for the NUL
character and if you do use a non-zero value, you should have a
minimum of 2 for this value.

OS_FLAG_NAME_SIZE
This #define determines the size of ASCII strings used to name event
flag groups. If set to 0, this feature will be disabled: no RAM will
be allocated and the functions OSFlagNameGet() and OSFlagNameSet()
will not be compiled. If set to a non-zero value, it determines the
number of bytes allocated for the name. Please note that you need to
accommodate for the NUL character and if you do use a non-zero
value, you should have a minimum of 2 for this value.

OS_MEM_NAME_SIZE
This #define determines the size of ASCII strings used to name
memory partitions. If set to 0, this feature will be disabled: no
RAM will be allocated and the functions OSMemNameGet() and
OSMemNameSet() will not be compiled. If set to a non-zero value, it
determines the number of bytes allocated for the name. Please note
that you need to accommodate for the NUL character and if you do use
a non-zero value, you should have a minimum of 2 for this value.

OS_TASK_NAME_SIZE
This #define determines the size of ASCII strings used to name
tasks. If set to 0, this feature will be disabled: no RAM will be
allocated and the functions OSTaskNameGet() and OSTaskNameSet() will
not be compiled. If set to a non-zero value, it determines the
number of bytes allocated for the name. Please note that you need to
accommodate for the NUL character and if you do use a non-zero
value, you should have a minimum of 2 for this value.

OS_TASK_PROFILE_EN
This #define is used to allocate storage for variables used for run-
time task profiling. These variables are used by µC/OS-View and some
kernel aware debuggers.

OS_TASK_STAT_STK_CHK_EN
This #define allows the statistic task to do run-time checking of
all the stacks of all the active tasks. In other words, when set to
1, OS_TaskStat() calls the function OS_TaskStatStkChk(). Of course,
for this to happen, OS_TASK_STAT_EN must also be set to 1.

OS_TASK_SW_HOOK_EN
It is now possible to disable (at compile time) the need to have the
functions OSTaskSwHook(). This feature was requested because of the
overhead involved in calling empty functions during a context switch
and also every tick. To disable OSTaskSwHook(), simply set
OS_TASK_SW_HOOK_EN to 0 in OS_CFG.H. Of course, the port
(OS_CPU_A.ASM) for the processor you are using must not call
OSTaskSwHook().

OS_TICK_STEP_EN
µC/OS-View can now 'halt' µC/OS-II's tick processing and allow you
to issue 'step' commands from µC/OS-View. In other words, µC/OS-View
can prevent µC/OS-II from calling OSTimeTick() so that timeouts and
time delays are no longer processed. However, though a keystroke
from µC/OS-View, you can execute a single tick at a time. If
OS_TIME_TICK_HOOK_EN (see below) is set to 1, OSTimeTickHook() is
still executed at the regular tick rate in case you have time
critical items to take care of in your application.

OS_TIME_TICK_HOOK_EN
It is now possible to disable (at compile time) the need to have the
functions OSTimeTickHook(). This feature was requested because of
the overhead involved in calling empty functions during a context
switch and also every tick. To disable OSTimeTickHook(), simply set
OS_TIME_TICK_HOOK_EN to 0 in OS_CFG.H.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru