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
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 }