 So welcome to this workshop third of the day today, we're talking about cuba mechs and Expansion pack integration, so it's a new feature added into cuba mechs So the gender for today. I'll bring it all off. I'm gonna start with me doing a bit of introduction about what the workshops about What we're gonna go through And a few objectives Then we're gonna go to the hands-on sessions, which Jeff will be leading and I'll be around the room helping out Well where we need to so we'll go through the X-Cube pack as we call it and installing configuring it and Doing the building and testing of the software to make sure it's all working. So the objectives today Or for this session to be familiar with the structure of the X-Cube pack to understand How to add it into cuba mechs so take cuba mechs and add in this new package of software pack Then once you've included it in cuba mechs is how to get that software Enabled into your project or your customers project. So how to use it and How to configure it one of the new features is being able to configure this additional software so you can make changes Customize it to how it's required to be used and Then finally how to build it and debug it and make sure that it's all working So in terms of the ecosystem as we call it for STM32 cuba mechs is the first building block of I was going to try and use this but I have to use this pointer because this doesn't work on the screen So cuba mechs is the first stage in the development lifecycle It's there to save you going through hundreds and hundreds of pages of data sheets trying to work out to configure the alternate functions of the Pio's how to configure the PLL's for the clocks It saves you all that manual going through the pages I mean not that the data sheets aren't useful as well in You know alongside it, but as a rapid startup tool, this is the way to go So very quickly graphically configure STM32 and away it goes that configures the startup code and Generates the C code along with the framework for putting your application in The next step is to compile a code and debug the code. So that's where the idea is coming We work with all the major Cortex-M tools providers The ones highlighted in green there are actually free solutions Some of the others are paid for and the car one there is highlighted as green because for the L zero that we're using today And for the F zero families at the Cortex-M zero and M zero pluses. There is actually a free license for that Today we're going to use the italic toolchain, which as you may know ST bought towards the end of last year So we're promoting that that toolchain or that IDE and then finally the final step in the development software tools anyway is STM studio for monitoring the The device and seeing how it is performing So cuba mechs was launched in 2013. So it's been around for 2013 and gradually we've been adding more and more features and developing it In terms of the ecosystem and where cuba mechs fits in well first of all we have to think about What it's for so you have the hardware. So that's the boards like this one or your customers board with the STM 32 on it So whether it's a nuclear board discovery board or a customer board We have the hardware then software wise we have the STM 32 cube packages So those of you that played around with cuba mechs Before we know about adding in say the light the firmware pack for the different families So the L zero family the f4 family, etc. That's what the cube MCU packages are That's what we turned those on and then the next step obviously you have the hardware with the STM 32 on it But you need it to do something so you might add a shield on an expansion board on with some MEMS or Connectivity or a display something like that. So we've got expansion boards and to use those expansion boards. You need software So we have cube expansion packages and these are the packages are asking about at the start. So the xcube MEMS package for instance is a package of software that is for the STM 32 that allows you to control those particular peripherals But they're not necessarily until today Those two weren't necessarily integrated together So you could get the pack package and you could build it for the STM 32 and now it all worked fine But you couldn't configure it within cuba mechs likely to configure the STM 32. So it was kind of two separate operations So we've moved on for the next step and now we have the cube expansion packs Put CMC's in there because it's a standard. It's the arm kyle standard for CMC's CMC's so it's for the packs So if any of you have used kyle, it's the idea anybody use kyle. It's the idea the MDK Yeah, so when you add Packages within kyle in the package manager that uses the pack format and that we're using the same pack format here within cuba mechs So what we have today is BLE that's the only pack that exists now that is compatible with cuba mechs We're working on others. So currently that we are projects going on for MEMS and for Laura So they will be the next things in Q4 will be adding Those packs as well. So you'll be able to introduce those into cuba So what is this pack format that I've talked about I've mentioned? Well, as I say, it's an arm standard. It's the arm CMC's standard packs And what it is is imagine you have an embedded software component You've got some software or your customers got some software or a supplier like ST Has some software for an additional product that they want to include within cuba mechs. So you have this lump of software Arm kyle defines this pack format For putting together along with some additional source files, which may be for examples for using that code So this would be the API code and the drivers and this the existing source files may be the application examples There's also a pdsc, which is the package description and that that tells The tool what's in that pack what the software dependencies are between packs What it requires and you'll see some of the dependencies appear when we go through the hands-on Then in addition to that ST To make it cuba mechs compliant has added in some additional files sort of outside of the CMC's pack So a couple of us XML files and what we call an FTL file These are the descriptive files that tell cuba mechs what you can and can't configure and what the parameters are for that Configuration within the pack for the workshop today. I mean most of you've already got them out We're using the nuclear alo 53 board. We're using the blue energy shield Our expansion board and the mini USB cable. That's the hardware Software, obviously we're using cuba mechs. That's the workshop that we were here to do So we're going to use cuba mechs as the configuration tool. We're going to get that to generate the software Then we're going to use the etolic IDE In order to do the compilation and debugging the third component which we've added on here is SGM 32 cube programmer You can use this or you can use ST link utility if you already have that it doesn't really matter We aren't using this piece of software as it is All we've you install this for is to get the USB drivers that it installs as well to connect to the board And then the final piece of the jigsaw is you've got Bluetooth running on your boards You need to talk to it to see whether it's working or not. So we have an app That runs on your in your smartphone We've got a version for iOS and Android that you can install so if you haven't already got it From the slides sheets that are on the desk. You've got the QR code and you can download it