1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
32 33 34
35
36 requires ti.sysbios.interfaces;
37 requires ti.sysbios.family;
38
39 /*!
40 * ======== ti.sysbios.hal ========
41 * Contains Hardware Abstraction Layer (HAL) modules for the SYS/BIOS kernel.
42 *
43 * SYS/BIOS provides services for configuration and management of interrupts,
44 * cache, and timers. Unlike other SYS/BIOS services such as threading, these
45 * modules directly program aspects of a device's hardware and are grouped
46 * together in the Hardware Abstraction Layer (HAL) package. These modules
47 * provide services such as enabling and disabling interrupts, plugging of
48 * interrupt vectors, multiplexing of multiple interrupts to a single vector,
49 * and cache invalidation or writeback.
50 *
51 * The HAL APIs fall into two categories:
52 *
53 * @p(blist)
54 * - Generic APIs that are available across all targets and devices.
55 * - Target/device-specific APIs that are available only for a specific device
56 * or ISA family
57 * @p
58 *
59 * The generic APIs are designed to cover the great majority of use cases.
60 * If you are concerned with easy portability between
61 * different TI devices, you should use the generic APIs as much
62 * as possible. However, if the generic APIs cannot enable use of a
63 * device-specific hardware feature that is advantageous to the software
64 * application, you may choose to use the target/device-specific APIs.
65 *
66 * The {@link ti.sysbios.hal.Hwi}, {@link ti.sysbios.hal.Timer}, and
67 * {@link ti.sysbios.hal.Cache} modules require target/device-specific API
68 * implementations to achieve their functionality. To provide a common set
69 * of APIs for these modules across all supported families/devices, SYS/BIOS
70 * uses the RTSC proxy-delegate module mechanism. That is, each of these
71 * modules serves as a proxy for a corresponding
72 * target/device-specific module implementation.
73 *
74 * During the configuration step of the application build, the
75 * modules in the ti.sysbios.hal package locate and bind themselves to
76 * appropriate delegate module implementations based on the current target
77 * and platform specified in your config.bld file. The delegate binding
78 * process is done internally.
79 *
80 * For example, if your config.bld file specifies that one of your build
81 * targets is the C64P family, the {@link ti.sysbios.hal.Hwi} knows to
82 * bind itself to the {@link ti.sysbios.family.c64p.Hwi} implementation.
83 */
84 package ti.sysbios.hal [2,0,0,0] {
85 module Cache;
86 module CacheNull;
87 module Core;
88 module CoreNull;
89 module Hwi;
90 module MemProtect;
91 module Power;
92 module PowerNull;
93 module Seconds;
94 module SecondsCallback;
95 module SecondsClock;
96 module SysCall;
97 module SysCallNull;
98 module Timer;
99 module TimerNull;
100 }