Hello, welcome back and listen, we shall give an overview of Simms's artists and artists apps.
Let's start off by understanding what artists APIs are.
So ARTUS APIs define the programming interface that is the set of functions that programmers use when
interacting with the artists.
So the set of functions that you would use, such as create a task, delay a task, delete a task,
suspend a task.
Create a semaphore.
We pooh pooh these these functions together, it becomes a set of functions and we call this set of
functions, the ARTUS APIs, Arktos APIs, Expo's or the Arktos functions.
So as simple as this.
Now, what are generic orators APIs, so the concept of generic Arktos APIs is very important.
What they do is they are not tied to a specific ATA's.
They are implemented as a rapper lya above the characters APIs.
So when we take a look at this diagram.
We see that at the bottom, we have what you call in our hardware peripherals, that is what's written
us HWP for us.
On top of that, we have subsystems.
This is the cortex and cortex microcontroller software interface done that.
That is what that stands for.
In the second layer, we have Simms's and the drive is what this means is that we can access the mechanical
and hardware peripherals using the CMC standard or drive as provided by the manufacturer.
On top of Simms's, we have our ARTUS Artmosphere.
Is free Artus, so there is free Arktos and on top of free Arktos, we have something known as Simms's
artists and on top of Simms's artists we have our user code you would see to our user code can access.
Simms's Artus, as well as free Arktos based on this, are we have you in the same way our use of code
can access Simms's then the driver's as well as hardware peripherals.
We could see that from our U.S. courts perspective, we can access the entirety and the entirety of
our system stack, and on top of that, we have two options for using the artist we can use either artists
or Simms's artists.
And why this is important is.
This arrow here means using the standard free ARTUS APIs functions such as to great we can use, to
create, to create a function, or we can use the version defined in Simms's ARTUS to create a function
for us as well.
OK, so then the question becomes, why do I need Simms's artists and artists?
In this case, Artosis stands for Free Artus with written our Tosya because generic APIs don't work
with only free artists, they work with other artists.
OK, so why do I need why?
That's my system need the ability to use generic APIs as well as the real or the actual APIs of the
particular artist I'm using.
OK, let's continue.
So there are two generic apps that can be used with free ARTUS.
We have to Simms's, ARTUS and CMC stands for Coatex Microcontroller Software Interface and this is
a vendor independent API standard created by.
So this API standard is not tied to any manufacturer.
So it's created by is the company that designs the cortex microcontroller.
We also have deposits and this is the portable operating system interface.
This API is mostly used in general purpose operating systems such as Linux.
OK, now we've stated the two options of generic API so that we can use for our free Arktos.
The question still remains, why do we need generic APIs?
What are the pros and cons?
OK, generic APIs allows us to write code ones and run on multiple mce use change in only the artist's.
What this means is we can write our code, our Real-Time operating system code using generic APIs and
we can decide not to use free ARTUS.
And then see, we want to use a different artist such as Cow Artex five.
When we decide to make this decision, we need not change our job creation function, our semaphores
and all of that, we need not change any of that.
Could we simply change our ARTUS so we simply change the outas file?
Meanwhile, the files, the files in our user code area, nothing changes in our accord.
We simply swap free ARTUS from this layer and protocol Artex five because we've decided to use Article
five and everything else remains the same because we created our functions using Simms's artists so
our user could use the generic API to create our Archos functions.
But if our user could used the the actual APIs of this particular artist, which is free artist who
creates the artist, the Archos functionality that we may need to rewrite our user code.
For our tax, but if we use the generic API known as societies, we simply need to swap this out.
We take this out and put in the wonderful artex.
Right, so the benefit is not just for developers, it also allows people who design middle words to
write code that interact with a single API while at the same time supporting multiple realtime operating
systems.
But of course, the drawback here is because it is generic in nature, the unique portions of a particular
artist may be left out.
So that is the drawback, but if you take a look at our diagram that draw back and we can counter that
draw back, because if there is something unique about the Arktos that we don't find, its function
is defined in the generic API.
We can still use the the the specific APIs for this ARTUS, since we can access from our user code,
we can access the archbishop.
We don't always have to go through Simms's ARTUS so we can still use the unique free Archos functions.
If they are not if they are not ported in our Simms's artist generic API, we can still call those unique
functions in the same code and it would work normally.
OK, so let's see some differences between or let's compare the functions we have in our free arches
with the ones defined in our societies.
OK, so this is the this first column shows the free Arktos functions.
This second column shows this crisis artist functions, for instance, our V task delay function.
If we want to use it with Simms's artists, we would have to say always delete.
And if we want to use our always delayed until our V task on our V task delay until function in Simms's
artists, we use their functions.
The function always delay until.
Right.
Let's see the next set, some of the functions, of course, in theaters do not have the direct correspondence
in Simms's archers.
That is fine.
Also, if we want to call our V task star to schedule a function in Simms's, artists, we say always
can start.
If we want to see or if we want to call our V task resume or V get Shetler state, we do always can
unlock it.
Simms's artists and then our our X task get take account becomes always can or take account.
We can get to count.
OK, so what will be helpful is me creating a list, a PDF and then attaching these, these differences
to it.
OK.
OK, so let's move on, let's see other differences.
So these are the functions which message keeps our VQ on registar?
Q becomes always message.
Q delete and the same always message you delete gives us the same functionality as these two functions
and free artus so we can delete over here.
OK.
Then we have Q received.
We have excusive over here.
And has becomes worst mistake you get and then execute a message you execute sent to back us message
HQ put right so.
These are the functions for the SEMAFO, our SEMAFO take becomes always mutex acquire UCM, says Artus
XMA Forgive becomes Oase mutex release of the SEMAFO Gilead's becomes voice mutex delete.
And also, we have the functions.
More functions for mutex.
It seems this is the same with semaphore take.
OK, so this is different.
We have evacuation functions.
Our own SEMAFO crate becomes was mutex new.
Our SEMAFO gets KONE's becomes always SEMAFO gets koncz over here.
Our SEMAFO deletes becomes semafo delete semafo give mutex Reles.
OK, these are just examples of the differences.
And of course this is with regards to the time.
As our time undelete becomes waste time and they meet our time, I get to name becomes waste time.
I get to name our time.
This run in becomes waste, time is running, our time creates becomes waste time on you.
So we've seen some some similarities or we are seeing a trend over here.
Whenever we see create in free frittatas, the word becomes new, you know, Simms's artists.
OK.
So let's see what things do we need to consider in migrating to our generic API?
One thing is that a Simms's artist uses structures as inputs.
So if we want to create our Simms's artist functions, so if we want to create a task, for instance,
we don't just call create a task function and pass.
The argument to the function, what would happen is we would define a structure in the structure, members
would have our task parameters, and then we'll take this structure and pass it as argument to the function
for creating the task in Simms's artists.
Hence the Simms's are functions use structures as inputs, so the functions take structures argument
in Simms's artists.
So before we pass the structure as an argument to disarm societies function, we first need to set the
structure members to the parameters we want.
We shall see how this is done in code.
And one other thing, the disempowers arduous task creation function is stack size argument is in bite
while the free Arktos takes words argument.
So if we are to us when we see one that is equal to four forbert by Simms's Arktos, one equals one
by word means four bytes or 32 bits.
So these are certain things we would have to keep in mind when using the Simms's are just generic API.
This order is for this lesson.
If you have any questions, of course, leave them in the questions and answers area and I'll see you
later.
Have a nice day.