SYS/BIOS 6.30.00.28 is a GA release of SYS/BIOS
6.30.
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.30.00.28.
This
release is based on DSP/BIOS 6.21.00.13. Only major change is
the
addition of MSP430 support.
Notes on this release:
The product name has
been changed to SYS/BIOS to reflect the support for a wider set of embedded
processors (i.e., MSP430, Cortex-M3, Arm9).
Source code in the
product is now licensed using the Open-Source BSD license.
This release
contains support for MSP430.
Only one device and
board are supported at this time (MSP430F5438 and exp430F5438
respectively).
Size and timing
benchmarks are provided (see benchmark link in this document for more
information).
The DSP/BIOS Getting Started Guide describes
how to build the examples.
Numerous minor bug
fixes, new device support, and enhancements as listed in the Defects list
below
Defects Fixed: ID
Headline
SDOCM00070408 Timer64 ROV 'id' field is incorrect SDOCM00069833 add 64T/Elf support to BIOS SDOCM00069638 bios conversion tool must better handle MEM segments with space=="Cache" SDOCM00069629 Cache sizes should NOT be set using BIOS 6.x Cache module
SDOCM00069596 add DA802, DA803 and DA804 device
support (needed in 6.21 for ROM and 6.30 w/o ROM) SDOCM00069450 ti.sysbios.family.c64p.dm740 should be
renamed to ti.sysbios.family.c64p.dm8168 SDOCM00069092 Conflicting docs for BIOS.getThreadType SDOCM00069048 BIOS 6: minimize ducati core bringup order restriction SDOCM00068938 AMMU module should have ROV views SDOCM00068063 HeapMem free list ROV view shows duplicate address field SDOCM00067861 add timer2 and timer3 support for 6748 and OMAPL138
SDOCM00067816 BIOS 6: Incorporate OMAP4430 ES1 WA1.1
Hwi_interruptEnable/Disable code into BIOS
SDOCM00067435 BIOS 6: DA830 Arm TimestampProvider
should release the ICEC benchmark counters on program exit. SDOCM00067146 add support for DA850 and evmDA850 to BIOS 6.21 and BIOS 6.30
SDOCM00067139 BIOS 6: Adapt m3.Hwi Exception handler
to work with OMAP4 ARM crash reporting mechanism SDOCM00066815 add 6457 and TCI6484 support to BIOS 6.x SDOCM00066742 BIOS 6: Stellaris Timestamp_get32() causes bus error if invoked before main()
SDOCM00066697 ti.bios source files should use __FAR__
to reference data generated in the assorted XYZ.xdt files (and __FAR__
in .h file) SDOCM00066625
ti.sysbios.family.arm.m3.Hwi: Instance_finalize is empty -
HWI_delete() is broken SDOCM00066546
ti.sysbios.family.arm.dm6446.Hwi: Hwi_getInstance should be
renamed Hwi_getHandle SDOCM00066467
ti.bios.conversion utility should generate error when migrating
projects not supported by BIOS 6.x (e.g., 55x, 64x, 62x, 54x) SDOCM00066465 BIOS 5 -> 6 migration guide should be updated
to match latest CCSv4.1 and BIOS 6.21 features and build flow SDOCM00066285 BIOS 6: Add Hwi.initStackFlag similar to Task.initStackFlag
SDOCM00066283 update BIOS 6 User Guide to reference
ti.sysbios.knl Semaphore/Event/Mailbox modules instead of
ti.sysbios.ipc versions SDOCM00066018 BIOS 6: Provide a means for eliminating Idle Task SDOCM00065977 ti.sysbios.xdcruntime-created Tasks aren't shown in ROV
SDOCM00065559 BIOS 6: Number of Swi and Task
priorities, and Event IDs supported should be checked at build and
runtime SDOCM00063962 remove xdc.runtime and xdc.runtime.knl cdoc from BIOS cdoc
SDOCM00063920 remove Arm/COFF support (M3 and
R4). We will only support ELF for Arm. SDOCM00063592 Create update process for BIOS 6.x in CCSv4.x
SDOCM00063032 add code to generate Timer module html
tables into timer package and add description for gptimer and dmtimer SDOCM00063017 On 28x, Task should error if 'numPriorities' set higher than 16
SDOCM00062828 HeapBuf ROV view for 28x has problems
with maxAllocatedBlocks (16-bit vs 32-bit 0xffff/0xffffffff) SDOCM00062771 BIOS 6 collapse ti.sysbios.family.arm.m3.Hwi and Exception modules into one SDOCM00062710 move ti.sysbios.ipc.Semaphore, Event and Mailbox into ti.sysbios.knl package SDOCM00060930 28x: Need to remove asm(" nop") from Hwi.xdt, Hwi_disable function
SDOCM00060125 update DSP/BIOS to be covered by BSD
license, source release should be rebuildable SDOCM00060116 Fix frequent 28x compiler warning when using "ti/sysbios/interfaces/ICache.h"
SDOCM00060068 eventId field in ROV view for
dynamically created instances of ti.sysbios.family.c64p.Hwi not
properly populated SDOCM00059801
BIOS6, multicore: add shared timer support for multi-core devices
that have shared timer and timer interrupts SDOCM00059794 Need interrupt latency benchmarks. SDOCM00057604 BIOS 6 RTA - Agent auto configure transport
SDOCM00056465 exception manager doesn't align SP,
possible edge condition if .stack size is not a multiple of 8 bytes SDOCM00053303 BIOS 6 Verify Correct Arm RTA operation SDOCM00047834 TSK_checkstacks and KOV should also compare sp with 'base +/- length'
SDOCM00046721 BIOS needs to support ARM9's MMU and
validate cache/emulation is OK in run mode
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.
DA830
ROM
BIOS 6.30 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:
ID
Headline SDOCM00070677 .cinit sectMap code generated by conversion tool is incorrect
SDOCM00070088 BIOS dispatcher should set TSR.XEN so
that exceptions that happen during ISR context will be caught
immediately 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 SDOCM00046756 BIOS6 doesn't have MPC module
The Timing Benchmarks for the MSP430 target have not been
determined.
The published numbers for MSP430 were inadvertantly duplicated from the
M3 timing benchmarks.
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.