1
00:00:00,610 --> 00:00:01,890
Imagination is successful.

2
00:00:01,940 --> 00:00:09,090
Now we proceed to export in hardware into a whiteys workspace, and then we'll also be launching the

3
00:00:09,090 --> 00:00:09,920
Halloway template.

4
00:00:09,970 --> 00:00:10,260
Great.

5
00:00:11,160 --> 00:00:17,810
So we go to file, we click on export export hardware and this will be including bitstream, right?

6
00:00:17,880 --> 00:00:22,830
So that basically means we will be programming our FPGA from a white decided, right?

7
00:00:23,070 --> 00:00:28,380
So Project Score 33 is the folder where we have all the directories.

8
00:00:28,380 --> 00:00:31,830
Rate will be choosing the seam directly to export and hardware.

9
00:00:32,130 --> 00:00:32,370
Right?

10
00:00:33,780 --> 00:00:39,500
So once export is successful, we go to tools and we will launch and wipe this idea right here.

11
00:00:39,630 --> 00:00:45,890
Also, the workspace that will be choosing for invitees will be a seam directly where we have relied

12
00:00:45,900 --> 00:00:47,580
on project that is project and school.

13
00:00:47,580 --> 00:00:48,060
32.

14
00:00:49,110 --> 00:00:56,040
So we go to brawls and in the directory where we have our wheelbarrow project right to this project

15
00:00:56,040 --> 00:01:01,650
on this territory, and then we will be selecting that food again that we will be launching.

16
00:01:01,650 --> 00:01:02,310
I write this.

17
00:01:04,150 --> 00:01:09,810
So once we decide it is launch, we start with creating a black film project to create platform project

18
00:01:09,820 --> 00:01:11,860
will just be naming this as you what?

19
00:01:13,340 --> 00:01:18,470
Click next and then we click on Browse Button to locate our hardware file, right?

20
00:01:18,470 --> 00:01:19,420
So that didn't exist.

21
00:01:19,420 --> 00:01:19,820
They failed.

22
00:01:19,820 --> 00:01:25,820
So we go to why this project we look at project on the school 33 and here we have our excessive fight

23
00:01:25,830 --> 00:01:28,880
rates, which represent all the information related to anhydride.

24
00:01:28,890 --> 00:01:35,450
So once I read this, if I always added to that list, OK, we will be selecting that file and then

25
00:01:35,450 --> 00:01:36,860
we'll click on finish, right?

26
00:01:36,860 --> 00:01:39,880
So this will automatically create a platform project for us.

27
00:01:41,040 --> 00:01:42,930
So once black phone project is ready.

28
00:01:43,110 --> 00:01:46,600
So first thing that we do is to remove this out of date status, right?

29
00:01:46,610 --> 00:01:53,380
So just click control be and this will start process of building our project.

30
00:01:53,400 --> 00:01:53,700
Great.

31
00:01:54,150 --> 00:01:57,570
So once Bill is successful and out of date, status will be gone.

32
00:01:58,700 --> 00:02:04,760
Now we select the same platform project, right click click on New and then we select an application

33
00:02:04,760 --> 00:02:05,870
project right here.

34
00:02:06,410 --> 00:02:09,400
We will be choosing the same hardware platform.

35
00:02:09,410 --> 00:02:15,320
Click next and we will be naming this as you are necessary step right click next.

36
00:02:15,320 --> 00:02:19,210
And the last thing that we're going to do is to select an halloway template, right?

37
00:02:20,100 --> 00:02:25,200
So now we have our application project and black project both ready, right, so we go to a small step

38
00:02:25,200 --> 00:02:29,970
and there we have had or right, so here we start building our application.

39
00:02:31,460 --> 00:02:33,330
So we first go to our.

40
00:02:34,330 --> 00:02:35,450
Board support package.

41
00:02:35,470 --> 00:02:40,930
OK, and here we have a list of driver recommended for the periphery like these, which are present

42
00:02:40,930 --> 00:02:45,310
and are designed to avoid you like the recommended driver is you like light, right?

43
00:02:45,310 --> 00:02:51,850
So we will just be going ahead and add hash include OK, so we just need to add a perfect says X.

44
00:02:52,210 --> 00:02:55,420
OK, then you light the shortage, right?

45
00:02:55,420 --> 00:02:58,060
So this will be the driver for our you work late AP.

46
00:02:58,330 --> 00:03:02,830
We also required and horror related information to correctly configure R.I.P..

47
00:03:03,070 --> 00:03:08,040
OK, and all the hardware related information is located in X.

48
00:03:08,050 --> 00:03:09,300
Parameters start at right.

49
00:03:09,310 --> 00:03:11,680
So these are the two mandatory files that we require.

50
00:03:11,920 --> 00:03:16,570
Now we explore you are late and understand the different APIs that are available right.

51
00:03:16,930 --> 00:03:20,880
So we have initialize function.

52
00:03:20,890 --> 00:03:25,540
We have a lookup config and see if you initially tried to look up, configure and see if initialize

53
00:03:25,540 --> 00:03:26,260
is available.

54
00:03:26,530 --> 00:03:31,900
So we'll be declaring to structure, config structure and an instance structure and then will perform

55
00:03:31,900 --> 00:03:33,010
an initialization, right?

56
00:03:33,010 --> 00:03:36,010
So we also have that you are like to reset a few.

57
00:03:36,220 --> 00:03:43,720
So we then you are like, you get the space to store 16 byte of data right to before is available in

58
00:03:43,990 --> 00:03:50,230
the direction that is in the next election, as well as an our extraction and the maximum capacity that

59
00:03:50,230 --> 00:03:54,130
you get of it, that you are late is around 16 by right?

60
00:03:54,400 --> 00:04:00,100
So once you are ready to reset it before you have this EPA right, then to send the data, you have

61
00:04:00,100 --> 00:04:09,820
this send EPA to receive 30 day and have a receive API right and then to check whether you are still

62
00:04:09,820 --> 00:04:12,400
sending the data during a transmission.

63
00:04:12,520 --> 00:04:15,130
OK, so we have this pulling function, right?

64
00:04:15,840 --> 00:04:19,540
We also have a self-test and then interpolate it right.

65
00:04:19,570 --> 00:04:22,540
So these are the cities of APIs that are available with us.

66
00:04:22,550 --> 00:04:26,200
So first we proceed for initializing Are you watch late?

67
00:04:26,200 --> 00:04:26,440
Right?

68
00:04:26,450 --> 00:04:30,880
So here we have our fixed structure that will be declaring as a pointer.

69
00:04:32,240 --> 00:04:39,670
OK, we'll just be naming this as you, what, fake, right next one we required is an instant structure,

70
00:04:39,680 --> 00:04:40,010
right?

71
00:04:40,130 --> 00:04:43,250
So we'll just be declaring it at that.

72
00:04:43,250 --> 00:04:44,160
You worked right?

73
00:04:44,510 --> 00:04:47,180
Then we proceed to declare a function.

74
00:04:47,240 --> 00:04:47,600
OK.

75
00:04:47,660 --> 00:04:49,670
That will perform an initialization.

76
00:04:49,670 --> 00:04:50,840
Who are you like, verified?

77
00:04:50,920 --> 00:04:53,660
So let me just name this as you work in it.

78
00:04:54,410 --> 00:04:54,800
OK.

79
00:04:55,010 --> 00:05:00,710
And this will consist of all the functions that could be used to correctly initialize our you are favorites,

80
00:05:00,710 --> 00:05:06,260
the first function that we call lookup config because that will return the config structure for us and

81
00:05:06,260 --> 00:05:11,600
then that config structure we will be utilizing in a sea of g initialized to initialize up very variable

82
00:05:11,600 --> 00:05:11,810
rate.

83
00:05:12,080 --> 00:05:16,970
So you are config will be equal to the lock up on figure.

84
00:05:16,970 --> 00:05:22,450
And here we need to add the device A.D. So to find the device, they just need to explore X parameter

85
00:05:22,580 --> 00:05:23,690
to and look for.

86
00:05:23,930 --> 00:05:24,660
You are right.

87
00:05:24,680 --> 00:05:29,540
So here you have your you work like device APIs, so we'll just be adding it to work.

88
00:05:29,810 --> 00:05:30,110
Right?

89
00:05:30,410 --> 00:05:34,630
So this completes step one where we get the reader related to the config structure.

90
00:05:34,640 --> 00:05:41,300
Now we utilize this config structure to initialize are very rate, and this dual returns to status of

91
00:05:41,300 --> 00:05:43,520
an initialization is written then in.

92
00:05:43,940 --> 00:05:48,920
And if that is equal to existing success, that basically means initialization is successful.

93
00:05:48,930 --> 00:05:51,620
So we called CFG initialize over here.

94
00:05:52,640 --> 00:05:57,080
OK, so first argument is an instance structure, which is you what then?

95
00:05:57,080 --> 00:06:02,900
We have a new word config, which is the config structure, and the last one is the base address.

96
00:06:02,900 --> 00:06:07,360
Racial bias address could be invoked from the config structure set right.

97
00:06:07,380 --> 00:06:10,670
So here we have this address restrict.

98
00:06:11,690 --> 00:06:13,040
That is what we're going to alt right.

99
00:06:13,340 --> 00:06:18,560
And this returns the status of an initialization which we store in and state does variable rate.

100
00:06:18,560 --> 00:06:26,270
And then we will verify whether status is equal to existing success rate.

101
00:06:26,280 --> 00:06:31,130
So if that is the case, we will send a message to any user.

102
00:06:31,160 --> 00:06:35,270
That initialization is a success rate of the print dev.

103
00:06:36,370 --> 00:06:37,060
You worked.

104
00:06:38,060 --> 00:06:38,480
In it.

105
00:06:39,710 --> 00:06:41,120
Successful, right?

106
00:06:42,180 --> 00:06:43,830
Else we could just mention.

107
00:06:46,670 --> 00:06:48,620
You are right, and it feels great.

108
00:06:48,710 --> 00:06:49,460
This makes it.

109
00:06:51,250 --> 00:06:57,250
Now, when we consider intermediate or complex peripheral, the good idea would be that you also perform

110
00:06:57,250 --> 00:07:03,910
a self straight so self this allow us to verify whether hardware is properly configured or right.

111
00:07:04,120 --> 00:07:10,060
So we'll proceed and call the self-test function that we have over here.

112
00:07:10,140 --> 00:07:10,410
Right.

113
00:07:10,420 --> 00:07:17,440
So here we have a self-test again and this returns again status again that we got to check whether it

114
00:07:17,440 --> 00:07:19,630
is equal to existing success or not.

115
00:07:19,630 --> 00:07:21,640
And this just required an instant structure.

116
00:07:23,100 --> 00:07:25,470
So we'll be updating the state does very well over here.

117
00:07:26,500 --> 00:07:26,950
OK.

118
00:07:27,430 --> 00:07:32,500
And then it is just required an instant structure and then will again be checking whether.

119
00:07:33,670 --> 00:07:36,760
Initialization is successful or not.

120
00:07:36,790 --> 00:07:37,100
Right?

121
00:07:37,120 --> 00:07:40,480
And here we will be displaying cell.

122
00:07:41,610 --> 00:07:42,160
Despite.

123
00:07:43,630 --> 00:07:47,200
Successfully, right, similarly here also will be mentioning.

124
00:07:48,210 --> 00:07:49,980
Self-Test, right?

125
00:07:50,550 --> 00:07:53,980
So this is the normal procedure that we've been following from the beginning.

126
00:07:54,020 --> 00:07:57,600
We'll give what we are doing is first, we are performing an initial addition.

127
00:07:57,930 --> 00:08:05,490
We are checking whether the state is written by initials C of G initials, whether it is equal to existing

128
00:08:05,490 --> 00:08:06,540
success or not, right?

129
00:08:06,870 --> 00:08:09,900
Then we are calling a self-test, OK, and we are again checking.

130
00:08:10,140 --> 00:08:15,410
Now remember, we are working with the Lurie is right, so we are not utilizing any platform or creating

131
00:08:15,420 --> 00:08:19,650
a platform as we are doing within a GPO.

132
00:08:19,680 --> 00:08:26,670
So what we're going to do is as we send any data to a console or to a you are in that case will be verifying

133
00:08:26,670 --> 00:08:30,480
whether the data transmission is successful, then we will be clearing up our.

134
00:08:31,140 --> 00:08:33,930
OK and then proceed for sending the next data, right?

135
00:08:33,960 --> 00:08:36,000
So here we are, sending our Fourth Street as a good.

136
00:08:36,900 --> 00:08:40,170
You want and it's successful or it could be, and you are doing it right.

137
00:08:40,410 --> 00:08:44,250
So we'll just be waiting for the entire data transmission to complete.

138
00:08:44,280 --> 00:08:46,800
So here we have an EPA to do that, right?

139
00:08:46,830 --> 00:08:52,230
So if you explore the functionality of this, a value of true, if you are descending, the data otherwise

140
00:08:52,230 --> 00:08:53,460
felt false, right?

141
00:08:53,730 --> 00:08:58,950
So as soon as you are complete sending the data, it will basically return false rate.

142
00:08:58,960 --> 00:09:00,750
So we'll just utilize this function.

143
00:09:00,750 --> 00:09:03,540
This again required just an instance structure.

144
00:09:03,570 --> 00:09:03,900
OK.

145
00:09:03,960 --> 00:09:04,470
So white.

146
00:09:06,050 --> 00:09:11,510
And then we had this function, OK, and here we just need to add the instant structure, right?

147
00:09:11,720 --> 00:09:16,970
We do not need to add a node operator because this will be returning to as long as you are descending

148
00:09:16,970 --> 00:09:17,750
the data, right?

149
00:09:18,080 --> 00:09:23,810
And as soon as you are finished sending the data OK, so the not data will return false and then will

150
00:09:23,810 --> 00:09:25,380
be coming out of line, right?

151
00:09:25,390 --> 00:09:26,840
So as we come out of a loop?

152
00:09:27,350 --> 00:09:27,680
OK.

153
00:09:27,890 --> 00:09:28,400
So.

154
00:09:29,560 --> 00:09:33,730
We need to make sure that the people do not have any existing data, right?

155
00:09:34,210 --> 00:09:40,500
Because if you have an existing data, then we might send an unnecessary D down in pencil, right?

156
00:09:40,510 --> 00:09:41,770
So we go ahead.

157
00:09:42,080 --> 00:09:47,980
Dude, you are late again and then we have a function to reset our people, right?

158
00:09:47,990 --> 00:09:50,230
This again just required an instant structure.

159
00:09:50,530 --> 00:09:53,770
So after we finish sending the data, we'll just be resetting.

160
00:09:53,770 --> 00:09:54,190
If you.

161
00:09:55,590 --> 00:09:58,560
OK, so these are the two function that we going to do.

162
00:09:58,800 --> 00:09:59,190
OK.

163
00:09:59,680 --> 00:10:04,710
We're going to run after we want to send Anita down to concentrate.

164
00:10:04,710 --> 00:10:09,410
So similarly here also we want to send send some data, so we'll just be copying this.

165
00:10:09,420 --> 00:10:14,580
We will be going ahead and we'll be adding this to function again right now here.

166
00:10:14,610 --> 00:10:17,160
This completes that initialization procedure, right?

167
00:10:17,160 --> 00:10:23,100
So this is a bit difficult as compared to our GPO initialization because we are using unique platform

168
00:10:23,100 --> 00:10:24,810
and in cleanup platform, right?

169
00:10:25,080 --> 00:10:27,000
But here now since we are.

170
00:10:28,000 --> 00:10:35,080
Utilizing a lower level API is off, you are so this cleanup platform and any platform is not required,

171
00:10:35,090 --> 00:10:35,250
right?

172
00:10:35,290 --> 00:10:40,750
So this complete and entire thing that you need to do to correctly initialize you are so we'll just

173
00:10:40,750 --> 00:10:44,670
be calling this function in our mean application, right?

174
00:10:44,680 --> 00:10:51,820
Because this is something that will be executing on an FPGA right now, once this is done is just declared

175
00:10:51,820 --> 00:10:58,480
one area where we will be storing some data and that is what we're going to sing on to a console.

176
00:10:58,520 --> 00:10:59,200
Right, so.

177
00:11:00,440 --> 00:11:04,220
They does declare you it right, because you are going to be sending bite by bite.

178
00:11:04,550 --> 00:11:07,200
So you wait and data, OK.

179
00:11:07,550 --> 00:11:13,070
And this will be very OK and the reader that we will have is ready to zoom.

180
00:11:13,100 --> 00:11:13,640
Hello.

181
00:11:14,270 --> 00:11:14,570
What?

182
00:11:15,560 --> 00:11:15,830
Right.

183
00:11:16,220 --> 00:11:23,780
This is what we going to send over here now, once we have specified above, where we have a leader

184
00:11:24,110 --> 00:11:29,810
now will be utilizing a lower level EPA to saying that it OK, so here we utilize the blueprint before

185
00:11:30,530 --> 00:11:34,270
which are an abstraction to the lower level level EPA.

186
00:11:34,670 --> 00:11:43,340
But when we consider the data buffer now, we plan to use the lower level EPA, such as the send and

187
00:11:43,340 --> 00:11:45,170
receive EPA that we have, right.

188
00:11:45,170 --> 00:11:51,600
So here specifically will be targeting on this same EPA in the next example will be considering risk

189
00:11:51,710 --> 00:11:52,640
right now.

190
00:11:52,640 --> 00:11:58,700
If you read the description of this, the function saying the specified buffer of data using the you

191
00:11:58,700 --> 00:12:01,700
are and need a pool or an one, right?

192
00:12:02,150 --> 00:12:03,680
So would the moves are supported?

193
00:12:03,980 --> 00:12:08,840
You could either use full more or you could use the entropy more, right?

194
00:12:10,180 --> 00:12:13,300
So in a Pall Mall, because we plan to utilize that.

195
00:12:14,530 --> 00:12:14,920
OK.

196
00:12:15,040 --> 00:12:19,680
The function will only send as much as the what can be offered in the fifth.

197
00:12:19,720 --> 00:12:23,170
Now remember, we have the fifth of, say, six by three.

198
00:12:23,180 --> 00:12:28,150
So in a pool more, you could sing max 16 by eight, OK, in one go.

199
00:12:28,630 --> 00:12:34,930
And if you have the size greater than that which you want to sing, then the application may need to

200
00:12:34,930 --> 00:12:37,540
call it repeatedly to send a buffer.

201
00:12:37,540 --> 00:12:45,050
So similar to what we've been doing with the UART innate self-test and you are the only Texas full hog.

202
00:12:45,130 --> 00:12:51,220
So these strings are greater than 16 byte, so you need to repeatedly check whether the 16 by tossing

203
00:12:51,220 --> 00:12:51,730
or not.

204
00:12:51,940 --> 00:12:54,580
Then you need to recertify for the new data.

205
00:12:54,580 --> 00:13:00,250
Again, start sending added All right, so you could build up an application considering this logic,

206
00:13:00,280 --> 00:13:00,550
right?

207
00:13:01,030 --> 00:13:01,660
This makes sense.

208
00:13:01,660 --> 00:13:06,850
But if you count the number of bytes which are presented in Hallowell, so we have one two three four

209
00:13:06,850 --> 00:13:10,660
five six seven, eight, nine, 10 and 11 by trade.

210
00:13:10,660 --> 00:13:13,680
So which is within the size of 054.

211
00:13:13,750 --> 00:13:16,200
So we do not need to call it regulated rate.

212
00:13:17,220 --> 00:13:21,570
So first argument for dysfunction is the instance structure.

213
00:13:22,700 --> 00:13:28,940
Second one is the pointer to redouble readable for right, and the third one is the number of bites

214
00:13:28,940 --> 00:13:33,770
that you are planning to say, and this function actually returns the number of bite that are actually

215
00:13:33,770 --> 00:13:35,960
sent on to the UI.

216
00:13:36,060 --> 00:13:36,260
Great.

217
00:13:36,270 --> 00:13:41,110
So let me just go ahead and call this function right.

218
00:13:42,200 --> 00:13:48,970
This required first argument as an instance structure, which is you what then the pointer of a data

219
00:13:48,980 --> 00:13:49,520
before, right?

220
00:13:49,520 --> 00:13:52,550
So we'll just be mentioning listed doomed to zero.

221
00:13:52,670 --> 00:13:53,060
OK.

222
00:13:53,360 --> 00:13:55,240
And I dress off it.

223
00:13:55,240 --> 00:13:55,520
Great.

224
00:13:55,520 --> 00:13:57,560
So this will serve as a pointer for our.

225
00:13:58,340 --> 00:14:02,300
And then we will be sending an 11 by tilted.

226
00:14:02,450 --> 00:14:02,600
Right.

227
00:14:02,600 --> 00:14:10,250
So here you could just specify the name of an array that could also be the way to specify the pointer

228
00:14:10,250 --> 00:14:11,080
of the Dubuffet.

229
00:14:11,330 --> 00:14:13,820
Or you could just consider the first element address.

230
00:14:14,600 --> 00:14:18,560
OK, so that will also be serving as the starting point of our hourly rate.

231
00:14:19,070 --> 00:14:23,420
Once this is done now, this returns the number of blanks which are actually sent right.

232
00:14:23,420 --> 00:14:29,270
So we need to verify whether we successfully transmit the 11 byte of data.

233
00:14:29,570 --> 00:14:34,130
OK, that could be one way, or we could just call this function right away.

234
00:14:34,160 --> 00:14:36,470
You are likely sending we'll just be waiting.

235
00:14:36,740 --> 00:14:38,990
And then we will be visiting our people, right?

236
00:14:38,990 --> 00:14:42,920
So will be understanding both the metal religious proceed with this matter straight.

237
00:14:43,220 --> 00:14:49,100
So once we correctly configure our same function, we will be waiting for you to send the data.

238
00:14:49,400 --> 00:14:51,690
Then you'll be resetting our fee for right.

239
00:14:51,720 --> 00:14:57,260
So once this instant, let's proceed to build our application project right to.

240
00:14:57,260 --> 00:15:02,300
Now we have our yearly file available, right so we go ahead and select our application project.

241
00:15:03,440 --> 00:15:10,880
Debug yes, launch on hardware later, this will switch our perspective from design to DBA, and then

242
00:15:10,880 --> 00:15:16,100
we just need to connect to wireless dominance so that we analyze the data that we are sending on the

243
00:15:16,100 --> 00:15:16,500
UI.

244
00:15:16,520 --> 00:15:16,790
Great.

245
00:15:16,820 --> 00:15:19,010
So we go to a white serial terminal.

246
00:15:19,010 --> 00:15:20,450
We click on this plus button.

247
00:15:20,780 --> 00:15:26,370
We select CommSec's six and aborted at which here you are, ladies operating is nine six zero zero,

248
00:15:26,380 --> 00:15:26,600
right?

249
00:15:26,600 --> 00:15:31,970
So once you connect to the specific input, no key, you just need to click on resume button.

250
00:15:31,970 --> 00:15:35,820
Right now, you could see we get you out and it's successful, right?

251
00:15:35,840 --> 00:15:36,520
So you are.

252
00:15:36,530 --> 00:15:40,620
Self-Test is also successful and we are able to transmit halyard, right?

253
00:15:40,640 --> 00:15:46,190
So here what we are doing is whenever you are working in a pool mode, remember to follow this process

254
00:15:46,190 --> 00:15:51,110
that is, you have a size of 50 to be 16 byte rate.

255
00:15:51,110 --> 00:15:53,720
So you need to send that data.

256
00:15:53,810 --> 00:15:56,780
Then you need to clear add a new data.

257
00:15:56,810 --> 00:15:58,800
Again, proceed for sending rate.

258
00:15:58,800 --> 00:16:01,880
So this is how we handle the process and then fooled more rate.
