]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/MSP430FR5969_LaunchPad/driverlib/MSP430FR5xx_6xx/crc.c
Complete large memory model MSP430FR5969 demo - including CLI and run-time stats.
[freertos] / FreeRTOS / Demo / MSP430FR5969_LaunchPad / driverlib / MSP430FR5xx_6xx / crc.c
1 /* --COPYRIGHT--,BSD\r
2  * Copyright (c) 2014, Texas Instruments Incorporated\r
3  * All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  *\r
9  * *  Redistributions of source code must retain the above copyright\r
10  *    notice, this list of conditions and the following disclaimer.\r
11  *\r
12  * *  Redistributions in binary form must reproduce the above copyright\r
13  *    notice, this list of conditions and the following disclaimer in the\r
14  *    documentation and/or other materials provided with the distribution.\r
15  *\r
16  * *  Neither the name of Texas Instruments Incorporated nor the names of\r
17  *    its contributors may be used to endorse or promote products derived\r
18  *    from this software without specific prior written permission.\r
19  *\r
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\r
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\r
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
31  * --/COPYRIGHT--*/\r
32 //*****************************************************************************\r
33 //\r
34 // crc.c - Driver for the crc Module.\r
35 //\r
36 //*****************************************************************************\r
37 \r
38 //*****************************************************************************\r
39 //\r
40 //! \addtogroup crc_api crc\r
41 //! @{\r
42 //\r
43 //*****************************************************************************\r
44 \r
45 #include "inc/hw_regaccess.h"\r
46 #include "inc/hw_memmap.h"\r
47 \r
48 #ifdef __MSP430_HAS_CRC__\r
49 #include "crc.h"\r
50 \r
51 #include <assert.h>\r
52 \r
53 void CRC_setSeed(uint16_t baseAddress,\r
54                  uint16_t seed)\r
55 {\r
56     HWREG16(baseAddress + OFS_CRCINIRES) = seed;\r
57 }\r
58 \r
59 void CRC_set16BitData(uint16_t baseAddress,\r
60                       uint16_t dataIn)\r
61 {\r
62     HWREG16(baseAddress + OFS_CRCDI) = dataIn;\r
63 }\r
64 \r
65 void CRC_set8BitData(uint16_t baseAddress,\r
66                      uint8_t dataIn)\r
67 {\r
68     HWREG8(baseAddress + OFS_CRCDI_L) = dataIn;\r
69 }\r
70 \r
71 void CRC_set16BitDataReversed(uint16_t baseAddress,\r
72                               uint16_t dataIn)\r
73 {\r
74     HWREG16(baseAddress + OFS_CRCDIRB) = dataIn;\r
75 }\r
76 \r
77 void CRC_set8BitDataReversed(uint16_t baseAddress,\r
78                              uint8_t dataIn)\r
79 {\r
80     HWREG8(baseAddress + OFS_CRCDIRB_L) = dataIn;\r
81 }\r
82 \r
83 uint16_t CRC_getData(uint16_t baseAddress)\r
84 {\r
85     return (HWREG16(baseAddress + OFS_CRCDI));\r
86 }\r
87 \r
88 uint16_t CRC_getResult(uint16_t baseAddress)\r
89 {\r
90     return (HWREG16(baseAddress + OFS_CRCINIRES));\r
91 }\r
92 \r
93 uint16_t CRC_getResultBitsReversed(uint16_t baseAddress)\r
94 {\r
95     return (HWREG16(baseAddress + OFS_CRCRESR));\r
96 }\r
97 \r
98 #endif\r
99 //*****************************************************************************\r
100 //\r
101 //! Close the doxygen group for crc_api\r
102 //! @}\r
103 //\r
104 //*****************************************************************************\r