 Hello, my name is David Garski and I'm a software engineer at Wolfe SSL. This is part two of a video series for Wolfe Boot with the SM32, and today is the Getting Started video. I'm going to talk about the package and how to download it, the structure of the folders, and where to find the documentation. So it's pretty simple. All our software is open source. It's written in C and it's available on GitHub or our website. So from our website, this is our homepage. You can click the download link and Wolfe Boot is listed as an item here on this page. So fill out some basic information and then you can choose our latest Wolfe Boot release right here and download it. And a little tip, the information up top is not required, and you can say you've written the license, screaming down. The other way to do it is to go to GitHub. So it's github.com slash Wolfe SSL slash Wolfe Boot. And here you will find all the latest sources in the master repository and you can clone it using this command directly. Those are the two ways to get the archive. I'm going to talk now a little bit about the folder structure. So the configuration templates for each platform, the ones that we test with, we put into this config examples directory. And the idea here is that you can take one of these example files, rename it as .config in the root, and then all of the parameters for building that platform are pulled in and you can just use make against those. And we just reviewed all the docs and markdown format for the manuals. In the HAL directory, we have all the porting layer hardware abstraction files for each target. The lib is where all of the third party or Wolfe SSL, Wolfe TPM submodules live. The include directory is where you can find the headers, including the application level APIs, source directory, self-explanatory. Inside the test app directory, there are example applications. Some of them just turn on an LED after boot. Some of them have UART support and even go as far as having support for sending updated firmware through the UART, as an example. So let's see. So for example, in the HAL directory, each of the ported platforms is in here with basically bare metal drivers that are required for the flash and the clocking. All of the UART or spy drivers are in here if using, for example, external spy flash. So the library itself, these are the headers, the actual, this is the header that would be used by your application for the update or success API calls. They're here somewhere, I just don't see it. Yep, like success or update trigger. Those are the public APIs that you would call from your application that sets a flag that says, hey, I want to reboot or I successfully booted. The test applications, so there's test apps for each of the example platforms that we have here. Some of them are more advanced and they'll do the firmware update example that I was talking about with the UART, like this one for the F4. And there's actually a tool, a command line tool that you can build for flashing over the UART as a test, UART flash server. We also have key tools in here written in C and also Python. There is also a Visual Studio project for building this on Windows. And the documentation for the key tools is in that docs directory and signing. It shows how to set up the Python version or to build the C version. What are the command line arguments and how to sign generate keys. It also supports signing using external like HSM where you'd want to hash, give the hash to an HSM and have it signed with its private key. We also have on GitHub a Wolf boot examples repository. And there are many examples in here, including the measured boot example. There's one that does the TLS-13 for a firmware update. You can see several different ones. And we're adding more all the time. This read me covers some of the features, the components, and how it was built, how to build it. And let's see. So the documentation is actually located in the docs directory. And it's all in markdown format. There's documentation for the APIs called from the application side, the how APIs, how to use the key tools for key generation and signing. There is a markdown file here with the list of supported targets with instructions for them. One of the things you have to do is figure out the partition mapping at build time. And I'll go over this in detail in a later video. So other documentation here about how to build it, how to use encrypted partitions, documentation about the the firmware images and the header and how it's designed. And there's also documentation here for measured boot when used along with both DPM with the platform configuration registers. Let's see. So that pretty much covers it. Thank you for watching part two of this Wolf boot getting started video. Stay tuned for part three, which will cover an out of the box experience with the STM32G0. If you have any questions, you can email faxfacts at wolfssl.com.