1
00:00:00,060 --> 00:00:02,040
So let us try to understand and Typekit.

2
00:00:02,790 --> 00:00:10,470
First, we'll try to include all the many different drivers, so we have an exciting DC dotage that

3
00:00:10,470 --> 00:00:18,030
will be handling all the work related to an injured controller experiment or stage where we will be

4
00:00:18,030 --> 00:00:20,160
finding all the hardware related information.

5
00:00:20,160 --> 00:00:27,210
Select the which consists of an EPA that it used to correctly initialize, as well as enable an exception

6
00:00:27,210 --> 00:00:27,630
handler.

7
00:00:27,630 --> 00:00:31,230
And then for a timer, we have a democracy right now.

8
00:00:31,230 --> 00:00:36,690
If you go through a timer on something interesting to notice, it's compared to GPIO.

9
00:00:36,990 --> 00:00:41,660
We do not have anything as global enable or an interpreter, right?

10
00:00:41,670 --> 00:00:47,540
So you could see we have a self-tests get set set options lookup config.

11
00:00:47,550 --> 00:00:52,490
The API related to BW aim then database to start, then stop a timer.

12
00:00:52,500 --> 00:00:59,450
But we do not have an EPA that could be used to perform a global enable and the enable rate.

13
00:00:59,460 --> 00:01:08,590
So the peripheral specific enable EPAs are not available, which we have in n GPIO peripheral drivers

14
00:01:08,590 --> 00:01:08,970
right to.

15
00:01:08,970 --> 00:01:11,670
In such case, we could ignore that step.

16
00:01:11,670 --> 00:01:14,040
That is, we do not need to perform that step.

17
00:01:14,040 --> 00:01:15,510
So if you remember.

18
00:01:15,760 --> 00:01:22,950
OK, so while we configure our rights so we enable execution, OK, then we enable those switch one,

19
00:01:22,980 --> 00:01:27,340
OK, which will allow us an AI in DC to receive the signal from a benefit.

20
00:01:27,750 --> 00:01:33,930
And then we since we do not have a global enable line and interpretable, we could simply skip the step

21
00:01:33,930 --> 00:01:34,980
and start an operation.

22
00:01:35,290 --> 00:01:41,930
Remember this step whenever you do not Lane Global enable an an interoperable EPA is available in a

23
00:01:41,940 --> 00:01:45,030
driver specific, very, very specific driver.

24
00:01:45,030 --> 00:01:47,640
So in that case, you could ignore that, right?

25
00:01:48,510 --> 00:01:50,250
So let it just go through an entire code.

26
00:01:50,640 --> 00:01:56,820
So to initialize the AI in DC, we have declared an instance structure that basically mean we are utilizing

27
00:01:56,820 --> 00:01:58,140
a initialize metric.

28
00:01:58,410 --> 00:02:02,940
Similarly, when we consider timer, we declare only an instance structure of a timer.

29
00:02:02,950 --> 00:02:06,470
So here also, we will be utilizing the initialize, right?

30
00:02:06,480 --> 00:02:10,470
So will not be using the lookup config and to initially.

31
00:02:10,480 --> 00:02:11,940
So when we go to timer in it.

32
00:02:12,030 --> 00:02:12,420
OK.

33
00:02:12,780 --> 00:02:17,940
What we are doing is we are calling initialize function and this required to think first one is an instance

34
00:02:17,940 --> 00:02:20,750
structure and second one is that device i.e., right?

35
00:02:20,760 --> 00:02:25,350
So this you could find out from the X parameter dog they tried to.

36
00:02:25,350 --> 00:02:31,860
Once you add this to arguments, this will perform an initialization of a timer and then stages of initialization

37
00:02:31,860 --> 00:02:33,780
will be stored in a status variable rate.

38
00:02:34,110 --> 00:02:39,120
Then we are performing various duties as equals to existing success, and if that is the case, will

39
00:02:39,120 --> 00:02:43,490
just be mentioning that timer and it is successful and Daimler need to be right.

40
00:02:44,070 --> 00:02:49,800
So this completes all the code related to initialization of a timer, and we are not configuring a timer

41
00:02:49,800 --> 00:02:52,530
over here as we progress to our mean code.

42
00:02:52,770 --> 00:02:56,130
There we will be performing a different option for a time of great.

43
00:02:56,910 --> 00:03:03,600
Next step is to initialize our own to control the right time configuring an interplanetary A. So we

44
00:03:03,810 --> 00:03:07,910
go ahead and we create a new function, which is INTC in it.

45
00:03:07,990 --> 00:03:14,400
OK, now since we are working predominantly on an instance of just that, here also we called and initialize

46
00:03:14,400 --> 00:03:14,940
API.

47
00:03:15,210 --> 00:03:20,700
OK, where we need to pass an instance structure and the device I'd write again.

48
00:03:20,700 --> 00:03:27,450
The device ID could be found out from X parameter Nottage, and then this will return the status of

49
00:03:27,450 --> 00:03:28,410
an initialization.

50
00:03:28,410 --> 00:03:35,430
So if citizens access to success in that case, we could just mention that INTC and it is successful

51
00:03:35,760 --> 00:03:39,000
and we could mention I and DC need for this makes sense.

52
00:03:39,000 --> 00:03:43,950
So this is the only step that we want to perform for an initialization of an entrapment.

53
00:03:43,950 --> 00:03:45,680
Look, we are not performing self-test.

54
00:03:45,690 --> 00:03:46,230
We're here.

55
00:03:46,710 --> 00:03:51,810
You could perform if you wish to perform a test on an intra controller, right?

56
00:03:52,230 --> 00:03:59,970
Then the step two will be to vertically initialize an exception and enable an exception handler, right?

57
00:03:59,970 --> 00:04:03,710
So this is a three step process.

58
00:04:03,710 --> 00:04:05,940
So first we call an exception in it.

59
00:04:05,970 --> 00:04:08,160
OK, so this will initialize our exception.

60
00:04:08,490 --> 00:04:13,560
Then we need to specify the type of an exception, OK?

61
00:04:13,560 --> 00:04:15,450
And to do that, we have an IED, right?

62
00:04:15,450 --> 00:04:22,230
So they like section ID and is used to recognize an exception from an integer.

63
00:04:22,500 --> 00:04:29,040
And in that case, the master range of handler for us will be and in Japan, which is available in INTC,

64
00:04:29,040 --> 00:04:29,310
right?

65
00:04:29,430 --> 00:04:35,160
And finally, we need to add an argument as an AI in this right, which is an instance structure for

66
00:04:35,160 --> 00:04:35,960
our intraperitoneal.

67
00:04:35,980 --> 00:04:40,250
So once this is done, we will just be performing exception enable, right?

68
00:04:40,260 --> 00:04:42,970
So this will close our switch number.

69
00:04:43,000 --> 00:04:43,680
What right?

70
00:04:43,680 --> 00:04:48,240
So that this we close our switch, we also initialize our interpreter, right?

71
00:04:48,560 --> 00:04:54,260
Remember, note that almost in all the control of this process will remain constant.

72
00:04:54,430 --> 00:04:56,810
So there's three statements won't be changing.

73
00:04:56,970 --> 00:04:59,790
So in the case of GPI, also desired.

74
00:04:59,860 --> 00:05:05,090
Exactly similar, and in the case of or of watchdog timer initiative that will be seeing later on,

75
00:05:05,480 --> 00:05:12,920
this statement will remain as a threat, then we proceed to specify the IED that we get for our time.

76
00:05:13,010 --> 00:05:13,390
OK.

77
00:05:13,430 --> 00:05:18,110
And along with that, what will be the function that will be executed when we have an inch or so to

78
00:05:18,110 --> 00:05:19,860
find an IED or a timer?

79
00:05:19,880 --> 00:05:23,210
We just need to go to an experimental detection look for.

80
00:05:24,330 --> 00:05:28,930
Victor, right, so once we find the D.C. OK?

81
00:05:30,150 --> 00:05:32,610
So here you will see the MRC director.

82
00:05:33,030 --> 00:05:39,990
So this is how we recognize the unique ID for an enterprise, so a diesel for GPO, it was GPO vector

83
00:05:39,990 --> 00:05:41,150
in the case of dmaa.

84
00:05:41,370 --> 00:05:43,930
Curtis, the MRC direct right to.

85
00:05:43,980 --> 00:05:50,610
Once you found out an ID, you just need to add it and then connect it to connect function.

86
00:05:50,610 --> 00:05:54,570
First argument is an intra controller instant structure.

87
00:05:54,960 --> 00:05:58,050
OK, the next one is a unique idea that we get for a tailor.

88
00:05:58,320 --> 00:06:06,420
And then once this interest is recognized, OK by an interpreter, we will tell an interpreter to execute

89
00:06:06,420 --> 00:06:10,750
this function, which is the function that really glad for our interest rates.

90
00:06:12,010 --> 00:06:13,690
And here we are.

91
00:06:14,950 --> 00:06:21,160
Specifying the food argument as an instance, I guess whenever you want to add to the argument for a

92
00:06:21,160 --> 00:06:26,380
callback reference or peripheral with which you are looking just at an instance structure of diet as

93
00:06:26,380 --> 00:06:27,180
an argument, right?

94
00:06:27,180 --> 00:06:29,740
So that is something useful to a year since we are working with an.

95
00:06:30,400 --> 00:06:37,090
So we are adding the time or instance during a call back or if it's right, next step is to enable,

96
00:06:37,090 --> 00:06:37,330
right.

97
00:06:37,330 --> 00:06:44,830
So once we call an animal where we specify an end in trip controller, internal structure and the unique

98
00:06:44,830 --> 00:06:47,030
ID will basically close the switch.

99
00:06:47,050 --> 00:06:53,260
And now we do not have anything as global enabler or entropy enabling end time or driver.

100
00:06:53,260 --> 00:06:57,280
So we will skip that step and will start an operation of an introduction from the right.

101
00:06:57,280 --> 00:06:59,410
And this will again be in real mode.

102
00:06:59,410 --> 00:07:03,280
That is, we will be sensing the interest from the hardware, right?

103
00:07:03,290 --> 00:07:06,280
So for that reason, we have our data flag as real, right?

104
00:07:06,580 --> 00:07:09,550
So this completes all the interpolated configuration.

105
00:07:09,550 --> 00:07:12,790
Then we call this API into our main application rate.

106
00:07:12,800 --> 00:07:14,590
So we are calling time or need.

107
00:07:14,590 --> 00:07:15,830
We are calling AI indices.

108
00:07:16,180 --> 00:07:19,740
So really just understand the function, what we are doing when we have interest rates.

109
00:07:19,740 --> 00:07:25,270
So when we have an interest that basically mean that our timer has expired, so we are just double checking

110
00:07:25,270 --> 00:07:26,950
whether timer is really expired.

111
00:07:26,950 --> 00:07:34,480
So while this function basically returns to a timer expired and not approval before this and will be

112
00:07:34,480 --> 00:07:40,990
coming out of while the timer is not expired, this will be the only threatening default and not of

113
00:07:41,350 --> 00:07:42,520
false will be true.

114
00:07:42,550 --> 00:07:45,070
So we will be waiting in this steep rate.

115
00:07:45,070 --> 00:07:48,880
But since our time is expired, we will be coming out of this way.

116
00:07:48,880 --> 00:07:51,420
Look, and then we just mentioned interest rate.

117
00:07:51,460 --> 00:07:59,170
So as the system we will be utilizing DMA CTO reset to what this will do is this will again initialize

118
00:07:59,170 --> 00:08:01,660
our timer with the value that users set.

119
00:08:01,660 --> 00:08:07,570
And then we are again ready to perform execution of a timer so that we have a multiple interest rate.

120
00:08:07,570 --> 00:08:14,090
Right now, we go ahead and understand the code that we did for the configuration of the timer.

121
00:08:14,320 --> 00:08:16,990
The first thing that we do is to stop an operation of a timer.

122
00:08:17,470 --> 00:08:21,420
Then we are sensing the option that are being saved by default rate.

123
00:08:21,430 --> 00:08:26,650
So to know an option that has been set by default in a timer, we have a good option where we just need

124
00:08:26,650 --> 00:08:30,530
to add the instant structure and the TMC number, right?

125
00:08:30,550 --> 00:08:34,180
So there's also represent the ID for our timer one, which is zero.

126
00:08:34,510 --> 00:08:41,790
Once we have an option, we'll just perform operation of an option by calling an operator.

127
00:08:41,920 --> 00:08:48,760
So here what we want to do is we want to perform the counter operation and down to do that.

128
00:08:48,760 --> 00:08:53,910
We have this low gain to enable and we have this option, right?

129
00:08:53,920 --> 00:08:55,370
So this too will just be free.

130
00:08:55,660 --> 00:09:00,820
Now what this will do is this will enable an intro and second thing it will do is it will allow us to

131
00:09:00,820 --> 00:09:02,240
go in a downward direction.

132
00:09:02,310 --> 00:09:07,140
Right now, we plan to have a delay of two seconds or so to get the delay of two.

133
00:09:07,150 --> 00:09:09,700
Second, we just need to add two into 10 days to it, right?

134
00:09:09,700 --> 00:09:13,090
That is what we are doing over here and we set the reset value rate.

135
00:09:13,660 --> 00:09:18,250
Then we reset timer and we are starting its celebration, right?

136
00:09:18,460 --> 00:09:21,580
And now we wait for an intro.

137
00:09:21,580 --> 00:09:27,760
So we have not utilized the full API that we use when we are discussing any save time.

138
00:09:27,820 --> 00:09:37,030
Right now, we are not waiting for the timer to expire and then we display the timer expiring, but

139
00:09:37,030 --> 00:09:42,010
instead we will just be processing normal code over here.

140
00:09:42,220 --> 00:09:48,640
OK, and as soon as we have an interrupt, we will be serving the goal that we have written in it into

141
00:09:48,880 --> 00:09:49,630
hand, right?

142
00:09:49,870 --> 00:09:55,470
So here we have just waiting for an intro to occur and once into DR.

143
00:09:55,570 --> 00:09:58,630
OK, so this will happen after an interval of two seconds.

144
00:09:58,930 --> 00:10:01,300
We go to this zen handler.

145
00:10:01,690 --> 00:10:11,030
Now we do not have anything as a disable or enable and interrupt in the peripheral specific driver.

146
00:10:11,050 --> 00:10:21,070
We do have and enable and disable controller if you explore AI in D.C., so we do have an API to enable

147
00:10:21,070 --> 00:10:22,150
and disable, right, so.

148
00:10:23,740 --> 00:10:30,130
But what this will do is this will not allow us to sense an interest from sources other than the time,

149
00:10:30,130 --> 00:10:30,430
right?

150
00:10:30,730 --> 00:10:32,600
So that will not be a good idea.

151
00:10:32,620 --> 00:10:38,200
So whenever you are in a situation where you do not find the global enabler or an entropy label in a

152
00:10:38,200 --> 00:10:48,040
timer, see that you do not add anything to drink to just serve and interrupt and then come out of and

153
00:10:48,040 --> 00:10:51,190
interpret, and this will be automatically handled by process.

154
00:10:51,220 --> 00:10:52,810
We do not need to do anything.

155
00:10:52,810 --> 00:10:58,750
We just need to serve and into another important thing that we could do is you could also acknowledge

156
00:10:58,750 --> 00:10:59,230
and interrupt.

157
00:10:59,230 --> 00:11:03,510
That will always be a good strategy so we can just add and acknowledge OK.

158
00:11:03,700 --> 00:11:06,800
And here it requires again the two argument, right?

159
00:11:06,820 --> 00:11:09,970
So the instance structure and the unique idea.

160
00:11:09,970 --> 00:11:13,800
So we'll just be copying it and adding it to it, right?

161
00:11:14,380 --> 00:11:20,830
So we could always use this episode also, but this restricts us from sensing other right and that is

162
00:11:20,830 --> 00:11:21,920
what we do not want.

163
00:11:21,920 --> 00:11:28,030
So whenever you do not play, enable and disable EPA is in and peripheral specific driver like here

164
00:11:28,030 --> 00:11:29,740
we have a marker.

165
00:11:29,800 --> 00:11:36,670
So if you just explore extreme procedure driver, you do not find anything as a global enable or enable

166
00:11:36,670 --> 00:11:37,300
or disable.

167
00:11:37,300 --> 00:11:43,120
In that case, you simply skip this step that we are performing an NGO that is disabling and intrusive,

168
00:11:43,480 --> 00:11:51,220
then performing the respective task, clearing up, ending in trip and then finally enabling a contract.

169
00:11:51,220 --> 00:11:53,020
So you could simply skip that task.

170
00:11:53,440 --> 00:11:59,200
And we will just be doing what you want to do when we have an interest rate, that is what we are doing

171
00:11:59,200 --> 00:11:59,590
over here.

172
00:12:00,100 --> 00:12:05,320
So let me just go ahead and build up an entire application project that once built a successful will

173
00:12:05,320 --> 00:12:12,970
be getting a year left right and now will try to execute our application on to an FPGA right.

174
00:12:12,970 --> 00:12:14,710
So DBA guys launch on hardware.

175
00:12:16,390 --> 00:12:17,230
And then.

176
00:12:19,720 --> 00:12:26,290
We go to our I do still mean, OK, we will connect the widest terminal to concerts to operate at the

177
00:12:26,290 --> 00:12:30,980
board of nine six zero zero, right, and everything that we need to do is to click on this resume button,

178
00:12:31,000 --> 00:12:31,210
right?

179
00:12:31,690 --> 00:12:36,370
So first, I anticipated a successful day in time, whether it is successful and then you could see

180
00:12:36,370 --> 00:12:42,600
at an interval of two seconds, you have an intro been generated by our timer pacing, right?

181
00:12:43,510 --> 00:12:48,700
So this is how you utilize the entropy, then timer.

182
00:12:48,700 --> 00:12:53,760
If you know this is all to give us an understanding what should be your strategy when you do not find

183
00:12:54,070 --> 00:12:57,310
a global enable or a benefit of specific enable?

184
00:12:57,520 --> 00:13:04,420
EPA is their drive rate will consider one more example OK, where we try to use and interpret.

185
00:13:05,330 --> 00:13:06,170
Watchdog timer.
