SYS/BIOS 6.32.00.28 is a GA release of SYS/BIOS
6.32.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.32.00.28.
Improved build times with pre-built instrumented and non-instrumented libraries (see section 7.6.1 of the BIOS
User's Guide for details).
New graphical configuration interface with better performance.
Support for all MSP430F54xx, MSP430F55xx, MSP430F66xx and other MSP430 devices (See Device Support for full list).
Support for all Stellaris M3 devices (See Device Support for full list).
Assorted minor bug fixes and enhancements as listed below.
Defects Fixed in SYS/BIOS 6.32.00.28 GA (Fixes since SYS/BIOS 6.31.04.27):
ID
Headline SDOCM00080402
rename .taskStackSection to be a subsection of .far or .bss or .ebss
for specific parts (e.g., bss:taskStackSection SDOCM00080396 update C66x benchmarks to use TCI6608 or TCI6616 simulator SDOCM00080230 Need to rethink/rework MSP430 interrupt stubs to resolve issues with nesting SDOCM00080228 Updates needed to the SYS/BIOS Startup Sequence description in the User's Guide SDOCM00080205 add Clock_getPeriod() API SDOCM00080134
BIOS 6: Use enable/disable/restore intrinsics on all family-specific
Hwi modules that support them. SDOCM00080132 BIOS
6: Ducati Timer module throws incorrect error during Timer.create when
no Timer is available SDOCM00080128 BIOS 6: Use
intrinsics available in 4.9.0 ARM codegen tools to implement
Hwi_enable/disable/restore for M3 target SDOCM00080126 BIOS 6: Enforce usage of ARM codegen tools 4.9.0 or newer SDOCM00080122
update 28x default stack size and/or examples to have larger ISR stack
(event and stairstep examples blow ISR stack) SDOCM00079860
Add to release notes, newer versions of SYS/BIOS installed along side
old versions of SYS/BIOS creates 2 sets examples SDOCM00079791 HeapMem_alloc's adjustment to multiple of Memory_Header can round up to zero SDOCM00079764 problems building M3 app for evmTI814X (device not supported error) SDOCM00079714
Gate example in section 3.3 of BIOS User's Guide is incorrect.
List_get() should not need a gate! SDOCM00079557
add 'buildProfile = release" to the example template for BIOS 6.32 so
all examples are release by default SDOCM00079470 BIOS User Guide examples should show Error_Blocks SDOCM00079435 Timestamp count issue on MSP430 SDOCM00079377 C28x cdoc: Clarify relationship between pie vector mappings & interrupt ids SDOCM00079325 BIOS 6: Make M3 exception dump be default behavior SDOCM00079295 AMMU 'translate enabled' attribute should be automatically set if virtAddr != physAddr SDOCM00079206 F28335 throwing bios related error messages which terminate the BIOS6 runnign program SDOCM00078965 Allow runtime changes to the LPM depth entered when idle (MSP430 Power module) SDOCM00078964 Need to remove hardwiring of ACLK and SMCLK frequencies in MSP430 Timer module SDOCM00078963 Should add a "global keep awake" config switch for MSP430 interrupt stubs SDOCM00078961
Neeed way for users to easily associate Timer logical IDs with
corresponding MSP430 timer peripheral SDOCM00078960
use NDK 2.20.03 (built with BIOS 6.30) to validate that 6.32 doesn't
break compatibility for NDK, etc. users SDOCM00078959 provide MSP430-specific SYS/BIOS wiki page SDOCM00078947 BIOS 6: provide optimized 'release' profile support to support faster build times. SDOCM00078913
For dmtimer register initialization: should handle SOFTRESET bit first
(if set), before setting other bits in the register SDOCM00078883 MSP430-specific examples should #include <msp430.h> instead of device-specfic .h SDOCM00078882 empty BIOS project should provide main.cfg and main.c with reasonable content SDOCM00078880 Load/Agent cleanup to simplify use of RTA for MSP430, etc. SDOCM00078878
change Load module defaults (disable Hwi/Swi load), consider update
stairstep example to enable Hwi/Swi load for 6x (not MSP) SDOCM00078852 add 28x-specific PIE example(s) with the product SDOCM00078848
update ti.sysbios.rta.Agent to not have hard dependency on IPC and RTDX
(need to use for stop-mode on MSP430, etc) SDOCM00078783 BIOS 6.x legacy support does not support the 28x/PIE module SDOCM00078625 Need a way to be able to control Hwi properities of implicitly-created Timer instances SDOCM00078529 Need to remove c64p library build for ti/sysbios/family/c66 package SDOCM00078443 need GP timer based TimestampProvider for OMAP4 to better support power use cases SDOCM00078301 Asserts in ISR context results in GateMutex_A_badContext assert SDOCM00078300 improve the cdoc for c28/Hwi, move Hwi_ack() to public section (currently private) SDOCM00078259 Remove 'align' parameter from HeapMem ROV view SDOCM00078080 SYS/BIOS should support all MSP430 5xx/6xx (CPUXv2 architecture) devices SDOCM00078079 Verify SYS/BIOS works with the MSP430 BSL SDOCM00077256
ti.sysbios.family.c64p.Cache and c66.Cache should allow
EMIFxBASE/LENGTH/CFG registers to be modified by user SDOCM00076702 timing benchmarks for 66x show the 674x timing data (bad link or bad page?) SDOCM00076660
Need to check for stack overflow in main() before re-initializing stack
watermark during BIOS startup SDOCM00076612 Stairstep not perfect on MSP430 SDOCM00076606 BIOS 6.x UG should provide more info about configuring MSP430 interrupt stubs SDOCM00074821
flushCache macro in family/c64p/Hwi_asm.s62 doesn't initialize 'type'
argument to the c64p_Cache_wbInv call SDOCM00074098 Implement tick-less mode Clock services for SYS/BIOS (needed for MSP430 and OMAP4 and others) SDOCM00074080 28x specific task example does not fit into memory for 28035 using whole_program SDOCM00073663 consider adding .chm file for BIOS cdoc content so we can support easy search without Eclipse SDOCM00073654
Update BIOS release notes to say "(Indexed and Searchable within
CCS/Eclipse Help)" next to API/cdoc SDOCM00072568 Cannot build RTA sample project for F2812 following the wizard SDOCM00070514 dmtimer ROV view should display a hardware id for each timer instance
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.32
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 SDOCM00080794 Should inline Hwi_enable(), Hwi_disable() and Hwi_restore() for MSP430 SDOCM00080744 custom build option needs to display the sub-options in Grace view w/o needing the refresh step SDOCM00080665
add validation to the build flow to make sure config parameters make
sense for inst/non-inst libraries SDOCM00080614 Clock-tick related fields in ROV can show stale data when doing dynamic tick suppression 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
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.