//############################################################################# // // FILE: cm.h // // TITLE: Communication manager setup for examples. // //############################################################################# // // // $Copyright: // Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the // distribution. // // Neither the name of Texas Instruments Incorporated nor the names of // its contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // $ //############################################################################# // // Included Files // #include "driverlib_cm.h" //***************************************************************************** // // Defines related to clock configuration. This frequency will be the CM clock // frequency driven by c28x. // //***************************************************************************** #define CM_CLK_FREQ 125000000U //***************************************************************************** // // Macro to call SysCtl_delay() to achieve a delay in microseconds. The macro // will convert the desired delay in microseconds to the count value expected // by the function. \b x is the number of microseconds to delay. // The SysCtl_delay() function takes around 3 cycles per iteration plus 9 // cycles of overhead which needs to be accounted for when converting the // microseconds delay into the number of delay loop iterations passed to the // SysCtl_delay() function. // // Note that 3 cycles per iteration is valid if SysCtl_delay function resides // in CxRAM. SxRAM is 2x slower than CxRAM and hence will consume 6 cycles per // iteration. // //***************************************************************************** #define DEVICE_DELAY_US(x) SysCtl_delay(((((long double)(x)) / (1000000.0L / \ (long double)CM_CLK_FREQ)) - 9.0L) / 3.0L) //***************************************************************************** // // Defines, Globals, and Header Includes related to Flash Support // //***************************************************************************** #ifdef _FLASH #include extern uint16_t RamfuncsLoadStart; extern uint16_t RamfuncsLoadEnd; extern uint16_t RamfuncsLoadSize; extern uint16_t RamfuncsRunStart; extern uint16_t RamfuncsRunEnd; extern uint16_t RamfuncsRunSize; #define DEVICE_FLASH_WAITSTATES 2 #endif //***************************************************************************** // // Defines for pin numbers and other GPIO configuration // //***************************************************************************** // // LEDs // #define DEVICE_GPIO_PIN_LED1 31U // GPIO number for LD2 #define DEVICE_GPIO_PIN_LED2 34U // GPIO number for LD3 //***************************************************************************** // // Function Prototypes // //***************************************************************************** extern void CM_init(void); extern void CM_enableAllPeripherals(void); extern void __error__(const char *filename, uint32_t line);