SikendeRTOS
RTOS for ARM Cortex M3+ SoCs designed and written from scratch
PLL.h
Go to the documentation of this file.
1
12// PLL.h
13// Runs on LM4F120/TM4C123
14// A software function to change the bus frequency using the PLL.
15// Daniel Valvano
16// May 3, 2015
17
18/* This example accompanies the book
19 "Embedded Systems: Real Time Interfacing to Arm Cortex M Microcontrollers",
20 ISBN: 978-1463590154, Jonathan Valvano, copyright (c) 2015
21 Program 2.10, Figure 2.37
22
23 Copyright 2015 by Jonathan W. Valvano, valvano@mail.utexas.edu
24 You may use, edit, run or distribute this file
25 as long as the above copyright notice remains
26 THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
27 OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
28 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
29 VALVANO SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
30 OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
31 For more information about my classes, my research, and my books, see
32 http://users.ece.utexas.edu/~valvano/
33 */
34
35#include "cpu_vars.h"
36
37// The #define statement SYSDIV2 initializes
38// the PLL to the desired frequency.
39// SYSDIV = 400/freq -1
40// bus frequency is 400MMHz/(SYSDIV+1)
41
42// configure the system to get its clock from the PLL
43void PLL_Init(INT32U freq);
44#define Bus80MHz 4
45#define Bus80_000MHz 4
46#define Bus66_667MHz 5
47#define Bus50_000MHz 7
48#define Bus50MHz 7
49#define Bus44_444MHz 8
50#define Bus40_000MHz 9
51#define Bus40MHz 9
52#define Bus36_364MHz 10
53#define Bus33_333MHz 11
54#define Bus30_769MHz 12
55#define Bus28_571MHz 13
56#define Bus26_667MHz 14
57#define Bus25_000MHz 15
58#define Bus25MHz 15
59#define Bus23_529MHz 16
60#define Bus22_222MHz 17
61#define Bus21_053MHz 18
62#define Bus20_000MHz 19
63#define Bus20MHz 19
64#define Bus19_048MHz 20
65#define Bus18_182MHz 21
66#define Bus17_391MHz 22
67#define Bus16_667MHz 23
68#define Bus16_000MHz 24
69#define Bus16MHz 24
70#define Bus15_385MHz 25
71#define Bus14_815MHz 26
72#define Bus14_286MHz 27
73#define Bus13_793MHz 28
74#define Bus13_333MHz 29
75#define Bus12_903MHz 30
76#define Bus12_500MHz 31
77#define Bus12_121MHz 32
78#define Bus11_765MHz 33
79#define Bus11_429MHz 34
80#define Bus11_111MHz 35
81#define Bus10_811MHz 36
82#define Bus10_526MHz 37
83#define Bus10_256MHz 38
84#define Bus10_000MHz 39
85#define Bus10MHz 39
86#define Bus9_756MHz 40
87#define Bus9_524MHz 41
88#define Bus9_302MHz 42
89#define Bus9_091MHz 43
90#define Bus8_889MHz 44
91#define Bus8_696MHz 45
92#define Bus8_511MHz 46
93#define Bus8_333MHz 47
94#define Bus8_163MHz 48
95#define Bus8_000MHz 49
96#define Bus8MHz 49
97#define Bus7_843MHz 50
98#define Bus7_692MHz 51
99#define Bus7_547MHz 52
100#define Bus7_407MHz 53
101#define Bus7_273MHz 54
102#define Bus7_143MHz 55
103#define Bus7_018MHz 56
104#define Bus6_897MHz 57
105#define Bus6_780MHz 58
106#define Bus6_667MHz 59
107#define Bus6_557MHz 60
108#define Bus6_452MHz 61
109#define Bus6_349MHz 62
110#define Bus6_250MHz 63
111#define Bus6_154MHz 64
112#define Bus6_061MHz 65
113#define Bus5_970MHz 66
114#define Bus5_882MHz 67
115#define Bus5_797MHz 68
116#define Bus5_714MHz 69
117#define Bus5_634MHz 70
118#define Bus5_556MHz 71
119#define Bus5_479MHz 72
120#define Bus5_405MHz 73
121#define Bus5_333MHz 74
122#define Bus5_263MHz 75
123#define Bus5_195MHz 76
124#define Bus5_128MHz 77
125#define Bus5_063MHz 78
126#define Bus5_000MHz 79
127#define Bus4_938MHz 80
128#define Bus4_878MHz 81
129#define Bus4_819MHz 82
130#define Bus4_762MHz 83
131#define Bus4_706MHz 84
132#define Bus4_651MHz 85
133#define Bus4_598MHz 86
134#define Bus4_545MHz 87
135#define Bus4_494MHz 88
136#define Bus4_444MHz 89
137#define Bus4_396MHz 90
138#define Bus4_348MHz 91
139#define Bus4_301MHz 92
140#define Bus4_255MHz 93
141#define Bus4_211MHz 94
142#define Bus4_167MHz 95
143#define Bus4_124MHz 96
144#define Bus4_082MHz 97
145#define Bus4_040MHz 98
146#define Bus4_000MHz 99
147#define Bus4MHz 99
148#define Bus3_960MHz 100
149#define Bus3_922MHz 101
150#define Bus3_883MHz 102
151#define Bus3_846MHz 103
152#define Bus3_810MHz 104
153#define Bus3_774MHz 105
154#define Bus3_738MHz 106
155#define Bus3_704MHz 107
156#define Bus3_670MHz 108
157#define Bus3_636MHz 109
158#define Bus3_604MHz 110
159#define Bus3_571MHz 111
160#define Bus3_540MHz 112
161#define Bus3_509MHz 113
162#define Bus3_478MHz 114
163#define Bus3_448MHz 115
164#define Bus3_419MHz 116
165#define Bus3_390MHz 117
166#define Bus3_361MHz 118
167#define Bus3_333MHz 119
168#define Bus3_306MHz 120
169#define Bus3_279MHz 121
170#define Bus3_252MHz 122
171#define Bus3_226MHz 123
172#define Bus3_200MHz 124
173#define Bus3_175MHz 125
174#define Bus3_150MHz 126
175#define Bus3_125MHz 127
176
177
178
179
uint32_t INT32U
Definition: cpu_vars.h:15
void PLL_Init(INT32U freq)
Definition: PLL.c:53
Contains CPU/Compilter variables.