This release note is divided into the following sections:
Introduction,
Documentation,
What's New,
Upgrading And
Compatibility Information,
Host Support,
Dependencies,
Device Support,
Validation Information,
Known Issues,
Benchmarks,
Versioning,
Technical Support
And Product Updates,
SYS/BIOS 6.31.03.25 is a Patch release of SYS/BIOS
6.31.00.
SYS/ BIOS is a real-time operating system that provides
pre-emptive deterministic multithreading.
The SYS/BIOS 6.x releases introduce a completely new SYS/BIOS kernel
and toolset. The SYS/BIOS 6.x releases include numerous major
enhancements, including completely new kernel APIs. They also include
compatibility layers and tooling to facilitate easy porting of
applications
developed on DSP/BIOS 5.x releases.
A number of
tools and libraries that were provided as an
integrated part of DSP/BIOS 5.x releases must now be downloaded
separately to
obtain a functional solution. It is essential for even experienced
DSP/BIOS
users to refer to the Getting Started
Guide and to the Upgrading and Compatibility Information
section for
further details.
Please read the Getting Started Guide for help installing and setting
up your environment to use SYS/BIOS 6.31.03.25.
back to top
The following documentation is provided with this release:
License and manifest:
Release notes from previous releases are also available in the
release notes archive
directory.
back to top
SYS/BIOS 6.31.03.25 Patch
Release (this release).
- Defect fixes, see list below.
- C28 support for 2806x devices.
This
release is based on SYS/BIOS 6.31.00.
Notes on SYS/BIOS 6.31.00:
- Cortex-A8 support for TI816x, TI814x, and OMAP3530 devices.
- C66x support for the 6670, 6672, 6674 and 6678 devices.
- Memory-related enhancements:
- BIOS.heapSize
– new configuration parameter to specify size of HeapMem heap that BIOS
will create and bind as default heap manager via
Memory.defaultHeapInstance.
- malloc/free
– BIOS now provides malloc(), free(), calloc(), realloc(), and
memalign() functions. The BIOS versions of these functions use
the default HeapMem for the memory heap.
- SYS/BIOS User’s Guide -- Assorted updates to the Memory Chapter (Chapter 5).
- More assert checks -- Added more assert checks to the heaps in the ti.sysbios.heaps package.
- Example improvements – add bigtime.cpp C++ example, simplified configuration for other examples
- MemoryProtect module for C64x+, C674x and C66x.
- Exception Modules – improved output for the family-specific exception modules.
- ROV view improvements – added ROV views for family-specific Exception and Cache modules
- BIOS
libraries are now compiled with –g –o2 for better performance.
The –o2 option will have some effect on stepping through BIOS code in
an application debug build.
Defects Fixed in SYS/BIOS 6.31.03.25 Patch:
ID
Headline
SDOCM00078342 C66 Cache module is incorrectly writing MAR0-15 registers
SDOCM00078266 BIOS 6: ti.sysbios.family.c64p.dm6446 does not export its cfg, .c and package.bld files
SDOCM00078073 add support for 2806x devices to BIOS 6.x including examples for the control28069 board
SDOCM00077976 BIOS 6: ducati unicache interrupts should be handled by the Hwi exception handler.
SDOCM00077874 Clock_tickReconfig does not work on EVM6472 and other timer64 devices
SDOCM00077552 Incorrect logic in Timer_getExpiredCounts for SysTick (Ducati only)
SDOCM00077418
BIOS 6: Statically Created Timer instances should use
BIOS.cpuFreq rather than Program.cpu.clockRate to calculate period.
SDOCM00077283 Generic Task example does not work in the minimal configuration
SDOCM00077253 Device TMS320TI814X not supported by SYS/BIOS
SDOCM00077020 Extraneous comment in C28x task example about blinking an LED
SDOCM00075888 TI81XX: dmtimer module should use default hardware frequencies for timers
back to top
SYS/BIOS 6.x releases have many significant changes from
DSP/BIOS 5.x. It is important to understand the information
below in order to
successfully use SYS/BIOS 6.x and to migrate applications from DSP/BIOS
5.x.
SYS/BIOS 6.31- Added
an assert to GateMutex. GateMutex_enter() calls
BIOS_getThreadType() to validate the calling context.
GateMutex_enter() will raise an assert if called from Hwi or Swi
context. GateMutex internally calls Semaphore_pend/post to
provide the mutex. Semaphore_pend() cannot be called from Swi or
Hwi context if the semaphore is not available. Note that a
GateMutex gate is registered with the TI compiler’s RTS library to make
the RTS library reentrant. Calling printf() and a few other
RTS functions from Swi or Hwi context will yield this
assert.
- This assert check will catch bad code
that could cause a rare crash. While not recommended, this assert
can be disabled by adding ‘GateMutex.common$.diags_ASSERT =
Diags.ALWAYS_OFF;’ to your .cfg file.
- Text footprint on the C6x
increased by 2K due to Exception.enablePrint default now being set to
‘true’ by default. This enables better diagnostic output when an
exception occurs. You can set this config parameter to ‘false’ to
save memory and get a shorter, less informative diagnostic string.
- MMU and Cache are now enabled by default for Arm9.
- Arm9 applications will have larger data/text footprint due to the 16kbyte MMU table and MMU initialization code.
- Moved
ti.sysbios.arm.Cache module to ti.sysbios.arm.arm9.Cache since this
module is Arm9-specific. .cfg scripts will have to be updated to
use new name (‘ti.sysbios.family.arm.arm9.Cache’) and .c files will
have to change to use ‘#include <ti/sysbios/arm/arm9/Cache.h>’.
- Use
BIOS_exit() rather than System_exit() if called from ISR or Swi context
to avoid Assert() in GateMutex module. BIOS_exit() and
System_exit() both flush the SysMin trace buffer using CIO. The
CIO library is protected by GateMutex.
DA830
ROM
- BIOS 6.30 and 6.31 cannot be used with the
DA830 ROM. BIOS 6.21 is the preferred version for DA830 ROM.
The
'ti.sdo.io' and 'ti.sdo.utils' packages are no longer provided with
SYS/BIOS
- These packages are now provided in a
separate
"IPC" product. Users of these packages simply need to add
this
other product directory to their package path (XDCPATH) to build their
applications.
The ti.sysbios.ipc package and its modules have been deprecated
- The
Semaphore, Event, and Mailbox modules were moved from the
ti.sysbios.ipc package into the ti.sysbios.knl package. Please update
your applications to use the ti.sysbios.knl package versions of the
Semaphore, Event, and Mailbox modules. Using the ipc package versions
of these modules will result in build warnings. In a subsequent release
of BIOS, using any module within the ipc package will result in a build
error.
The ti.sysbios.family.arm.m3.Exception module has been deprecated
- The
ti.sysbios.family.arm.m3.Exception module functionality has been
enhanced and merged into the ti.sysbios.family.arm.m3.Hwi module.
Please update your applications to use the ti.sysbios.family.arm.m3.Hwi
module to configure exception handling. By default, exceptions will be
reported to CIO with an Error message. Details of the exception can be
seen using Hwi module's "Exception" ROV view. At the expense of
additonal code size, some of this detailed information can ALSO be
routed to the CIO console by setting the Hwi.enableException
configuration flag to true.
Placing of sections using MEM configs is no longer supported (ie MEM.TEXTSEG is unsupported)
- All
of the legacy MEM memory segment placment functionality has been
removed. Legacy BIOS users must use Program.sectMap to place memory
sections.
The ti.sysbios.family.c64p.Cache.initSize configuration item is no longer supported
- The
ti.sysbios.family.c64p.Cache module no longer supports setting the
Cache sizes. These settings are now managed within a platform and can
be configured using the platform wizard.
SYS/BIOS no
longer
contains all the tools and objects you will need
- The XDC tools now provide the
SYS/BIOS configuration tools and Platform support.
XDC also includes a minimal run-time environment that provides the LOG,
System,
Asserts, Error handling, Timestamp, and Memory Allocation APIs that
will be
used by SYS/BIOS applications. Please refer to the Getting Started Guide on where to
download the XDC tools and
run-time.
Migrating DSP/BIOS
5.x applications to SYS/BIOS 6.x
- SYS/BIOS 6.x has different APIs
compared to those in
DSP/BIOS 5.x. Configuration scripts are also incompatible between the
two
releases. To provide easy migration of DSP/BIOS 5.x
applications, an API
compatibility layer is provided along with a conversion tool that
converts
configuration scripts to work with XDC and SYS/BIOS 6.x. The
API compatibility
layer provides 100% C source code compatibility with the exception of a
few
APIs that are no longer supported. For more complete details
of migrating
DSP/BIOS 5.x applications and configuration scripts, please refer
to Migrating
a DSP/BIOS 5 Application to SYS/BIOS 6.
- As mentioned
above, some APIs previously supported in
DSP/BIOS 5.x releases will no longer be supported in this release or
the
compatibility layer. Complete details are provided in the
Migration document referenced
above.
back to top
- Supported Operating Systems
- Windows 7, Windows XP, Windows Vista
- Linux [RH4], Ubuntu [10.1]
back to top
- Required
Software
- Code Composer Studio
v4.2, Code Composer Studio v5.0 or later
- Code Generation
Tools
- C28X version 5.2.3 or later
- C6X
version 7.0.2 or later
- ARM version
4.6.1 or later
- MSP430 version
3.3.0 or later
- XDCtools
3.20.05.76 or later
- IPC 1.22.00.19 or later
- Required
Hardware
- See Device Support
Section below.
back to top
Click here
for the list of supported devices.
back to top
Click here
for the list of compilers used to build and validate this release (scroll down to Supported Targets section).
back to top
The following issues are known to affect this release:
ID
Headline
SDOCM00076612 Stairstep not perfect on MSP430
SDOCM00076606 BIOS 6.x UG should provide more info about configuring MSP430 interrupt stubs
SDOCM00074130 ROV should reference kernel object names versus object addresses
SDOCM00068360 No data displayed in RTA Exec Graph when attaching to running target
SDOCM00064397 RTA crashes CCS 4.1 after a few reset/reload with USB emulator
back to top
For a full description of Benchmarks please see the
appendices in the SYS/BIOS
6 User's
Guide.
- Timing and Size
Benchmarks
- The Timing Benchmarks for the MSP430 target have not been
determined.
The published numbers for MSP430 were inadvertantly duplicated from the
M3 timing benchmarks.
back to top
All releases have 4 digits (M.mm.pp.bb).
This includes GA and pre-releases (engineering, alpha/EA, beta, etc.).
Pre-releases are denoted with a suffix (e.g. 6.30.00.00-eng or
6.30.00.10-beta).
This product's version follows a version format, M.mm.pp.bb, where M is a single digit
Major number, mm
is 2 digit minor number, pp
is a 2 digit patch number, and b
is an unrestricted set of digits used as an incrementing build counter.
To
support multiple side-by-side installations of the product, the product
version is encoded in the top level directory (e.g. bios_6_30_00_00).
Subsequent
releases of patch upgrades will be identified by the patch number, ex.
SYS/BIOS 6.30.01.15 with directory bios_6_30_01_15. Typically, these
patches only include critical bug fixes.
Please note that
version numbers and compatibility keys are NOT the same. For an
explanation of compatibility keys, please refer to the 'Upgrade and
Compatibility Information' section.
back to top
Technical
Support and Product Updates
back to top
Last updated: January 20, 2011 Build Ver: 6.31.03.25 Rev: g25