SYS/BIOS 6.33.00.19 is a release of SYS/BIOS
6.33.00.
SYS/ BIOS is a real-time operating system that provides
pre-emptive deterministicmultithreading.
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.33.00.19.
Added ti.sysbios.io package which includes GIO module and the IOM interface.
Graphical configuration user interface improvements.
Bug fixes and enhancements (see below).
Defects Fixed in SYS/BIOS 6.33.00.19 (Fixes since SYS/BIOS 6.32.05.54):
ID
Headline SDOCM00086138 BIOS installer needs to change its default directory to match CCSv5.1.0 SDOCM00085957 Timestamp_getFreq is incorrect on Concerto's M3 SDOCM00085944
Update Examples.xs for BIOS to remove dependency on IPC product since
rta.Agent no longer needs IPC SDOCM00085916 Update BIOS benchmark.html titles to say "SYS/BIOS" instead of "DSP/BIOS" SDOCM00085824 CpIntc "enabled" field in ROV incorrect SDOCM00085789 BIOS .chm file needs to show all modules (similar to xdctools .chm file) SDOCM00085747 Remove RTDX support from SYS/BIOS RTA Agent -- use STOPMODE or switch to UIA SDOCM00085647 BIOS 6: handle startup case where M3 stacks have already been split at c_int00 SDOCM00085441 BIOS 6: custom makefile RM macro is broken SDOCM00085330 Specified alignment for HeapBuf is ignored for targets that do not support the align directive SDOCM00085251 Add support for Stellaris M4 (with floating point) SDOCM00085209 BIOS.customCCOpts needs better documentation SDOCM00085042 Update FatFs to allocate FIL objects at runtime instead of large static table of FIL objects SDOCM00084944 SYS/BIOS 28x programs crash if .stack section (and _STACK_BASE) is placed at address == 0 SDOCM00084943
Program.stack variable problems with Grace page, it should be shown on
BIOS runtime page next to heapsize SDOCM00084874 Add bios.bld and bios.mak files to product to support easy clean and rebuild for SDK products SDOCM00084870 BIOS 6: Linker warnings when building Tesla custom libraries SDOCM00084422
BIOS table of contents (TOC) has a couple minor problems that affect
CCSv5.1 Eclipse help usability SDOCM00084124 c6657 CPINTC interrupt mapping is not exact match of c6670 SDOCM00083626 GateMutex_enter/leave APIs are not documented (similar problem for other gates) SDOCM00083545 Update A8F default in CCS project wizard to be A8Fnv (or whatever) SDOCM00083529
BIOS 6: Custom build flow for C64T (Tesla) target does not include two
Power related assembly files SDOCM00083389 CpIntc host ints are incorrect for C6678 and TMS320TCI6608 SDOCM00083330
BIOS 6: Add @InstanceInitStatic to Clock and Queue modules so
Clock_construct will work in Static_Policy mode SDOCM00083260 Need GCC support for M3 SDOCM00083160 BIOS 6: LM3 TimestampProvider CDOC is incorrect SDOCM00083145
Stellaris timer grace/gui: change to id using drop-down does not
change id, need to use advanced page SDOCM00083144 ROV for Stellaris Boot module raises exception SDOCM00083138
C28x does not hook up the correct Boot module to the Overview page
(need to fix family/c28/Settings.xs) SDOCM00082956
Need to rationalize Program.heapSize and BIOS.heapSize in the Grace
views, hide Program? move stacksize to BIOS page? SDOCM00082882 BIOS help broken in xgconf, right clicking items shows help as greyed out SDOCM00082788 Typo in PLL type specification for TMS320C28346 device for ti.platforms.tms320x28 SDOCM00082786 c28x generic platform TMS320C28341-28346.cmd files contains bad memory section name. SDOCM00082552 Add .init_array section to linker command files for Concerto’s M3 SDOCM00082529 Change stairstep example to use STOPMODE for all targets since RTDX is no longer supported SDOCM00082492
Add GIO APIs and IOM driver interface and allow easy use of C-based
drivers similar to BI0S 5.x drivers SDOCM00082466 BIOS 6: provide support for AM335x A8 cores. SDOCM00082343
Dispatcher function should be able to return a wakeup flag to the
HWI dispatcher for MSP430. SDOCM00081917 stop shipping div*.c files with fatfs example SDOCM00081910
BIOS 6: Add period input clock frequency validation to Timer or Clock
module to detect configuration errors SDOCM00081850
BIOS 6: Need to add rules to CCS build flow to force rebuild of
pre-built libs when a component module C file is changed SDOCM00081684 DM8168: Timer0 interrupts at twice expected frequency SDOCM00080638 Mailbox needs a getMsgSize API SDOCM00085127 Change stairstep example to use STOPMODE for all targets since RTDX is no longer supported
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.
The
default directory for SYS/BIOS is changing to match CCSv5.1.0, "C:\ti"
is the new default directory (SDOCM00086138 -- BIOS installer needs to
change its default directory to match CCSv5.1.0)
RTDX has been removed and is no longer supported. Only stop mode is supported for Realtime Analysis (RTA).
SYS/BIOS 6.32
For
TI816X devices (ie Netra), GPTimers 3 and 7 have been removed from the
list of usable timers due to anomalous behavior when clocked at 32KHz
resulting in two interrupts for every period when run in continuous
mode.
We
are planning to remove support for the whole_program and
whole_program_debug profiles because of build time problems and
compatibility problems when using different compiler
versions. SYS/BIOS 6.32 will output a warning message when
the whole_program or whole_program_debug profiles are used.
We are now providing pre-built libraries which can be selected via the
BIOS.libType configuration parameter (see section 7.6.1 of the BIOS
User's Guide for details). The instrumented
library contains Assert() and Log statements. The
non-instrumented library does not. The custom library can
be used to build a custom BIOS library which will be built using
#define constants reflecting some of the key configuration parameters
from your application .cfg file. The non-instrumented
library and custom library should give you similar or better
performance
to SYS/BIOS 6.31 using the whole_program profile.
.taskStackSection
has been renamed – The .taskStackSection linker section has been
renamed to be a subsection of .far, .bss, or .ebss as appropriate for
the given target. This allows BIOS to be used with CCS-supplied
linker .cmd files for the MSP430, Stellaris and 28x devices. This
section is used to place the stacks for tasks created at configuration
time. The new name is provided in the
Task.defaultStackSection field in your configuration. If you
reference ‘.taskStackSection’ in your .cfg file, you should change the
code to use Task.defaultStackSection.
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.
The following issues are known to affect this release:
If
this version of SYS/BIOS is installed on the same system
as SYS/BIOS 6.31.00.xx or older, and use the same version of
CCS, the user may see two "SYS/BIOS" folders in the examples when
creating a new project. The Eclipse plugins were updated to
fix this in SYS/BIOS 6.31.01.19 and later. To work around this
issue remove all versions of SYS/BIOS older than 6.31.01.19.
ID
Headline SDOCM00086462 Need to add M4 to list of supported devices SDOCM00082528 Linker command file inserted regardless of platform selected for C28 examples SDOCM00074130 ROV should reference kernel object names versus object addresses SDOCM00068360 No data displayed in RTA Exec Graph when attaching to running target
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.