1
00:00:00,840 --> 00:00:01,340
Hello.

2
00:00:01,380 --> 00:00:02,290
Welcome back.

3
00:00:02,310 --> 00:00:09,150
In this lesson we're going to see how to develop a GP I O output drive up for a while Texas Instrument

4
00:00:09,400 --> 00:00:15,030
Tim for C one two three microcontroller board will create a new project by coming over here.

5
00:00:15,030 --> 00:00:17,010
Project New Vision project

6
00:00:20,080 --> 00:00:26,060
and then um I'm going to navigate to the um so for that to start my project

7
00:00:29,080 --> 00:00:31,150
I'm going to keep it over here.

8
00:00:31,690 --> 00:00:35,880
I call this GPO and then I'll save it.

9
00:00:35,890 --> 00:00:46,410
My board is t n for C team for C 1 2 3 0 8 6 p.m. and then okay.

10
00:00:48,930 --> 00:00:51,450
So like this and then I'll click Okay.

11
00:00:51,670 --> 00:00:58,690
And then on the Simpsons I select the core on a device I select the start up then I say okay.

12
00:00:58,720 --> 00:01:00,370
Over here.

13
00:01:00,400 --> 00:01:01,170
Right.

14
00:01:01,210 --> 00:01:08,950
So then this my project target just him for C so renamed this to him for C and then I'll drop down over

15
00:01:08,950 --> 00:01:09,240
here.

16
00:01:09,250 --> 00:01:18,690
Source group are renamed is to up then I'll add new file but new item I see that dot s file.

17
00:01:19,510 --> 00:01:21,740
I'll give it a name made right.

18
00:01:22,150 --> 00:01:30,040
So before we went before we're able to develop our drivers we would have to take a look at the data

19
00:01:30,040 --> 00:01:36,370
sheet and the um the reference module provided so that we can know the addresses of the various ports

20
00:01:36,460 --> 00:01:39,260
and on the other pair forms that we need.

21
00:01:39,640 --> 00:01:46,840
So if you're using common vision you can come to the book stop over here and then they provide us to

22
00:01:46,840 --> 00:01:52,250
provide us um device data books we can click this and see if it works.

23
00:01:52,330 --> 00:01:54,370
The last time I tried it it didn't work.

24
00:01:55,280 --> 00:02:00,480
Um it brings us to the s t microelectronics website.

25
00:02:00,700 --> 00:02:02,380
Windows Explorer has crashed.

26
00:02:03,160 --> 00:02:05,340
Um anyway I suspect this doesn't work.

27
00:02:05,680 --> 00:02:12,560
So what I'm gonna do is I'm going to go to Google and find the um they use a module as well as the data

28
00:02:12,560 --> 00:02:13,690
sheet.

29
00:02:13,690 --> 00:02:18,640
For those of you who office in the S M 32 version of this course you realize that we were able to get

30
00:02:18,670 --> 00:02:21,390
access to those documents from this side here.

31
00:02:21,400 --> 00:02:24,190
It's not the same for Texas Instruments if not updated.

32
00:02:24,250 --> 00:02:26,740
So we have to find out from the Internet.

33
00:02:26,740 --> 00:02:40,790
I'm going to open my my search and I'm going to start off by search and time for C 1 2 3 to 4 C use

34
00:02:40,810 --> 00:02:41,380
a manual

35
00:02:47,240 --> 00:02:48,250
and.

36
00:02:49,610 --> 00:02:50,220
Okay.

37
00:02:50,310 --> 00:02:50,790
This appeal.

38
00:02:50,800 --> 00:02:51,060
Yeah.

39
00:02:51,100 --> 00:02:52,450
Yeah.

40
00:02:52,450 --> 00:02:57,160
No no S T C Series lunch but I'm gonna open this

41
00:03:02,210 --> 00:03:09,930
and I'm going to save it.

42
00:03:10,050 --> 00:03:12,090
This is the TVC use of my new

43
00:03:15,490 --> 00:03:16,690
I call this.

44
00:03:16,690 --> 00:03:21,620
You can say that on your computer at cost.

45
00:03:21,680 --> 00:03:25,430
If you have the board you would need this document right.

46
00:03:27,130 --> 00:03:27,560
Okay.

47
00:03:27,560 --> 00:03:29,480
And went to fetch another documents.

48
00:03:29,540 --> 00:03:32,490
This time I'm going to get the data sheet.

49
00:03:32,720 --> 00:03:37,370
I'll just change this to words use a mind or here to a single word data sheet

50
00:03:45,070 --> 00:03:53,360
and we have this other document to the SCC we still foresee key age 6 p.m. okay.

51
00:03:53,410 --> 00:04:00,750
This is it open in another tab and it s got over 1000 pages.

52
00:04:00,760 --> 00:04:02,410
This the data sheet.

53
00:04:03,030 --> 00:04:04,260
I'll save this as well.

54
00:04:07,590 --> 00:04:09,700
Team 4 C 1 2 3

55
00:04:12,880 --> 00:04:15,700
data sheet.

56
00:04:15,970 --> 00:04:16,480
Right.

57
00:04:18,920 --> 00:04:22,620
So I'm going to close this no.

58
00:04:23,090 --> 00:04:23,590
Right.

59
00:04:23,980 --> 00:04:25,830
So let's open the documents.

60
00:04:25,840 --> 00:04:27,910
We download it.

61
00:04:28,120 --> 00:04:29,410
I've got them here.

62
00:04:29,530 --> 00:04:33,300
So I've got to use a manual here and then I've got a data sheet.

63
00:04:33,310 --> 00:04:35,460
Let's take a look at the um the user manual.

64
00:04:41,050 --> 00:04:46,450
Um I'm going to take a look at this schematic diagram of the T4 seaport cause I want to know where our

65
00:04:46,460 --> 00:04:48,200
edit LCD connected.

66
00:04:48,220 --> 00:04:58,060
We are going to use our our GP LCD for our experiment right here on the page number on the page number

67
00:04:58,060 --> 00:04:58,350
four.

68
00:04:58,360 --> 00:05:03,220
We have an overview of the port showing the various components we have on the board.

69
00:05:03,280 --> 00:05:04,310
We've got the power here.

70
00:05:04,330 --> 00:05:06,960
We've got this microcontroller for debugging.

71
00:05:06,970 --> 00:05:09,110
This is our main microcontroller.

72
00:05:09,160 --> 00:05:12,370
We've got our Archie B LCD over here.

73
00:05:13,120 --> 00:05:19,920
And then we've got to to use our switches that we're going to use for our experiment as well.

74
00:05:20,020 --> 00:05:26,560
Then we've got USP here for those of you who want to develop USPTO devices right.

75
00:05:26,790 --> 00:05:29,780
But we'll we're truly interested in is down here.

76
00:05:29,980 --> 00:05:31,180
Page number 40

77
00:05:34,440 --> 00:05:40,010
I just go to 40 by searching over here.

78
00:05:40,060 --> 00:05:45,450
It's gonna 40 says it's gonna page number 40 sorry.

79
00:05:45,760 --> 00:05:48,230
I think it's page number 20.

80
00:05:48,300 --> 00:05:48,610
Skip.

81
00:05:48,760 --> 00:05:49,150
Okay.

82
00:05:49,180 --> 00:05:49,470
Yeah.

83
00:05:49,480 --> 00:05:50,110
Here we go.

84
00:05:50,740 --> 00:05:51,970
Okay.

85
00:05:52,480 --> 00:05:53,410
I'm going to zoom in

86
00:05:56,730 --> 00:05:58,700
and over here we have our LCD.

87
00:05:58,710 --> 00:06:06,980
We have we have our GP so we have Red Queen blue LCD and they are connected.

88
00:06:07,200 --> 00:06:13,020
Let's see if we can find the connection we want to see which pins they are connected to the microcontroller.

89
00:06:13,050 --> 00:06:13,560
Okay.

90
00:06:13,600 --> 00:06:15,230
This is the bit that talks about.

91
00:06:16,920 --> 00:06:17,160
Okay.

92
00:06:17,190 --> 00:06:26,940
So it seems our user buttons and melodies are all connected to port f f you is connected to this switch.

93
00:06:26,940 --> 00:06:35,670
Number two if one is connected to the red LCD P F two is connected to the blue LCD P if three is connected

94
00:06:35,670 --> 00:06:40,140
to the green LG P F four is connected to the switch number one.

95
00:06:40,320 --> 00:06:48,060
So we find this information at page number 20 of the user my new winner take note I'm gonna just put

96
00:06:48,060 --> 00:06:50,900
some notes here I'm just taking a step by step.

97
00:06:51,100 --> 00:06:57,570
So I just put this board and I hope I know nothing about it this is how I'll go about to write my first

98
00:06:57,570 --> 00:07:03,990
assembly driver or first go to the user manual to see how the power flows out connect to see how the

99
00:07:03,990 --> 00:07:13,040
arm to see how things like the LCD and other test test component are connected and then I'll take note

100
00:07:13,890 --> 00:07:21,790
and I will just take note by writing a comment this is what I do in my professional life I see um LCD

101
00:07:21,840 --> 00:07:26,100
red as we saw this is Pier 1

102
00:07:29,040 --> 00:07:37,140
we saw the switch one off switch to SPF 0 0 just call this Toby 2 This was PFC row

103
00:07:41,160 --> 00:07:47,700
and then little green SPF 2

104
00:07:56,140 --> 00:08:00,020
reality blue SPF 3.

105
00:08:04,290 --> 00:08:06,390
And then we had to switch one

106
00:08:09,190 --> 00:08:10,550
which was Pier 4.

107
00:08:11,320 --> 00:08:11,640
Okay.

108
00:08:11,680 --> 00:08:17,990
So these are the components we have we can test both GPL you input and output with the LCD and the switches

109
00:08:18,470 --> 00:08:19,000
right.

110
00:08:19,030 --> 00:08:20,450
And we know where to find them.

111
00:08:20,470 --> 00:08:24,320
They're all input F right.

112
00:08:24,340 --> 00:08:26,710
So we know to write what you tell your driver.

113
00:08:27,610 --> 00:08:31,990
Um to to sort of use our Elegy for our GPL you experiment.

114
00:08:31,990 --> 00:08:39,700
We need to access GPL you put F and couldn't figure out the registers that relates to the particular

115
00:08:39,740 --> 00:08:40,890
entity we want to talk.

116
00:08:41,090 --> 00:08:42,460
We want to Tokyo.

117
00:08:43,250 --> 00:08:45,980
So we need to find those registers before we do that.

118
00:08:45,970 --> 00:08:54,490
I have to give you a quick overview of how how modern day microcontrollers are designed and so modern

119
00:08:54,490 --> 00:09:00,840
day microcontrollers um are different in what in many ways from auto microcontrollers.

120
00:09:00,850 --> 00:09:06,480
One of these ways is in the mix and what is known as the implementation of the club gating mechanism

121
00:09:07,180 --> 00:09:14,830
and what this means is the clock access to various parts or you can call its various modules or you

122
00:09:14,830 --> 00:09:21,520
can still call its various peripherals so if the board block access to these various parts are blocked

123
00:09:21,730 --> 00:09:23,080
by default.

124
00:09:23,080 --> 00:09:26,340
So if I take my microcontroller proc access to GPL you.

125
00:09:26,350 --> 00:09:27,420
It doesn't exist.

126
00:09:27,460 --> 00:09:34,330
It is closed clock access to you can you be this close clock access to ATC clearance clock access to

127
00:09:34,330 --> 00:09:36,830
you are disclosed et cetera.

128
00:09:37,150 --> 00:09:39,080
This is known as clock gate.

129
00:09:39,160 --> 00:09:44,650
And what this does is this this sort of makes the Metro controller consume less power.

130
00:09:45,010 --> 00:09:53,620
And this is done because because the um the clock access is close by default you only enable or allow

131
00:09:53,620 --> 00:10:00,460
clock access to the parts that you want to use so that you don't just allow clock access to the entire

132
00:10:00,460 --> 00:10:00,940
board.

133
00:10:01,190 --> 00:10:01,660
Yes.

134
00:10:01,750 --> 00:10:05,160
Enable clock access to the parts that you want to use.

135
00:10:05,170 --> 00:10:14,410
So in this lesson we are going to use Port F because our output is connected to port F to port f we

136
00:10:14,410 --> 00:10:18,750
need to enable clock access to port F right.

137
00:10:19,420 --> 00:10:27,640
So um yeah we need to enable clock access to port F and then once we enable clock access to port f we

138
00:10:27,640 --> 00:10:35,540
can uh we can Togo the um their respective um port f registers.

139
00:10:35,560 --> 00:10:42,160
We can talk out the right registers in now that to configure port f us be the input output.

140
00:10:42,450 --> 00:10:42,890
Right.

141
00:10:45,470 --> 00:10:52,580
Now to enable clock access to a particular module and also I should mention in this course when I use

142
00:10:52,580 --> 00:10:59,390
the word module part and peripheral they mean the same thing I'm going to be using them interchangeably

143
00:11:00,250 --> 00:11:05,120
um paraphrase is much more specific as you would know about when I say module or parts.

144
00:11:05,210 --> 00:11:07,750
I'm just trying to see a particular unit.

145
00:11:08,020 --> 00:11:09,400
Right.

146
00:11:09,550 --> 00:11:09,820
Yeah.

147
00:11:11,810 --> 00:11:20,660
So to see how to enable clock access for a particular module um we have to decide on which bus to use

148
00:11:21,380 --> 00:11:25,750
generally in um quote X M architecture idea two types of buses.

149
00:11:25,850 --> 00:11:34,970
We have the AP bus and the HP bus the AP bus stands for Advanced peripheral bus and the HP bus stands

150
00:11:34,970 --> 00:11:37,700
for iPhone's high performance bus.

151
00:11:37,790 --> 00:11:44,540
The difference between the two is that the high performance one the HP allows for faster access to pay

152
00:11:44,550 --> 00:11:45,220
for those

153
00:11:48,320 --> 00:12:01,110
so as I was saying the um the HP I'm sorry that I had to replace my my headphones it got broken so as

154
00:12:01,110 --> 00:12:07,590
all saying we've got HP and AP bus and HP allows for a faster access to peripherals.

155
00:12:07,740 --> 00:12:15,600
So for instance if you use an HP bus to access a GPL you peripheral it might take let's say just two

156
00:12:15,600 --> 00:12:24,680
clock cycles to access it but if you want to access the same profile through APB you might need four.

157
00:12:24,900 --> 00:12:30,800
So HP could give you two and then APB would require four cycles to do the this is just an example.

158
00:12:30,810 --> 00:12:36,360
It's not specific anyway let's go to the data sheet to see a block diagram of our board and see how

159
00:12:36,360 --> 00:12:42,150
the HP an APB bus connects to the various peripherals of the board.

160
00:12:42,150 --> 00:12:46,350
I'm gonna go to the data sheets that we downloaded over here.

161
00:12:46,350 --> 00:12:48,200
There should be a block diagram somewhere.

162
00:12:48,450 --> 00:12:52,050
All of the data sheets have them.

163
00:12:52,450 --> 00:12:56,980
See.

164
00:12:57,640 --> 00:12:58,420
Sorry about that

165
00:13:02,160 --> 00:13:09,480
so um getting familiar with the data sheet is um so requirement for anyone who wants to take embedded

166
00:13:09,480 --> 00:13:15,120
development seriously you would have to get used to the data sheet and try.

167
00:13:15,270 --> 00:13:18,020
Um begin to like it essentially.

168
00:13:18,420 --> 00:13:25,380
Um once you understand the data sheets you can sort of rewrite the entire library of a particular board

169
00:13:25,470 --> 00:13:28,700
and get the most out of the port if you may.

170
00:13:28,730 --> 00:13:29,110
Right.

171
00:13:29,160 --> 00:13:33,710
Mr. block diagram we're looking for you can find this on page number 48.

172
00:13:33,730 --> 00:13:34,790
It's a 48.

173
00:13:34,800 --> 00:13:36,850
Yes it is 48 of the data sheet.

174
00:13:38,010 --> 00:13:38,720
Okay.

175
00:13:39,630 --> 00:13:44,140
So this is the um uh microcontroller high level block diagram.

176
00:13:44,310 --> 00:13:50,670
We have the E P B bus here and then we have the HP bus when you see this arrow.

177
00:13:50,700 --> 00:13:53,490
It means the particle profile connects to this bus.

178
00:13:53,490 --> 00:13:57,290
For instance the ATC connects to the APB bus to kill you.

179
00:13:57,290 --> 00:13:58,940
It also connects to the AP bus.

180
00:13:58,980 --> 00:14:05,130
So to use this you need to enable clock access of the eight through the APB bus.

181
00:14:05,200 --> 00:14:06,850
Right.

182
00:14:06,930 --> 00:14:10,680
General Purpose time it connects to the AP bus.

183
00:14:10,680 --> 00:14:13,600
Watchdog time is connect to the APB bus as well.

184
00:14:13,650 --> 00:14:20,280
Okay but what brought us here is the GPA you we have that you pay you for the GPL you they connect to

185
00:14:20,280 --> 00:14:22,560
both the HP and the APB.

186
00:14:22,560 --> 00:14:24,420
That is why we have two areas here.

187
00:14:24,420 --> 00:14:25,580
One for HP.

188
00:14:25,590 --> 00:14:31,680
Another one for APB so we can we can um we can use any bus we want for the GPL.

189
00:14:31,710 --> 00:14:37,200
But in our experiment we're going to use the default which is the APB connection.

190
00:14:37,400 --> 00:14:38,670
Right.

191
00:14:38,760 --> 00:14:39,900
So that's what we gonna do.

192
00:14:42,970 --> 00:14:43,440
Okay.

193
00:14:43,460 --> 00:14:48,690
Now on that we know the um the bus is available for access and the pair.

194
00:14:49,400 --> 00:14:52,130
We have to take a look at the registers of the peripheral.

195
00:14:52,130 --> 00:14:59,200
We are working with and then um also over here I have to give a short um short explanation.

196
00:14:59,270 --> 00:15:06,930
So um microcontrollers regardless of silicon manufacturer and regardless of architecture what eight

197
00:15:06,970 --> 00:15:16,490
sixteen bits 32 bits a microcontrollers all microcontrollers when you are dealing with the GPL you should

198
00:15:16,490 --> 00:15:21,260
have at least two registers and I know if you've seen the theoretical lesson I may have mentioned this

199
00:15:21,260 --> 00:15:22,040
already.

200
00:15:22,040 --> 00:15:23,600
They should have at least two registers.

201
00:15:23,600 --> 00:15:27,840
One is called the direction register and one is the data register.

202
00:15:28,010 --> 00:15:35,630
We use a direction register to set the GPL you as are inputs or outputs the data register is where the

203
00:15:35,690 --> 00:15:42,590
data is stored if it's output we write the data to the data register if it's input we read the data

204
00:15:42,740 --> 00:15:44,590
from the data register.

205
00:15:44,900 --> 00:15:46,080
Right.

206
00:15:46,090 --> 00:15:51,930
Apart from these two registers you would have optional registers that are useful things like decide

207
00:15:51,960 --> 00:15:58,400
into whether the pin should serve as an alternate function pane and then digitally enable in the pen

208
00:15:58,430 --> 00:16:03,860
or on the locally and enabling the pin cetera but a two man registers are the data in the direction

209
00:16:03,860 --> 00:16:05,000
register.

210
00:16:05,000 --> 00:16:05,330
Right.

211
00:16:05,780 --> 00:16:17,540
So far here in um in the architecture registers of the peripheral are often arranged as offsets from

212
00:16:17,540 --> 00:16:18,820
a base address.

213
00:16:20,490 --> 00:16:29,900
So in order to sort of find the register of a particular pair for let's say GPL you a GPL you a must.

214
00:16:29,950 --> 00:16:36,000
It's like the Register saying GPL you e are of the same type of state register as in GPL you'll be in

215
00:16:36,000 --> 00:16:43,640
the of the same type as registered some GPL you see of the same type as registers and GPL your D etc..

216
00:16:43,710 --> 00:16:50,790
And because of this it's designed such that there is just a single address for GPL you e and then the

217
00:16:50,790 --> 00:16:56,490
GPL you register as such as GPL you a direction register is an offset from that single base address

218
00:16:56,490 --> 00:17:05,100
of GPL you e and GPL you a data register is another offset from the base address of GPA a such that

219
00:17:05,520 --> 00:17:13,140
the offset of the various types of registers the offsets are the same so wherever you are looking for

220
00:17:13,200 --> 00:17:20,770
direction register you can have the offset to be zero x2 1 and then when you are using looking for data

221
00:17:20,790 --> 00:17:29,550
register you can have the offset to be 0 x 3 2 but how we know that this data register belongs to GPL

222
00:17:29,550 --> 00:17:38,720
you e not GPL you see is that to get a complete address of lessee GPL you a data register you've got

223
00:17:38,710 --> 00:17:46,100
to take the bass address of GPL you e and you add the offset and because the various peripherals GPL

224
00:17:46,230 --> 00:17:53,310
a b c d etc. Do they have different base address they have their own base addresses so even if the offset

225
00:17:53,370 --> 00:17:59,850
of the various registers are the same because they have different base addresses we can be able to identify

226
00:17:59,880 --> 00:18:06,300
that this particular data register belongs to GPL you e this particular direction register it belongs

227
00:18:06,300 --> 00:18:12,510
to GPL you e etc. so without talking much less writes this less continue clued in you understand what

228
00:18:12,510 --> 00:18:12,890
I mean.

229
00:18:14,100 --> 00:18:17,790
So I'm gonna go back to the data sheet and I'm going to go to a page.

230
00:18:17,790 --> 00:18:23,250
I'm gonna go to Page 92 to find what is known as the memory model and this would give me the base address

231
00:18:23,340 --> 00:18:24,910
of my peripherals.

232
00:18:25,170 --> 00:18:29,000
So let's go to the data sheet.

233
00:18:29,460 --> 00:18:32,580
I'm gonna search 92 over here.

234
00:18:32,910 --> 00:18:39,300
It says memory module here and this keeps the base address so GPL you a base addresses this.

235
00:18:39,310 --> 00:18:40,520
It starts from here.

236
00:18:40,560 --> 00:18:42,180
It ends here.

237
00:18:42,180 --> 00:18:44,490
So the base address that that's what we need.

238
00:18:44,490 --> 00:18:46,810
So I'm gonna copy this.

239
00:18:47,290 --> 00:18:47,770
Sorry

240
00:18:51,270 --> 00:18:51,790
Grinch.

241
00:18:51,790 --> 00:18:54,560
Copy this and then I'll keep.

242
00:18:54,610 --> 00:19:01,660
I'll take note the call this GPL your APIs

243
00:19:05,230 --> 00:19:08,560
or delete the dot here right.

244
00:19:09,770 --> 00:19:12,890
So we have the base address.

245
00:19:12,890 --> 00:19:19,670
Another thing we need is the um system control base address system control is what we going to we're

246
00:19:19,670 --> 00:19:26,930
going to go through the system control to enable clock access for the entire GPL you um peripheral.

247
00:19:27,020 --> 00:19:33,250
So I'm going to fetch the system control piece address as well.

248
00:19:33,370 --> 00:19:38,470
Let's see.

249
00:19:38,720 --> 00:19:41,330
We should have this somewhere.

250
00:19:41,390 --> 00:19:42,200
Y is

251
00:19:54,000 --> 00:20:03,870
okay so if we want to o just point this out if we want to access GPL you e through the E HP bus we would

252
00:20:03,870 --> 00:20:10,530
have to use this other base address but because we accessing it through the default which is the APB.

253
00:20:10,530 --> 00:20:23,580
That is why I took the first address to this I know the address but it says HB here right.

254
00:20:24,080 --> 00:20:24,510
Right.

255
00:20:24,510 --> 00:20:28,220
If we cannot find the um the address on the table is fine that s another way.

256
00:20:29,490 --> 00:20:33,900
So when we go to the page that talks about the um the particular module it s right.

257
00:20:33,900 --> 00:20:37,860
The um what we call it it s gives us the address of the module.

258
00:20:38,250 --> 00:20:46,260
So let's go to the clock Kate and register and see the address written that the clock gate and um it

259
00:20:46,260 --> 00:20:57,930
s code the RC GC RC GC So just go to the top of the data sheet and search RC gc um RC DC.

260
00:20:59,220 --> 00:20:59,520
Okay.

261
00:20:59,550 --> 00:21:05,670
So this is a RC GC GP I O O click this and then let's see

262
00:21:10,600 --> 00:21:12,690
okay so that's the base address.

263
00:21:12,700 --> 00:21:14,260
It keeps us the base address too.

264
00:21:14,980 --> 00:21:15,670
And this is good.

265
00:21:15,670 --> 00:21:23,950
In other um in other documentations such as the um that of s t microelectronics when you go to the page

266
00:21:23,950 --> 00:21:26,040
that talks about a particular peripheral.

267
00:21:26,110 --> 00:21:28,270
It talks only about the.

268
00:21:28,330 --> 00:21:29,500
It gives you just the offset.

269
00:21:29,520 --> 00:21:34,600
It's expected to go to the um the table we're going to to fetch the uh the base address.

270
00:21:34,910 --> 00:21:37,340
But over here it keeps the base address as well.

271
00:21:37,570 --> 00:21:43,450
So we're going to use this to exit uh to a neighbor clock access and we can read more about it before

272
00:21:43,450 --> 00:21:44,170
I copy this.

273
00:21:44,170 --> 00:21:46,170
Oh sure you can.

274
00:21:46,390 --> 00:21:51,430
So it is called the general purpose input output run mode.

275
00:21:51,430 --> 00:21:52,860
Clock age in control.

276
00:21:53,740 --> 00:21:56,080
So this is this sort of closes.

277
00:21:56,090 --> 00:22:04,570
This is the gate clock gate to the GPL you and we can readable bits number five over here and you can

278
00:22:04,570 --> 00:22:07,530
simply come over here and read about the Spitzer number five.

279
00:22:07,530 --> 00:22:13,260
It says GPL puts f run mode locating control value description.

280
00:22:13,330 --> 00:22:20,640
Def zero GPL you put F is disabled if one enable and provide cloak to GPL you put F in run mode.

281
00:22:20,890 --> 00:22:27,960
So we would have to write we would have to write 1 2 bits 5 of this register here.

282
00:22:28,090 --> 00:22:29,410
So I'm going to copy the register

283
00:22:35,410 --> 00:22:36,860
right.

284
00:22:37,150 --> 00:22:43,590
And then um oh take note this is the base address actually belongs.

285
00:22:43,600 --> 00:22:50,320
It is for something um is for a structure known us says control so I'm going to call this this control

286
00:22:50,320 --> 00:22:56,950
base cos this uh the other the other members of the CIS control.

287
00:22:57,040 --> 00:23:00,880
So um perhaps perhaps I should just show you this.

288
00:23:00,880 --> 00:23:02,420
So this is how it is written.

289
00:23:02,480 --> 00:23:09,880
If if if we're going to write um let's say the um the complete Dreyfus from ground up professionally

290
00:23:10,270 --> 00:23:17,560
if we're going to write it to look like the CMC s um the CMC is written drivers we're going to write

291
00:23:17,560 --> 00:23:18,730
it in a structure form.

292
00:23:18,940 --> 00:23:23,800
So it's C language it would look like something like it would look something like this struct and then

293
00:23:23,800 --> 00:23:29,550
instruct I might probably have I I probably have um

294
00:23:33,150 --> 00:23:48,280
I may probably have GPL you RCC our GC right and then I probably have g p t m RCC and then I might probably

295
00:23:48,280 --> 00:23:55,570
have component 3 comp 3 and then comp for something like this

296
00:23:58,860 --> 00:24:00,790
and then I'll come here and give it a name

297
00:24:03,550 --> 00:24:04,870
something like Cisco control

298
00:24:12,030 --> 00:24:12,510
like this

299
00:24:16,020 --> 00:24:20,260
sorry for the look at the kind of spill control.

300
00:24:20,260 --> 00:24:22,030
So so that's the base.

301
00:24:22,350 --> 00:24:28,020
The reason why we keep talking about base address and offset is to get a complete address of this member

302
00:24:28,020 --> 00:24:29,300
here and these members.

303
00:24:29,370 --> 00:24:31,400
Yeah just yeah just registers.

304
00:24:31,410 --> 00:24:35,760
So let's say I want to get a complete address of this has to be the address of the base which is the

305
00:24:35,760 --> 00:24:39,580
structure the address of the structure plus the address of the member.

306
00:24:39,630 --> 00:24:41,070
Right.

307
00:24:41,160 --> 00:24:47,010
So this address that would just fetch our C GC belongs to a structure in no system control.

308
00:24:47,010 --> 00:24:51,550
That is why I've given it the name system control base here and all of it GPL you.

309
00:24:51,570 --> 00:24:59,050
This can be GPL you GPL you a it's the same way and we're going to have direction right yes the data

310
00:24:59,090 --> 00:25:05,520
so enable register data register etc. This is how it looks if you want to view it in the form of a data

311
00:25:05,520 --> 00:25:05,930
structure.

312
00:25:05,940 --> 00:25:11,790
So to get the address or direction register we've got to take the base address plus the offset here

313
00:25:12,060 --> 00:25:17,730
to get the address uh the address of digital enabled register we've got to take the base address plus

314
00:25:17,760 --> 00:25:19,060
the offset.

315
00:25:19,070 --> 00:25:20,200
Right.

316
00:25:20,280 --> 00:25:27,360
Anyway so we've got system control base and then there's the IP address of the base.

317
00:25:27,360 --> 00:25:27,690
Right.

318
00:25:27,690 --> 00:25:32,870
So let's see the offset for the RCC it gives us the offset here.

319
00:25:32,880 --> 00:25:40,130
That's the offset of RCC um offset of I Richie I see GC.

320
00:25:40,260 --> 00:25:45,390
I keep saying RCC because in SDM microelectronics it is called the RCC.

321
00:25:45,390 --> 00:25:52,430
So I'm going to take this sort of what the goodness to copy is you.

322
00:25:52,470 --> 00:25:54,540
X 6 0 8

323
00:26:01,690 --> 00:26:05,610
0 x 6 0 8.

324
00:26:05,620 --> 00:26:05,900
Okay.

325
00:26:06,100 --> 00:26:11,760
So now let's construct the RCC register to construct the RCC register.

326
00:26:12,610 --> 00:26:17,650
What I'm gonna do is to improve readability I'm going to do this step by step I'm going to first create

327
00:26:17,650 --> 00:26:27,700
a symbolic name for the base address or two Ss control and it's called base and I use the Q you directive

328
00:26:28,630 --> 00:26:41,320
and then I just assign this hexadecimal number here and then next I'll say I will C G C G P I 0 offset

329
00:26:42,400 --> 00:26:47,160
and we know it already this the offset the offset for our GC GPA you.

330
00:26:47,440 --> 00:26:54,040
So if we take the base and then we add the offset we get the complete address for this register.

331
00:26:54,040 --> 00:26:55,660
So this

332
00:26:59,550 --> 00:27:04,960
this I'll say it to you and then I'll pass the base that we got so x 6 0 8.

333
00:27:04,990 --> 00:27:08,360
Let's confirm it's the same as your x 6 or 8.

334
00:27:08,430 --> 00:27:15,130
So now to get the address I'm simply going to say since I'm going to use this naming convention and

335
00:27:15,130 --> 00:27:19,740
I'll explain why that is later I'll say says control

336
00:27:22,860 --> 00:27:29,940
R C G C G P I O underscore r e q u

337
00:27:33,650 --> 00:27:43,180
and this is simply a course system control base plus the offset.

338
00:27:43,230 --> 00:27:45,020
Simple as this.

339
00:27:45,210 --> 00:27:50,580
The reason I've decided to call this this registered this I could have used a shorter name.

340
00:27:50,640 --> 00:27:51,920
I could afford it.

341
00:27:51,920 --> 00:27:54,670
I could have called it Rick 1 or rec 2.

342
00:27:54,690 --> 00:27:56,260
All my.

343
00:27:56,310 --> 00:28:01,200
I could have given it any name in a symbolic name but the reason I'm using this as a figure to write

344
00:28:01,260 --> 00:28:08,910
this code in bare metal embedded to see you're going to use this same um the same naming convention

345
00:28:08,940 --> 00:28:14,090
if you use only Texas Instruments library you would see that there's a register that is called this.

346
00:28:14,130 --> 00:28:20,490
If you use this naming convention if I use under CMC this library provided by um you see that the naming

347
00:28:20,490 --> 00:28:21,990
convention is like this.

348
00:28:22,220 --> 00:28:23,800
I'm showing what I mean.

349
00:28:23,890 --> 00:28:30,270
I remember when I told you it's a structure in a member relationship with a base address and the offset.

350
00:28:30,270 --> 00:28:36,920
If I'm to get access to this register in my bare metal programming for those of you who have taken them

351
00:28:36,940 --> 00:28:41,320
met the bare metal um version of this course you would understand what I mean.

352
00:28:41,340 --> 00:28:44,210
But if you haven't this explanation should suffice.

353
00:28:44,220 --> 00:28:52,800
If I'm too if I want to access this register in C language or simply say SAS control and it's written

354
00:28:52,800 --> 00:28:55,070
seize control of put an R here.

355
00:28:56,190 --> 00:28:58,450
Yeah I think it's gonna hurt.

356
00:28:58,970 --> 00:28:59,970
We're gonna eliminate the.

357
00:28:59,990 --> 00:29:01,650
Ah yeah.

358
00:29:01,760 --> 00:29:02,820
It's written says control.

359
00:29:02,830 --> 00:29:03,700
That's the name they use.

360
00:29:03,720 --> 00:29:09,650
And then they use the arrow operator to access the RC GC GP.

361
00:29:09,790 --> 00:29:13,060
I remember and then I can assign my number here.

362
00:29:13,260 --> 00:29:18,130
So say I want to enable clock for Port f I would write this.

363
00:29:18,150 --> 00:29:26,260
This is what I want to in C language to enable clock access for Port f this bit here gives me this register

364
00:29:26,270 --> 00:29:27,690
that we've just created.

365
00:29:27,690 --> 00:29:30,660
So that is why I'm using the operator.

366
00:29:30,660 --> 00:29:35,000
So anyway you see the arrow if you just think way you see the underscore.

367
00:29:35,310 --> 00:29:38,000
If you had to convey this to C language it becomes an arrow.

368
00:29:38,640 --> 00:29:45,810
And for those of you who know you know basic data structures of C C in this you know that are C GC GPL

369
00:29:45,810 --> 00:29:52,200
you is a member of this CIS controls which is a structure like I explained earlier.

370
00:29:52,200 --> 00:29:52,990
Right.

371
00:29:53,040 --> 00:29:53,490
Moving on.

372
00:29:53,490 --> 00:29:55,940
So if you do understand any of what I just said.

373
00:29:55,970 --> 00:29:57,870
Just send me a message.

374
00:29:57,870 --> 00:30:00,960
So we have our RC GC GPL you register.

375
00:30:01,110 --> 00:30:10,880
We're going to do the same for GPL U A and it s registers so we can create GPL you a piece.

376
00:30:10,920 --> 00:30:16,400
I'm going to see the GPL you f sorry I keep saying eh.

377
00:30:16,830 --> 00:30:17,520
We have a way.

378
00:30:17,630 --> 00:30:26,440
Oh uh LDA switches on GPL you f do play F base but I ended up fetching GPL you a bass.

379
00:30:27,180 --> 00:30:29,020
This is ridiculous.

380
00:30:29,040 --> 00:30:36,000
Let's go and get GPL you f g p you f do we have it

381
00:30:47,690 --> 00:30:48,570
just bear with me.

382
00:30:56,820 --> 00:30:58,020
Um.

383
00:30:58,290 --> 00:31:05,860
I'm just gonna do d e end to get one registered D to um the digital will register.

384
00:31:05,890 --> 00:31:06,190
Okay.

385
00:31:06,220 --> 00:31:07,570
This is the key player U.S.

386
00:31:12,250 --> 00:31:12,910
Denholm

387
00:31:16,220 --> 00:31:17,600
register descriptions.

388
00:31:17,600 --> 00:31:19,390
Let's see what we have.

389
00:31:19,430 --> 00:31:19,850
Okay.

390
00:31:19,850 --> 00:31:24,500
So over here it gives us the complete addresses of the GPL you registers.

391
00:31:24,560 --> 00:31:28,070
Okay I'm on page number.

392
00:31:28,480 --> 00:31:29,120
Let's see.

393
00:31:29,120 --> 00:31:30,120
I'm on Page.

394
00:31:30,380 --> 00:31:32,750
Page Number Six hundred and sixty two.

395
00:31:33,320 --> 00:31:35,720
So um I'm looking for the GPL.

396
00:31:35,720 --> 00:31:42,200
You f register um the GPL you f register bass address and I'm using APB which is the default.

397
00:31:42,230 --> 00:31:43,510
I'm not using HP.

398
00:31:43,580 --> 00:31:44,900
What do I mean by default.

399
00:31:44,900 --> 00:31:47,180
I'm deciding which address to use.

400
00:31:47,180 --> 00:31:48,190
There's no default here.

401
00:31:48,230 --> 00:31:51,190
I'm using the APB right to copy this.

402
00:31:52,430 --> 00:31:52,780
Yeah.

403
00:31:53,030 --> 00:31:53,390
Um.

404
00:31:53,420 --> 00:31:53,670
Yeah.

405
00:31:53,720 --> 00:31:56,990
So GPL you f APB bass address.

406
00:31:56,990 --> 00:32:05,420
I'm gonna copy this then you can use this as I just cleaned a dot in there.

407
00:32:05,440 --> 00:32:11,500
Now we are going to look for the various GPA registers to do that.

408
00:32:11,500 --> 00:32:19,030
One thing we we can do is just to behave naive if I didn't know how to program this board the Texas

409
00:32:19,030 --> 00:32:19,820
Instrument.

410
00:32:20,180 --> 00:32:27,160
Um the guys at the guys at Texas Instruments and the ladies who wrote the um the reference my door in

411
00:32:27,160 --> 00:32:33,190
the data sheet they provide the steps steps for sort of working with the GPA.

412
00:32:33,220 --> 00:32:36,010
Let's see if given a step by step.

413
00:32:36,220 --> 00:32:37,250
Okay.

414
00:32:37,810 --> 00:32:41,410
This is it initialization and configuration.

415
00:32:41,480 --> 00:32:42,190
Who goes over here.

416
00:32:42,190 --> 00:32:48,340
Did you apply with more jokes maybe access to different memory just like we mentioned like uh previously

417
00:32:48,370 --> 00:32:54,710
the legacy a picture I.D. APB advanced peripheral but is backwards compatible with previous devices.

418
00:32:54,820 --> 00:33:00,930
The other aperture the advanced high performance bus HP offers the same register map but provides better

419
00:33:00,940 --> 00:33:03,670
back to back access before most than APB.

420
00:33:03,670 --> 00:33:09,100
These approaches are mutually exclusive meaning we can have just one.

421
00:33:09,190 --> 00:33:15,310
The aperture enabled for a given GPL your port is controlled by the appropriate port in the GPL you

422
00:33:15,430 --> 00:33:19,000
each keep playing HPC register.

423
00:33:19,480 --> 00:33:21,950
Okay.

424
00:33:22,010 --> 00:33:24,220
Note that GPL you can only access.

425
00:33:24,220 --> 00:33:29,520
Note that GPL you can only be accessed through the HB aperture.

426
00:33:29,530 --> 00:33:35,080
Note that the you play you can only be access to the HB aperture.

427
00:33:35,100 --> 00:33:37,130
This is strange.

428
00:33:37,400 --> 00:33:38,030
Mm hmm.

429
00:33:44,030 --> 00:33:45,980
Yeah yeah.

430
00:33:47,430 --> 00:33:47,970
Okay.

431
00:33:47,980 --> 00:33:53,890
You need not worry about this because I have tried this you can access it both through the HP and APB

432
00:33:53,910 --> 00:33:55,640
a picture.

433
00:33:56,140 --> 00:33:57,420
So I wonder why does it not.

434
00:33:57,460 --> 00:33:58,440
That's creepy.

435
00:33:58,450 --> 00:34:01,610
I can only be accessed through the HB.

436
00:34:01,870 --> 00:34:02,490
Okay.

437
00:34:02,570 --> 00:34:05,840
Anyway so these are the steps to figure out a GPL Europeans.

438
00:34:06,010 --> 00:34:12,880
We face enable clock access and then we set a direction using that direction register sets the direction

439
00:34:12,880 --> 00:34:18,040
of the GPL your port use in that direction register and to set a direction means to decide whether it

440
00:34:18,040 --> 00:34:23,740
should be input or output and then configure the alternate function select if we want to configure it

441
00:34:23,740 --> 00:34:31,580
will alternate function and then if we want it to drive something like a DC motor we can set the.

442
00:34:32,350 --> 00:34:34,780
We can get we can set to decry for strength.

443
00:34:34,780 --> 00:34:37,440
This basically means to set the current.

444
00:34:37,780 --> 00:34:45,370
We have to our for our eight hour and then after that we can set some pull up registers pull down registers

445
00:34:45,400 --> 00:34:52,390
or output drain program each part in the port to have it up pull up pull it out or open drain.

446
00:34:52,660 --> 00:34:53,530
Right.

447
00:34:53,800 --> 00:35:00,130
And then we can said this but when are we going to do decompose we start to do is to set a direction

448
00:35:00,130 --> 00:35:07,260
register and then to set the ditch to enable to digitally enable the pin.

449
00:35:07,300 --> 00:35:09,220
There should be a d e n register.

450
00:35:09,290 --> 00:35:15,990
Okay to digitally enabled a pin over here and then to read and write the data into the data register

451
00:35:16,030 --> 00:35:20,140
so you can read more about this if you want to get a complete picture.

452
00:35:20,640 --> 00:35:21,040
Right.

453
00:35:22,180 --> 00:35:29,970
So let's go find a direction register it should be found here.

454
00:35:30,980 --> 00:35:35,940
Cause we are in the GPL u um section okay.

455
00:35:35,950 --> 00:35:37,390
You give us a list of.

456
00:35:37,720 --> 00:35:37,950
Yeah.

457
00:35:37,960 --> 00:35:42,090
Give us a summary of the register and the various various offsets.

458
00:35:42,100 --> 00:35:44,890
But I want us to go to what it registers.

459
00:35:44,920 --> 00:35:45,300
Okay.

460
00:35:45,670 --> 00:35:46,570
Um.

461
00:35:46,600 --> 00:35:52,270
This that direction registered the GPL you direction register is that data direction register sets in

462
00:35:52,270 --> 00:35:53,690
a bit and a desire register.

463
00:35:53,690 --> 00:36:00,070
Can't forget that corresponded to be an output while clearing the pin meaning setting a bit I mean and

464
00:36:00,070 --> 00:36:04,130
setting it to zero config as their corresponding pin to be an input.

465
00:36:04,630 --> 00:36:13,480
So if we want to set a P F to as output we've got a right to want to bet number two in a way.

466
00:36:13,510 --> 00:36:13,920
Yeah.

467
00:36:13,960 --> 00:36:18,320
He has the offset of this register is 0 x for sure sure.

468
00:36:18,430 --> 00:36:21,380
Okay so I'm gonna create this register.

469
00:36:23,420 --> 00:36:27,060
I'll come here and see your GP.

470
00:36:27,070 --> 00:36:34,200
I f said GPL you f d I are for direction

471
00:36:36,830 --> 00:36:39,630
offset and you.

472
00:36:39,640 --> 00:36:47,490
Q You said this is your ex force your issue let's confirm that it's your ex force your issue right.

473
00:36:47,530 --> 00:36:56,800
So once we've done that we can create the other and we can create the register itself GPL you F D I

474
00:36:56,890 --> 00:37:07,980
R and R you are here for register and this is equal to the GPA f page address plus the GPL you f offset

475
00:37:14,420 --> 00:37:14,840
right.

476
00:37:15,260 --> 00:37:23,210
So the next register will deal with is the um the GPL you f data register so I'm gonna say since we

477
00:37:23,210 --> 00:37:24,300
have the offset.

478
00:37:24,350 --> 00:37:28,560
Since we have the base I simply need to drop the offset and create the register.

479
00:37:28,730 --> 00:37:34,910
I'm gonna write over here GPL you f data offset

480
00:37:37,800 --> 00:37:47,720
and then I'm gonna say a Q you we don't have it yet so I'll leave it blank and then GPL f data are mean

481
00:37:47,750 --> 00:37:49,290
in the register itself.

482
00:37:49,320 --> 00:37:52,310
This a course the GPL you f base

483
00:37:59,410 --> 00:38:01,810
plus t offset.

484
00:38:02,590 --> 00:38:03,030
Okay.

485
00:38:03,070 --> 00:38:08,110
Once this is done we need to sort out the key you output.

486
00:38:08,290 --> 00:38:16,070
Um the digital enabled register which is that the end source GPA f DG n offset.

487
00:38:16,750 --> 00:38:19,150
And then we say to you we fetch later.

488
00:38:19,210 --> 00:38:25,810
So GPL you f the N R over here the real register

489
00:38:28,660 --> 00:38:31,450
and we know this to be the base

490
00:38:34,460 --> 00:38:35,780
plus to offset

491
00:38:38,510 --> 00:38:39,060
right.

492
00:38:41,180 --> 00:38:45,290
So let's go locate the offset of these two registers.

493
00:38:45,410 --> 00:38:49,340
How many miles is this a bit.

494
00:38:49,340 --> 00:38:50,020
Right.

495
00:38:50,060 --> 00:38:53,880
So um let's find the um the offset of the data register.

496
00:38:54,350 --> 00:38:56,020
Gonna come back to the data sheet.

497
00:38:57,320 --> 00:38:59,330
So I've got to tell your data register.

498
00:38:59,330 --> 00:39:00,980
You can read about it from here.

499
00:39:01,040 --> 00:39:04,680
If you want the offset is sure X Sure.

500
00:39:04,890 --> 00:39:06,600
So good a place that over here

501
00:39:09,800 --> 00:39:10,670
rather strange

502
00:39:17,930 --> 00:39:21,350
to see the data register as a tricky one.

503
00:39:21,350 --> 00:39:24,980
This is not the offset data right.

504
00:39:24,980 --> 00:39:28,270
Yes that is it's different from other registers.

505
00:39:28,310 --> 00:39:29,960
We talk about that later.

506
00:39:30,440 --> 00:39:31,900
So I'm gonna keep that open.

507
00:39:31,910 --> 00:39:37,610
The GPL UDP and the digital mini will register the um.

508
00:39:37,750 --> 00:39:40,000
We scroll down here for the n

509
00:39:49,520 --> 00:39:50,990
it should be down here somewhere.

510
00:40:06,380 --> 00:40:08,440
Um research

511
00:40:13,290 --> 00:40:17,130
d e n here it is.

512
00:40:17,330 --> 00:40:21,190
So the offsets for this is your x5 one c.

513
00:40:22,040 --> 00:40:28,810
Okay.

514
00:40:29,650 --> 00:40:30,110
Right.

515
00:40:32,900 --> 00:40:33,330
Okay.

516
00:40:33,380 --> 00:40:35,680
So back to the data register.

517
00:40:36,170 --> 00:40:40,670
Um in the data sheet we saw the offset of the data register to be sure extra issue.

518
00:40:41,150 --> 00:40:44,790
Um but if we use your x years for it it wouldn't work.

519
00:40:44,810 --> 00:40:54,350
The actual offset is 0 x 3 FC and um the reason why this is I think uh would have to create a separate

520
00:40:54,350 --> 00:41:02,270
lesson to explain how the GPL your data register is configured or it arranged a bit different from the

521
00:41:02,270 --> 00:41:03,040
other registers.

522
00:41:03,080 --> 00:41:08,610
So for now this is still a way to accept this offsets for the GPL data register.

523
00:41:09,740 --> 00:41:12,140
Yeah I want you to accept this at face value.

524
00:41:12,200 --> 00:41:17,860
I'm going to add it up an article or if you do less and explain why this is the offset.

525
00:41:18,110 --> 00:41:18,520
Right.

526
00:41:18,530 --> 00:41:19,300
Moving on.

527
00:41:20,480 --> 00:41:29,210
So we um we saw that in the GPL you in the um in the RC GC GPL you register would need to set bits number

528
00:41:29,210 --> 00:41:33,250
5 to 1 in order to allow clock access for Port f.

529
00:41:33,770 --> 00:41:35,620
I'm gonna create a symbolic name for that.

530
00:41:35,630 --> 00:41:45,260
I'm gonna say GPL you f enable and enable I'm gonna see you can you and I'm gonna shift one two bits

531
00:41:45,270 --> 00:41:50,570
number five shift one to position number five and then I'm gonna create another symbolic name to turn

532
00:41:50,570 --> 00:41:51,660
on the red LCD.

533
00:41:53,630 --> 00:41:56,490
We already know what a red is connected to P.F. 1.

534
00:41:56,600 --> 00:42:04,700
So I'm gonna shift 1 to position number 1 shift 1 2 bits Number 1 like this and then I'm going to do

535
00:42:04,970 --> 00:42:09,340
for the green LCD LCD screen

536
00:42:14,020 --> 00:42:17,080
Oh which is which

537
00:42:20,080 --> 00:42:24,420
blue SPF two green SPF 3.

538
00:42:24,570 --> 00:42:29,100
I think this is blue and this is green.

539
00:42:29,120 --> 00:42:31,530
Right.

540
00:42:32,200 --> 00:42:33,570
So a lady blue

541
00:42:37,050 --> 00:42:37,680
Q You

542
00:42:41,070 --> 00:42:42,840
two and then a lady green.

543
00:42:47,300 --> 00:42:50,800
Q You were right.

544
00:42:50,870 --> 00:42:52,370
So we've got all of this.

545
00:42:53,720 --> 00:42:55,750
Um I'm going to clean our notes

546
00:42:59,490 --> 00:42:59,910
right.

547
00:43:00,210 --> 00:43:06,640
So we've been able to locate and create symbolic names for all the relevant registers we require.

548
00:43:07,230 --> 00:43:10,920
So let's continue in the next lesson and let's implement a.

549
00:43:10,950 --> 00:43:12,600
Driver in the next lesson I'll see you in the.
