1
00:00:00,370 --> 00:00:06,200
It seemed initially successful, the first thing that we do is to go to file export export hardware,

2
00:00:06,210 --> 00:00:09,150
and this will be including bits.

3
00:00:09,600 --> 00:00:16,220
So click next and we will be utilizing the same project directly to export our extensive file.

4
00:00:17,630 --> 00:00:23,480
So once I exploded successful, we go to tools and then we launch our site, right?

5
00:00:25,210 --> 00:00:30,430
So we'll be choosing the same project director where we have an excessive rate, so we know that our

6
00:00:30,430 --> 00:00:37,270
project is in Project and 60, so we'll just choose the browse button and which would choose the same

7
00:00:37,270 --> 00:00:39,160
territory for a light.

8
00:00:39,190 --> 00:00:42,870
This workspace ended, then we will be clicking on a launch for the.

9
00:00:44,250 --> 00:00:50,340
OK, so let's start to create an platform project, so we select to create platform project will just

10
00:00:50,340 --> 00:00:52,420
be naming this profile.

11
00:00:52,710 --> 00:00:53,640
We'll click next.

12
00:00:53,850 --> 00:00:58,740
And here we want to use and hardware that we have created in the library.

13
00:00:58,740 --> 00:01:01,050
So to include that, the process is very simple.

14
00:01:01,050 --> 00:01:07,550
You just need to click on Browse Button, go to this project director and here you have an extensive

15
00:01:07,560 --> 00:01:13,470
library so that contain all the information related to anhydride, so lets you select that just click

16
00:01:13,470 --> 00:01:13,880
finish to.

17
00:01:13,890 --> 00:01:20,880
This will automatically create a platform project consisting of an hardware specification that we have

18
00:01:20,890 --> 00:01:22,590
developed in that revival, right?

19
00:01:22,890 --> 00:01:25,470
So once we have our platform project ready.

20
00:01:27,470 --> 00:01:30,420
You could clearly notice, though, out of date status, right?

21
00:01:30,450 --> 00:01:34,940
So we first proceed to build our platform project, so control and be.

22
00:01:36,130 --> 00:01:39,700
To start the process of building the project.

23
00:01:41,490 --> 00:01:46,800
So once Bill is finished, we will select the platform project, right click on it, select new and

24
00:01:46,800 --> 00:01:49,350
then we will be choosing an application project great.

25
00:01:49,350 --> 00:01:53,970
So the name that will be providing for our application project is file.

26
00:01:53,990 --> 00:01:57,140
The score is DeBlois, and then we click next straight.

27
00:01:58,290 --> 00:02:00,880
Here also, we will be choosing an Halloway template.

28
00:02:00,990 --> 00:02:06,330
This is exactly what we've been doing from the beginning right to the process remain exactly similar.

29
00:02:07,650 --> 00:02:10,860
So once we create an application project, right?

30
00:02:11,220 --> 00:02:15,650
So here we will be adding to schooling and had to wait and see, right?

31
00:02:15,930 --> 00:02:19,890
So I've already created one who will be discussing what is inside the code.

32
00:02:20,610 --> 00:02:22,680
First, we proceed to.

33
00:02:24,290 --> 00:02:30,680
Do some mandatory said so we select our platform project right out here, if you go here, you have

34
00:02:31,730 --> 00:02:35,210
we are aware where you have a board support package.

35
00:02:35,750 --> 00:02:38,660
So we select good support package we click on.

36
00:02:39,970 --> 00:02:43,220
Modify BSP setting, this is the first thing that we do.

37
00:02:43,240 --> 00:02:44,950
We go to a stand alone, right?

38
00:02:45,160 --> 00:02:49,270
And here you have and enable software you profiling, right?

39
00:02:49,270 --> 00:02:51,120
So the default option is false.

40
00:02:51,130 --> 00:02:53,980
We will be clicking on it and then we choose to.

41
00:02:54,110 --> 00:02:56,860
Right now, this required the timer.

42
00:02:56,860 --> 00:03:02,740
So if we just expiring the window right and click on this arrow, you'll will be finding it required

43
00:03:02,740 --> 00:03:04,770
a timer to perform a profile, right?

44
00:03:05,470 --> 00:03:07,750
So the description of it is like this, right?

45
00:03:07,780 --> 00:03:13,750
So I just be reading the description, so specify the timer to be used for profiling.

46
00:03:14,590 --> 00:03:21,670
Flower power is a system specifying no use video timer for alarm systems specifying known to use an

47
00:03:21,690 --> 00:03:22,750
assumed time, right?

48
00:03:24,020 --> 00:03:29,560
So in the case of a micro police, we do need to add an independent timer, but in the case of an armed

49
00:03:29,570 --> 00:03:32,930
system, it will be utilizing an ICU timer, right?

50
00:03:33,370 --> 00:03:35,720
So we do not need to choose any option over here.

51
00:03:35,720 --> 00:03:39,040
We just be selecting the default option, which is not right.

52
00:03:39,050 --> 00:03:42,580
So once this is done, we go to drivers bias.

53
00:03:42,920 --> 00:03:44,780
Seven car takes the night, right?

54
00:03:44,780 --> 00:03:51,500
So here where you see an Excel compiler flag, OK, to enable profiling, we need to add to flag so

55
00:03:51,500 --> 00:03:53,850
we go ahead and add Dash.

56
00:03:54,650 --> 00:03:58,490
This is the first thing that we do space dash, right?

57
00:03:58,490 --> 00:04:04,150
So these are the two extra flags that we need to add in an extra compiler flag and then hit, right?

58
00:04:04,160 --> 00:04:09,920
So when you click on anarchy, you'll be finding it automatically start the process of building an entire

59
00:04:09,920 --> 00:04:10,580
project, right?

60
00:04:11,030 --> 00:04:13,600
And here you find out of this.

61
00:04:13,640 --> 00:04:21,170
So again, proceed to click on control and be to initiate the process of building a library as well

62
00:04:21,170 --> 00:04:22,640
as an entire platform project.

63
00:04:22,750 --> 00:04:22,940
Right?

64
00:04:24,520 --> 00:04:28,900
So here, -- will succeed without any rate once this is done right.

65
00:04:29,140 --> 00:04:32,560
So the next important setting that we need to do is.

66
00:04:32,620 --> 00:04:35,020
OK, so let's first discuss and cool that we have.

67
00:04:35,030 --> 00:04:38,620
So this is all that you need to do in that Black Farm project.

68
00:04:38,620 --> 00:04:38,890
Great.

69
00:04:38,890 --> 00:04:46,090
So you just need to go to a board support package, OK, modify be setting and then you need to go to

70
00:04:46,090 --> 00:04:46,840
a stand alone.

71
00:04:46,880 --> 00:04:53,470
OK, here you need to enable and software intrusive profiling, OK, and for our processing system,

72
00:04:53,470 --> 00:04:58,780
we do not need to add any timer by default, which was an issue timer.

73
00:04:59,080 --> 00:05:00,790
You go to use seven cortex.

74
00:05:02,170 --> 00:05:07,590
And then in an extra compiler flag, you need to add dashti and that speech.

75
00:05:07,870 --> 00:05:11,550
So these are the two things that you need to do with this is done right.

76
00:05:11,950 --> 00:05:14,590
We'll just be discussing an entire code that we are.

77
00:05:15,790 --> 00:05:23,920
Profiling, OK, in this specific example, and so since we have utilized IP to interact with an.

78
00:05:24,640 --> 00:05:29,440
OK, so we proceed first with an initialization of opportunities, so we declared a config structure

79
00:05:29,680 --> 00:05:30,790
and insert a structure.

80
00:05:30,990 --> 00:05:33,190
OK, then we call lookup config.

81
00:05:33,220 --> 00:05:35,650
Here we pass the device, ideal for GPI.

82
00:05:35,770 --> 00:05:42,460
This will return the config structure, which we are utilizing in the CMG initialize along with an infrastructure

83
00:05:42,460 --> 00:05:45,520
and a beach address book, to perform an initialization.

84
00:05:45,520 --> 00:05:51,250
So if status is exists, this axis will just be mentioning GPIO successfully initialize and we will

85
00:05:51,250 --> 00:05:53,710
be mentioning GPI when week, right?

86
00:05:54,010 --> 00:05:55,810
We are also setting up the redirection.

87
00:05:55,900 --> 00:06:01,720
We want to utilize our four entities which are available, so we need to set the direction to be an

88
00:06:02,050 --> 00:06:02,260
right.

89
00:06:02,260 --> 00:06:09,010
So we just need to add a zero to set any of the pain as an output rate, and we are again utilizing

90
00:06:09,010 --> 00:06:10,000
only a single channel.

91
00:06:10,090 --> 00:06:15,070
Right now, we declared the three functions here one, nearly three and five.

92
00:06:15,310 --> 00:06:17,920
So these are basically writing that down to any need.

93
00:06:18,280 --> 00:06:19,960
In fact, we are writing the same data.

94
00:06:19,970 --> 00:06:23,440
We have just added this as a random function.

95
00:06:23,440 --> 00:06:25,770
So OK, so that we could provide it.

96
00:06:26,410 --> 00:06:30,730
So we are utilizing discrete right and then writing some random values on Grammarly.

97
00:06:30,760 --> 00:06:36,050
Now, if you go to a mean, so we have energy platform Jupiler and this will perform an initialization

98
00:06:36,130 --> 00:06:36,380
for you.

99
00:06:36,970 --> 00:06:39,190
And then we are calling all the functions or here.

100
00:06:39,460 --> 00:06:41,620
So we are also printing in Hallock.

101
00:06:41,890 --> 00:06:44,050
So this is an entire application that we have.

102
00:06:44,230 --> 00:06:50,260
So you could add any number of function in your Halloway Nazi and all of them will be profiling at the

103
00:06:50,260 --> 00:06:51,000
same rate.

104
00:06:51,010 --> 00:06:52,990
So once you complete your application.

105
00:06:53,100 --> 00:06:53,340
Right.

106
00:06:53,350 --> 00:06:59,350
So here you will see we have profile undisclosed software in the school system and then profiler the

107
00:06:59,350 --> 00:07:03,820
school software, which we just stand alone all seven Cortex-A9.

108
00:07:03,880 --> 00:07:08,650
So you need to select that right click and then you have C or C++, basically.

109
00:07:08,950 --> 00:07:10,060
So here you need to go.

110
00:07:10,510 --> 00:07:15,700
And then in a setting, right, so you see a profiling or do you need to enable the profiling?

111
00:07:16,840 --> 00:07:19,600
Again, you could see the flag which is mentioned is.

112
00:07:20,520 --> 00:07:28,610
That's right, so this is the thing that you need to enable in an C or C++ been sitting next to one,

113
00:07:28,620 --> 00:07:30,780
this instant click apply and apply.

114
00:07:31,420 --> 00:07:34,620
So this is one more setting that you need to configure.

115
00:07:35,220 --> 00:07:42,840
Once this is done and now we are ready to execute our quick vote to select our style on the seven right

116
00:07:42,840 --> 00:07:44,960
click and then you have a runner, right?

117
00:07:45,300 --> 00:07:47,550
So just click on run configuration.

118
00:07:47,790 --> 00:07:51,450
OK, now here you would see a multiple option.

119
00:07:51,450 --> 00:07:53,080
Let's see who I would GDB.

120
00:07:53,100 --> 00:07:56,460
And this single application debug and SBM analysis.

121
00:07:56,470 --> 00:08:00,660
So just double click on a single application debug rate.

122
00:08:01,050 --> 00:08:03,060
So here you have a debugger.

123
00:08:04,050 --> 00:08:07,230
Been created, right, so you need to go to an application, tap.

124
00:08:08,730 --> 00:08:09,090
OK.

125
00:08:09,390 --> 00:08:12,080
And then in an advance option, you just need to click on it.

126
00:08:12,450 --> 00:08:16,590
So when this is done, you now see another enabled profiling option.

127
00:08:16,590 --> 00:08:19,440
You just need to choose the frequency that you want.

128
00:08:19,480 --> 00:08:19,680
Great.

129
00:08:19,690 --> 00:08:25,220
So you may want to work on one megahertz frequency data.

130
00:08:25,220 --> 00:08:30,180
So that is the frequency where we will be receiving a sampling, a sample from our different application

131
00:08:30,180 --> 00:08:31,290
and then we profile you.

132
00:08:31,290 --> 00:08:31,490
Great.

133
00:08:31,500 --> 00:08:36,960
So here you could see we have one two three four zero, so we need to add two more zero and we need

134
00:08:36,960 --> 00:08:38,250
to specify an address.

135
00:08:38,380 --> 00:08:42,960
OK, so this should be not coinciding with the instruction code.

136
00:08:42,990 --> 00:08:47,190
OK, well, we will be storing all the samples that we are utilizing for profiling.

137
00:08:47,190 --> 00:08:54,570
So usually we add an address like this to one zero zero zero zero zero zero zero, right?

138
00:08:54,600 --> 00:08:57,300
So this this address will work just fine.

139
00:08:57,660 --> 00:08:57,990
OK.

140
00:08:58,290 --> 00:09:00,010
And then we click, OK, right?

141
00:09:00,030 --> 00:09:04,310
So once you do this, you just need to apply and click on right now.

142
00:09:04,440 --> 00:09:09,480
At this point, you should have connected your FPGA board to your PC.

143
00:09:09,510 --> 00:09:16,290
OK, so as soon as we run our application, it will automatically program and FPGA start profiling and

144
00:09:16,320 --> 00:09:17,420
create a samples.

145
00:09:17,460 --> 00:09:17,790
OK?

146
00:09:18,030 --> 00:09:20,970
That will be stored in the memory location that we have choosing.

147
00:09:21,390 --> 00:09:24,750
And then we automatically get the profile file, right?

148
00:09:24,750 --> 00:09:31,740
So you could see we get the binary file, which consist of all the provided data so we can just click

149
00:09:31,740 --> 00:09:34,750
on OK, and this will automatically open up the viewer.

150
00:09:34,800 --> 00:09:41,190
Be a very good understanding the resources used by different functions which are present in our.

151
00:09:42,870 --> 00:09:49,200
So you could say hello, Darcy is consuming 50 percent off, I keep say if you just click on the zero

152
00:09:49,530 --> 00:09:54,480
to your Google Seeds UPI on it, it's consuming fiber linearly one.

153
00:09:54,480 --> 00:09:57,660
It's consuming zero point zero percent, allegedly at eighty five.

154
00:09:57,990 --> 00:09:59,760
We're get into one until it this way.

155
00:09:59,790 --> 00:10:04,260
What you could do is so let's assume you have a multiple functionality in your system.

156
00:10:04,500 --> 00:10:12,120
OK, and then this way you could analyze the percentage of the time consumed by the different functions,

157
00:10:12,120 --> 00:10:14,380
and then you could optimize the specific function.

158
00:10:14,410 --> 00:10:14,580
Right.

159
00:10:14,580 --> 00:10:18,210
So this is an in-built feature that we get with why it is 80.

160
00:10:18,240 --> 00:10:23,310
You profile your entire application to optimize it for the CPU and usage.
