But some condition is successful now, will proceed to its and hardware refined, right?
So go to fight export export hardware, OK, and this will be including a bitstream, so we'll be selecting
to include everything.
Click next and we will make sure that the excessive file will be added in the same project directory
where we have all the Bilodeau fights.
Right click next and then click Finish.
Right.
So once this is sent, we are ready to launch and write this idea so we go to tools.
Launch right is a right, and here we will be using the theme folder where we have all the files located,
right?
So we'll go ahead and browse the workspace, OK, and we'll be selecting the most recent project where
we have all the vital click, select and then launch Whitesides.
So once this is loaded, we will first be adding the platform, right, so we go to feedback from Project,
we'll just be naming this as you click next and then we will be clicking on Browse Button.
OK.
You go to a folder where we have a project.
OK, and then this is an excessive fight rate, so we'll just be opening it and then click finish.
So once our platform project is really the first thing that we do is to build up our project, right,
so the status that we are getting over here will be out of date, status will be gone right and then
we proceed for creation of a new application project.
So we go to quite new application project.
The name that will be choosing is.
OK, so now we have our platform ready.
Now we'll just be selecting your platform.
Go ahead.
New.
OK.
And an application party, right?
So we'll proceed the next.
So if you wouldn't be able to find the platform project, you just go ahead and click on the side button,
right and then select the folder where we have all the files, right?
So this is the same detective where we have the idea that we just select the directory and like this
will automatically recognize the platform project.
Right.
So one platform project is recognized.
Click next.
And we'll just be naming this as GPO.
It's just right click next, and then we'll be choosing the Halloween campaign.
Great.
So this allows us to have an access to all the.
Function, which could be used to initialize you right now, once application project is added, we
go to a small step and we'll start adding a code for our chip, right?
So we already discussed fundamental of the tool driver.
So now we'll try to.
Create an application utilizing the fundamental that we have this.
So first, we start with adding all the mandatory fight, right?
So if you go to and.
Platform project, right where we have our yes, that is board support package.
OK, so.
We need to go to platform this, yeah, and then we have a support package.
So here you could clearly see for any side GPIO the recommended driver UPI rate.
So with all the Xilinx, right, well, we just need to add the graphics settings, right?
That is what we're going to do here.
So for UPI, we prosecute an interview.
OK, perfect Z6.
And then we like I would not expect when more Haider finds that we frequently get quite okay throughout
the course, wherever be required to pass and hardware related information is amateur doctor to.
This consists of all the information, all the paper that we have in our property, right?
So let's just do things that are added.
We are ready to proceed developing a function that could be used to initialize as UPI rate.
So we'll be declaring an Independent Functions UPI unit, which consists of all the code that could
be used to initialize our UPI.
Now go explore the driver.
We just need to click on F3, OK, and then we'll proceed.
So if you explorer GPO, we have to structure.
One is the config structure and another one is an instance structure, right?
So we'll just be copying this.
And this should be declared as a point.
Right.
So I stick, and then I'll right.
The next thing that we required is the instance structure, which is dismantle that will be going ahead
and we will be adding it over here.
So remember how these are the usually the Neame and the school config, its iconic structure and that
name alone will be considered as an instance section.
And if you also read the description.
So the GPO driver instance details we read this is mentioned that basically represent an instance structure,
and then the Typekit contains a configuration information of a device configuration information replacing
the config structure.
Right.
So when you are required to use this structure, when you have lookup config and CMG initialize, both
are present in your tribe.
So if you do not find any one of them that is lookup config or see object initialize, any one of them
is not present in their driver.
You have an alternate function which is available, which is initialized so that we require to just
create an instance structure, right?
So as you call this, there will be considering, for example, where you do not see, lookup, configure,
see a initialize in that case will be preferring to go with an initialize, right?
So here both are breathing, so we'll first proceed with the lookup config.
Now this returns on fixed rate, where we just need to pass the device idea.
And once we have a config structure, this will be adding to the sea of junior chalets, along with
an instance structure and the base address to initialize out right?
Right.
So let just copy lookup config and go back to our Halloway.
OK, so our conflict structure is the IU conflict, right?
And this should be equal to the local config function, and we required the device I.D. for op eds,
and so all the hard vetted information could be found out from experimental data.
We just need to find GPI.
OK, so this is the device I.D. that we have, which we need to add it.
Right?
This will return the config structure pointer.
So if you just stand in this written pointer.
Right.
So we do not need to do any type testing or conversion, then we will be calling C of G initialize.
OK.
And this required three argument first one is an instance structure, which is CPO, then the config
structure, OK, and the last thing that it requires is then be set so visitors could be found out from
the parameter dot.
So this is the address for our particular IP or the config structure itself consists of etc, so we
just need to go ahead.
Inside the conflict structure, use this operator and then you have a side, right when this is done.
Now this CFG initialize actually returned the status of initialization.
So if you exclude the functionality of it, so it redone the existing taxes.
If initialization is successful and that is what we're going to check, right?
So we go ahead.
We declared one variable income status, right?
So we will be checking if status is equal to existing six.
And if that is the case, OK, we will be mentioning that device are in fact keeping you in it success.
OK.
As we could just mention.
GPA, you.
I mean, this Elvis to debug where there are initialization is successfully done right.
So once this is done now, we are ready to work, but only then basically reliably, right?
So we'll just be calling this OK.
So you in a mean function you could see in a platform that is used to initialize you walk right?
And then we have initialize our GPI right now if you explore the function.
OK, so you have said the dilation get the validation discrete to identify function.
Right.
So first, we need to set direction depending on the code that we want to utilize.
Now here in this case, we want to utilize our food as an output.
So if you go to the set detail direction, OK, there you could see a description of our poor, great,
for example, but set to zero output and which say when our input.
So for each book, OK, we have a specific been located.
And if you say to a zero that will configure output to be an output, right?
If you set the BEC to be one that will go and figure out who to be and input.
Right.
In this case, we want utilize of all the 16bit as an output.
So what we're going to do is we'll just be copying this function.
We go back to mean after an initialization.
OK, first argument that this function have is the instance structure, right?
So instance structure for us is cheap.
You write the way we add ampersand because this is required if you just exploded the required pointer
of an instance structure, right?
So we will just be passing an address so far instance such as was that instant?
The next thing is the number of chain and noggin since we are utilizing the single channel.
Right?
So you could clearly add one more here.
Right.
And the last thing is to sic all the 16bit as an output.
So we'll just be adding zero zero zero zero, right?
So X indicate that we are passing the number in an extra simple format.
OK.
So for exactly single digit.
Will sit 16.
Bins as an output.
Right.
This makes sense.
So once detection is correctly set up now, we will be generating the blinking rate, so we'll be calling
while when.
So this allows us to continuously run our application until we apply it right?
So first, we'll be writing all one and then we will be waiting for somebody writing again on zero,
waiting again for something, right?
So to write the leader, we have discrete right, OK function where we need to pass an instance structure
the.
Changing that, we are utilizing and then the data, so we'll be going ahead.
Again, to our application.
OK, first argument is the and structure.
So will the China number is one and the leader that we want the right.
So we are writing all one to all the 16 pins that we have, right?
So excited symbol.
If it's right, then we'll be waiting for one second.
So sleep is an EPA that is used to provide the delay in second, so we just need to pass the delay in
second as an argument.
So here we want a delay of one second.
So we'll just be adding one over here.
Then we will be writing all zeros again.
You feel the instant structure, though, a number of changes and then all these.
So this will turn off.
All the ladies will again be waiting for one second.
Right.
So this will give it an equal delay for both on and off, correct.
So we'll be getting the blinking great.
So once this is done, we complete our application could we'll just be saving our crew and building
up our entire application.
So just press control and that will generate an idealist as you could also go here.
Right.
So this is in file that will be downloaded and executed on the next rate.
When our application is ready will go ahead with select an application project, which is this one right
click, then debug at launch on hardware.
So this will open up the debug perspective.
OK.
And then we go to this terminal and there, what are we going to do is we will be connecting the serial
terminal right to select this plus button, then select the respect you can put on which you have your
development board.
And the board rate at which you are right is operating is nine six zero zero.
Right.
So once this is connected, we will be proceeding for an execution of a court.
Great to hear you.
You could clearly see as we switch to a debug perspective, we have this resume option, right?
We'll just be clicking on that and then our application would start executing.
And here you could really see that GPO in it is successfully right.
This basically mean the GPI is collected initialize and you could observe on a ball they lead you blink
rate.