Tip:
Highlight text to annotate it
X
In this video I will demonstrate...
the basic functionality of TASKING's Software Platform.
We start with just an ordinary TASKING C Project.
Demo
Make it a Hello World project
It is important to select a processor for which peripheral support is available.
This is true for several STMicroelectronics families.
The new project is added to the work space.
Now we can add a Software Platform document.
It is a good practice to give it the same name as the project.
The new created document is added to our project and opened with the Software Platform Builder.
It looks quit empty, so let's add some stuff.
On the right side you see all the peripherals for the selected device.
If you don't see any peripheral, you probably selected an unsupported device.
On the left side you will see a selection of drivers and services.
For now we will build our stacks bottom up...
so we start with selecting a few peripherals.
An emac for TCP/IP.
An sdio to access a file system on an SD card.
And one of the uarts which can be used to redirect standard out.
There they are.
In fact those peripherals do not represent any software functionality
It is just configuration, base addresses, interrupts etc.
The correct value of the properties may depend on your specific hardware.
So check all the properties before use.
We will now grow up this stack
At the bottom we see the device driver
And higher up we find services. We choose the TCP/IP service.
All layers between the peripheral and the selected item are added to the stack.
We have still the ability to extend to an higher abstraction level.
So now we have an HTTP device stack.
The application can simply interface at this level.
Here we see the API.
Stack services do all have an open-function.
It returns an handler which is required to access the other functions.
Let's see what we can do with our sdio peripheral.
Several option, but we choose for the Storage System.
This will give us access to an SD card by using standard POSIX file I/O functions.
Let's check some of the default option values.
Long file name support would be nice.
And we set dynamic mount to false, so we can directly access the content of the SD card.
Create a directory called sdcard as mounting point.
Finaly we grow up the uart stack
The uart can also grow up to the HTTP layer...
by using the PPP layer.
But to use the serial port for standard out, grow up to Serial Device I/O is enough.
We have to change a properties of the automatically added Generic Device service to redirect standard out.
Enable standard Output...
and connect it to...
the ID of our Serial Device...
Serial 1.
We also want to change the default baud rate.
Right, we are finished with building stacks.
Time to generate some code.
All generated code will become part of your project.
It is stored in a folder called SoftwarePlatform.
There are several sub-folders.
In the services folder we can find the HTTP code
Just ordinary C code.
Look, the HTTPS code is disabled.
If we want to support HTTPS we have to return to the Software Platform document.
There it is.
Set this property to true and watch what will happen to the list of Software Services.
The Matrix SSL/TLS software services is automatically added.
We now have to regenerate the code.
I would expect to see appear a new folder.
There it is.
Matrixsll is open source.
Check the license before incorporating this software into proprietary programs
Let's return to the generated HTTP source code.
Hmm, still disabled.
And enabled. The indexer has done his job.
Now we can build the complete project.
Of course none of the generated code is used by our Hello World application.
Except those parts required for the redirection of standard out to the serial port.
Unused functions will be stripped by the linker.
It is a lot of code.
But all smoothly integrated.
And you don't have to write it yourself.
So that's the benefit.
If you have the right hardware, you could now start the debugger...
to see the Hello World message send to the serial port.
This is the end of this demonstration.
Thank you for watching.