Talon 5500 Evaluation Version
[Download]
Overview of the Talon 5500 Operating System
|
Realtime System
|
Uniprocessor System
|
Multiprogrammed System
|
Multithreaded System
|
|
TALON 5500 is a realtime operating system which supports scheduling of program entities
executing in parallel in such a way that deadlines are met and application programs
respond to external events in a bounded time. Realtime features include all POSIX
specifications such as high-resolution timer management, sophisticated interrupt
management, priority thread scheduling, realtime signals, and a number of communication
and synchronization facilities with timeout capability.
|
TALON 5500 is a uniprocessor operating system supporting one DSP executing operating
system and application code. It is assumed that the target system consists of one
TMS320C55x DSP, ROM as well as External and/or Internal DSP RAM.
|
TALON 5500 is a multiprogrammed operating system that supports loading and execution
of parallel POSIX processes, which are separate program modules allowing the application
to be split to a group of relatively independent tasks executing concurrently and
using the operating system services to synchronize their activities.
|
TALON 5500 is a multithreaded operating system which supports multiple threads of
control within a single process, allowing the programmer to exploit the inherent
parallelism in the application and to divide it into a set of activities executing
in parallel in a tightly coupled manner. The supported thread model are the POSIX
threads.
|
|
|
Operating System Capabilities
|
System ROM Image
|
Shared Libraries
|
Device Drivers
|
File Systems
|
|
In addition to serving as a repository for kernel and application code and data
of an embedded system, the system ROM Image File may be used during system development
and debugging stage, because this file may be loaded into a target system and the
program modules it consists from may be debugged using a conventional source code
debugger tool. The following types of Program Modules are supported by the system
ROM image format.
|
.
|
Process Modules.
|
|
.
|
Process Driver Modules.
|
|
.
|
Shared Library Modules.
|
|
.
|
Library Driver Modules.
|
|
.
|
Kernel Extension Modules.
|
|
TALON 5500 provides facilities for sharing program code and data between program
modules by means of Shared Libraries. The shared library mechanism offers a significant
saving in program memory as compared with the regular linkable libraries. Shared
libraries are automatically loaded when a process module or another shared library
module that needs them is loaded. When several modules need the same shared library,
the already loaded copy of the shared library is used. When no longer referenced,
shared libraries are automatically unloaded to free memory resources.
|
The TALON 5500 operating system provides a mechanism to dynamically attach loadable
Device Drivers modules. Support for generic character and block device drivers is
provided by the device driver interface. In addition, a dedicated interface and
supporting line discipline shared libraries are provided for TTY Device Drivers.
A Pseudo-TTY device driver is supplied that offers a terminal support through the
host device driver interface.
|
The TALON 5500 operating system provides a mechanism to dynamically attach loadable
File Systems as kernel extension modules. Three different file systems are implemented:
|
.
|
Memory File System. Serves as the root of the file system
hierarchy.
|
|
.
|
ROM File System. Supported implicitly for the system ROM
Image.
|
Windows Host File System. For customization a Host Device Driver in the target system
and a Target Device Driver in the host machine have to be developed.
|
|
|
Operating System Kernel
|
Design Limits
|
Unbounded Kernel Limits
|
Compilation Limits
|
Build Configuration Parameters
|
|
.
|
Approximately 100KB kernel code size.
|
|
.
|
Nearly 200 system calls.
|
|
.
|
Nearly 300 library functions.
|
|
.
|
32 priority levels for threads and messages.
|
|
.
|
32 different signals (from these 12 are real-time signals).
|
|
.
|
23 characters name length for named kernel objects.
|
|
|
.
|
Number of threads per process.
|
|
.
|
Number of timers per process.
|
|
.
|
Number of queued signals per process.
|
|
.
|
Number of semaphores in the system.
|
|
.
|
Number of message queues in the system.
|
|
.
|
Number of mutexes in the system.
|
|
.
|
Number of condition variables in the system.
|
|
.
|
Number of reader-writer locks in the system.
|
|
.
|
Number of barriers in the system.
|
|
.
|
Number of spin locks in the system.
|
|
.
|
Number of ISR connected to an interrupt.
|
|
|
.
|
32 open semaphores per process.
|
|
.
|
32 open files per process.
|
|
.
|
32 open message queues per process.
|
|
.
|
32 priority levels for threads and messages.
|
|
.
|
32 thread-specific data keys per process.
|
|
.
|
16 cleanup levels per thread.
|
|
|
.
|
Max number of active processes in the system.
|
|
.
|
Interrupt stack size and location.
|
|
.
|
Available system memory layout.
|
|
.
|
System clock period.
|
|
.
|
Round-robin scheduling period.
|
|
.
|
Memory file system parameters.
|
|
|
|
|
C Language Run Time Library
A POSIX-compliant implementation of the C language run-time library is provided
which excludes mathematical functions and character handling, available in the Texas
Instruments C language run-time library. The run-time library is completely Thread
Safe, that is, can be used in a multithreaded process without fear of interference
between threads executing in parallel. |
|
|
POSIX Extensions
The following extensions to the POSIX standard are provided to support specific
features of TMS320C55x DSP family.
- Support for dual access internal DSP memory.
- Support for single access internal DSP memory.
- Support DSP-specific devices as DMA channels.
- Modified COFF format for tuning program modules to the
DSP architecture, memory saving and efficient loading.
|
|
|
Development Support
The operating system package comes with a set of tools for system building and a
set of utility programs to be used at run-time.
|
|
|
Building Tools
The process of system configuration and building is largely automated by the following
system building tools, running under versions of the Microsoft Windows operating
system.
- System Builder. A tool to build the system ROM image file.
- Module Builder. A tool to build a program module using the optimized
modified COFF format.
-
Module Dumper. A tool for dumping the contents of a regular COFF file, a module
COFF file or a ROM Image file.
|
|
|
Program Tools
The following tools are supplied to assist program development and to serve as multithreaded
programming examples.
- Embedded Shell. An original multithreaded shell program esh
that implements partially the POSIX.2 shell standard.
-
Command Line Utilities. A set of ported program utilities such as ls, cat, cp, rm,
mv, etc. to be used under the control of the embedded shell.
|
|
|
Customization
The system customization process is reduced to the customizing of a single source
file, which is then linked with the operating system kernel to produce the executable
kernel image. The rest of the customization is supported by the System Builder tool
at system generation time.
|
|
|
Documentation
The documentation is in HTML format for easy browsing and searching. The following
entry documents are provided:
- Installation and Release Notes
- Thematic Index
- Alphabetic Index
- Thematic Index (Frame-Based)
-
Alphabetic Index (Frame-Based)
|