Imagination is successful.
Now we proceed to export in hardware into a whiteys workspace, and then we'll also be launching the
Halloway template.
Great.
So we go to file, we click on export export hardware and this will be including bitstream, right?
So that basically means we will be programming our FPGA from a white decided, right?
So Project Score 33 is the folder where we have all the directories.
Rate will be choosing the seam directly to export and hardware.
Right?
So once export is successful, we go to tools and we will launch and wipe this idea right here.
Also, the workspace that will be choosing for invitees will be a seam directly where we have relied
on project that is project and school.
32.
So we go to brawls and in the directory where we have our wheelbarrow project right to this project
on this territory, and then we will be selecting that food again that we will be launching.
I write this.
So once we decide it is launch, we start with creating a black film project to create platform project
will just be naming this as you what?
Click next and then we click on Browse Button to locate our hardware file, right?
So that didn't exist.
They failed.
So we go to why this project we look at project on the school 33 and here we have our excessive fight
rates, which represent all the information related to anhydride.
So once I read this, if I always added to that list, OK, we will be selecting that file and then
we'll click on finish, right?
So this will automatically create a platform project for us.
So once black phone project is ready.
So first thing that we do is to remove this out of date status, right?
So just click control be and this will start process of building our project.
Great.
So once Bill is successful and out of date, status will be gone.
Now we select the same platform project, right click click on New and then we select an application
project right here.
We will be choosing the same hardware platform.
Click next and we will be naming this as you are necessary step right click next.
And the last thing that we're going to do is to select an halloway template, right?
So now we have our application project and black project both ready, right, so we go to a small step
and there we have had or right, so here we start building our application.
So we first go to our.
Board support package.
OK, and here we have a list of driver recommended for the periphery like these, which are present
and are designed to avoid you like the recommended driver is you like light, right?
So we will just be going ahead and add hash include OK, so we just need to add a perfect says X.
OK, then you light the shortage, right?
So this will be the driver for our you work late AP.
We also required and horror related information to correctly configure R.I.P..
OK, and all the hardware related information is located in X.
Parameters start at right.
So these are the two mandatory files that we require.
Now we explore you are late and understand the different APIs that are available right.
So we have initialize function.
We have a lookup config and see if you initially tried to look up, configure and see if initialize
is available.
So we'll be declaring to structure, config structure and an instance structure and then will perform
an initialization, right?
So we also have that you are like to reset a few.
So we then you are like, you get the space to store 16 byte of data right to before is available in
the direction that is in the next election, as well as an our extraction and the maximum capacity that
you get of it, that you are late is around 16 by right?
So once you are ready to reset it before you have this EPA right, then to send the data, you have
this send EPA to receive 30 day and have a receive API right and then to check whether you are still
sending the data during a transmission.
OK, so we have this pulling function, right?
We also have a self-test and then interpolate it right.
So these are the cities of APIs that are available with us.
So first we proceed for initializing Are you watch late?
Right?
So here we have our fixed structure that will be declaring as a pointer.
OK, we'll just be naming this as you, what, fake, right next one we required is an instant structure,
right?
So we'll just be declaring it at that.
You worked right?
Then we proceed to declare a function.
OK.
That will perform an initialization.
Who are you like, verified?
So let me just name this as you work in it.
OK.
And this will consist of all the functions that could be used to correctly initialize our you are favorites,
the first function that we call lookup config because that will return the config structure for us and
then that config structure we will be utilizing in a sea of g initialized to initialize up very variable
rate.
So you are config will be equal to the lock up on figure.
And here we need to add the device A.D. So to find the device, they just need to explore X parameter
to and look for.
You are right.
So here you have your you work like device APIs, so we'll just be adding it to work.
Right?
So this completes step one where we get the reader related to the config structure.
Now we utilize this config structure to initialize are very rate, and this dual returns to status of
an initialization is written then in.
And if that is equal to existing success, that basically means initialization is successful.
So we called CFG initialize over here.
OK, so first argument is an instance structure, which is you what then?
We have a new word config, which is the config structure, and the last one is the base address.
Racial bias address could be invoked from the config structure set right.
So here we have this address restrict.
That is what we're going to alt right.
And this returns the status of an initialization which we store in and state does variable rate.
And then we will verify whether status is equal to existing success rate.
So if that is the case, we will send a message to any user.
That initialization is a success rate of the print dev.
You worked.
In it.
Successful, right?
Else we could just mention.
You are right, and it feels great.
This makes it.
Now, when we consider intermediate or complex peripheral, the good idea would be that you also perform
a self straight so self this allow us to verify whether hardware is properly configured or right.
So we'll proceed and call the self-test function that we have over here.
Right.
So here we have a self-test again and this returns again status again that we got to check whether it
is equal to existing success or not.
And this just required an instant structure.
So we'll be updating the state does very well over here.
OK.
And then it is just required an instant structure and then will again be checking whether.
Initialization is successful or not.
Right?
And here we will be displaying cell.
Despite.
Successfully, right, similarly here also will be mentioning.
Self-Test, right?
So this is the normal procedure that we've been following from the beginning.
We'll give what we are doing is first, we are performing an initial addition.
We are checking whether the state is written by initials C of G initials, whether it is equal to existing
success or not, right?
Then we are calling a self-test, OK, and we are again checking.
Now remember, we are working with the Lurie is right, so we are not utilizing any platform or creating
a platform as we are doing within a GPO.
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
whether the data transmission is successful, then we will be clearing up our.
OK and then proceed for sending the next data, right?
So here we are, sending our Fourth Street as a good.
You want and it's successful or it could be, and you are doing it right.
So we'll just be waiting for the entire data transmission to complete.
So here we have an EPA to do that, right?
So if you explore the functionality of this, a value of true, if you are descending, the data otherwise
felt false, right?
So as soon as you are complete sending the data, it will basically return false rate.
So we'll just utilize this function.
This again required just an instance structure.
OK.
So white.
And then we had this function, OK, and here we just need to add the instant structure, right?
We do not need to add a node operator because this will be returning to as long as you are descending
the data, right?
And as soon as you are finished sending the data OK, so the not data will return false and then will
be coming out of line, right?
So as we come out of a loop?
OK.
So.
We need to make sure that the people do not have any existing data, right?
Because if you have an existing data, then we might send an unnecessary D down in pencil, right?
So we go ahead.
Dude, you are late again and then we have a function to reset our people, right?
This again just required an instant structure.
So after we finish sending the data, we'll just be resetting.
If you.
OK, so these are the two function that we going to do.
OK.
We're going to run after we want to send Anita down to concentrate.
So similarly here also we want to send send some data, so we'll just be copying this.
We will be going ahead and we'll be adding this to function again right now here.
This completes that initialization procedure, right?
So this is a bit difficult as compared to our GPO initialization because we are using unique platform
and in cleanup platform, right?
But here now since we are.
Utilizing a lower level API is off, you are so this cleanup platform and any platform is not required,
right?
So this complete and entire thing that you need to do to correctly initialize you are so we'll just
be calling this function in our mean application, right?
Because this is something that will be executing on an FPGA right now, once this is done is just declared
one area where we will be storing some data and that is what we're going to sing on to a console.
Right, so.
They does declare you it right, because you are going to be sending bite by bite.
So you wait and data, OK.
And this will be very OK and the reader that we will have is ready to zoom.
Hello.
What?
Right.
This is what we going to send over here now, once we have specified above, where we have a leader
now will be utilizing a lower level EPA to saying that it OK, so here we utilize the blueprint before
which are an abstraction to the lower level level EPA.
But when we consider the data buffer now, we plan to use the lower level EPA, such as the send and
receive EPA that we have, right.
So here specifically will be targeting on this same EPA in the next example will be considering risk
right now.
If you read the description of this, the function saying the specified buffer of data using the you
are and need a pool or an one, right?
So would the moves are supported?
You could either use full more or you could use the entropy more, right?
So in a Pall Mall, because we plan to utilize that.
OK.
The function will only send as much as the what can be offered in the fifth.
Now remember, we have the fifth of, say, six by three.
So in a pool more, you could sing max 16 by eight, OK, in one go.
And if you have the size greater than that which you want to sing, then the application may need to
call it repeatedly to send a buffer.
So similar to what we've been doing with the UART innate self-test and you are the only Texas full hog.
So these strings are greater than 16 byte, so you need to repeatedly check whether the 16 by tossing
or not.
Then you need to recertify for the new data.
Again, start sending added All right, so you could build up an application considering this logic,
right?
This makes sense.
But if you count the number of bytes which are presented in Hallowell, so we have one two three four
five six seven, eight, nine, 10 and 11 by trade.
So which is within the size of 054.
So we do not need to call it regulated rate.
So first argument for dysfunction is the instance structure.
Second one is the pointer to redouble readable for right, and the third one is the number of bites
that you are planning to say, and this function actually returns the number of bite that are actually
sent on to the UI.
Great.
So let me just go ahead and call this function right.
This required first argument as an instance structure, which is you what then the pointer of a data
before, right?
So we'll just be mentioning listed doomed to zero.
OK.
And I dress off it.
Great.
So this will serve as a pointer for our.
And then we will be sending an 11 by tilted.
Right.
So here you could just specify the name of an array that could also be the way to specify the pointer
of the Dubuffet.
Or you could just consider the first element address.
OK, so that will also be serving as the starting point of our hourly rate.
Once this is done now, this returns the number of blanks which are actually sent right.
So we need to verify whether we successfully transmit the 11 byte of data.
OK, that could be one way, or we could just call this function right away.
You are likely sending we'll just be waiting.
And then we will be visiting our people, right?
So will be understanding both the metal religious proceed with this matter straight.
So once we correctly configure our same function, we will be waiting for you to send the data.
Then you'll be resetting our fee for right.
So once this instant, let's proceed to build our application project right to.
Now we have our yearly file available, right so we go ahead and select our application project.
Debug yes, launch on hardware later, this will switch our perspective from design to DBA, and then
we just need to connect to wireless dominance so that we analyze the data that we are sending on the
UI.
Great.
So we go to a white serial terminal.
We click on this plus button.
We select CommSec's six and aborted at which here you are, ladies operating is nine six zero zero,
right?
So once you connect to the specific input, no key, you just need to click on resume button.
Right now, you could see we get you out and it's successful, right?
So you are.
Self-Test is also successful and we are able to transmit halyard, right?
So here what we are doing is whenever you are working in a pool mode, remember to follow this process
that is, you have a size of 50 to be 16 byte rate.
So you need to send that data.
Then you need to clear add a new data.
Again, proceed for sending rate.
So this is how we handle the process and then fooled more rate.