1    /*
     2     * Copyright (c) 2012-2014, Texas Instruments Incorporated
     3     * All rights reserved.
     4     *
     5     * Redistribution and use in source and binary forms, with or without
     6     * modification, are permitted provided that the following conditions
     7     * are met:
     8     *
     9     * *  Redistributions of source code must retain the above copyright
    10     *    notice, this list of conditions and the following disclaimer.
    11     *
    12     * *  Redistributions in binary form must reproduce the above copyright
    13     *    notice, this list of conditions and the following disclaimer in the
    14     *    documentation and/or other materials provided with the distribution.
    15     *
    16     * *  Neither the name of Texas Instruments Incorporated nor the names of
    17     *    its contributors may be used to endorse or promote products derived
    18     *    from this software without specific prior written permission.
    19     *
    20     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    22     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    23     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    27     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    28     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    29     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    30     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31     */
    32    /*
    33     *  ======== package.xdc ========
    34     *
    35     */
    36    
    37    requires ti.sysbios.interfaces;
    38    requires ti.sysbios.family;
    39    
    40    /*!
    41     *  ======== ti.sysbios.hal ========
    42     *  Contains Hardware Abstraction Layer (HAL) modules for the SYS/BIOS kernel.
    43     *
    44     *  SYS/BIOS provides services for configuration and management of interrupts,
    45     *  cache, and timers. Unlike other SYS/BIOS services such as threading, these
    46     *  modules directly program aspects of a device's hardware and are grouped
    47     *  together in the Hardware Abstraction Layer (HAL) package. These modules
    48     *  provide services such as enabling and disabling interrupts, plugging of
    49     *  interrupt vectors, multiplexing of multiple interrupts to a single vector,
    50     *  and cache invalidation or writeback.
    51     *
    52     *  The HAL APIs fall into two categories:
    53     *
    54     *  @p(blist)
    55     *  - Generic APIs that are available across all targets and devices.
    56     *  - Target/device-specific APIs that are available only for a specific device
    57     *    or ISA family
    58     *  @p
    59     *
    60     *  The generic APIs are designed to cover the great majority of use cases.
    61     *  If you are concerned with easy portability between
    62     *  different TI devices, you should use the generic APIs as much
    63     *  as possible. However, if the generic APIs cannot enable use of a
    64     *  device-specific hardware feature that is advantageous to the software
    65     *  application, you may choose to use the target/device-specific APIs.
    66     *
    67     *  The {@link ti.sysbios.hal.Hwi}, {@link ti.sysbios.hal.Timer}, and
    68     *  {@link ti.sysbios.hal.Cache} modules require target/device-specific API
    69     *  implementations to achieve their functionality. To provide a common set
    70     *  of APIs for these modules across all supported families/devices, SYS/BIOS
    71     *  uses the RTSC proxy-delegate module mechanism. That is, each of these
    72     *  modules serves as a proxy for a corresponding
    73     *  target/device-specific module implementation.
    74     *
    75     *  During the configuration step of the application build, the
    76     *  modules in the ti.sysbios.hal package locate and bind themselves to
    77     *  appropriate delegate module implementations based on the current target
    78     *  and platform specified in your config.bld file. The delegate binding
    79     *  process is done internally.
    80     *
    81     *  For example, if your config.bld file specifies that one of your build
    82     *  targets is the C64P family, the {@link ti.sysbios.hal.Hwi} knows to
    83     *  bind itself to the {@link ti.sysbios.family.c64p.Hwi} implementation.
    84     */
    85    package ti.sysbios.hal [2,0,0,0] {
    86        module Cache;
    87        module CacheNull;
    88        module Core;
    89        module CoreNull;
    90        module Hwi;
    91        module Power;
    92        module PowerNull;
    93        module Seconds;
    94        module SecondsCallback;
    95        module SecondsClock;
    96        module Timer;
    97        module TimerNull;
    98    }