 Hello and welcome to the migrating from 8 to 32-bit workshop. In this workshop, we are going to look through different methodologies of programming 8-bit micros that you can use when you program a 32-bit micro. To run this workshop, we're going to need some equipment and some tools installed on your laptop. Firstly, we will need a laptop running at least Windows 7 or higher and a mini USB cable to connect your nuclear board to your laptop. We will then need to download and install ST-Link Utility. This will provide you with the drivers needed for the nuclear board. We will need to download and install the Cubamex tool. Right at the end of the day, we will be showing you the high level abstraction way of programming a 32-bit micro which requires the Cubamex tool. Inside the Cubamex tool, we will also need a library add-on pack. This will provide us with all the drivers for the F0 target board on our nuclear device. We will need the IDE. This is the Kyle MDK ARM IDE or Microvision. You will also hear me call it during the day. Again, just like the Cubamex tool, inside the IDE, we will need some library packs. This is done through a pack installer. We will need the STM32F0 pack, the nuclear board pack and the CMSIS which is the ARM standard drivers pack. They all need to be installed from your Kyle toolchain. Finally, at the end of the day, we will be using a terminal program so that we can see information being fed back to the PC. You can use any terminal program you like. I will probably be using TerraTerm as it happens to be installed on my laptop. The agenda for the day, we will start with a bit of an introduction. Then we will go through the hardware and where to find information about all the hardware. Then we will have a look at the STM32 start-up. What actually happens before it reaches the point where you write some code. Then we will have a play with that start-up. The first hands-on will be at 11 o'clock where we show you the basic ways of getting started with the software. After the lunch break, we will talk about the application itself and how the different ways of running an application on a 32-bit device. Then we will do the second hands-on of the day which will be an application based on direct register access. So we will show you how to create the environment to use just direct register access. Then finally, at the end of the day, we will introduce to you the how libraries or the hardware abstract libraries which are part of the Cubimx tool. We will also show you the Cubimx tool and what benefits it can provide to you. Then we will do the same application as we did with the register access but then using the Cubimx tool and the how libraries. Finally, we will have a conclusion at the end of the day. So the goals of today are to be able to create an application using our Cubimx tool. So this will happen in the second half of the day to show you what we can do with all the features we have for our 32-bit architecture. To be familiar with the sources of information, so the different types of documents we have available for the SDM32, where they are located and what information is provided inside each document. To be familiar with the hardware getting started process, so the components that have to sit around the microcontroller for you to physically start the microcontroller up. The start-up process, so this is what actually happens from the moment you switch the power on to the point of starting to executing your software in main.c. The different coding techniques you can use for the SDM32, so we will cover that during the day and show you the three different processes that we have for coding. To be able to form basic configuration, code writing and debugging using the KailuVision tool chain. So this is the MDK tool chain from Kail, which is actually owned by ARM. And then part of the CubeMex tool, we also have the HAL libraries and the low-layer libraries, so we'll be showing you two different hands-ons using these types of libraries and the benefits that each of these types of libraries can offer you. During the day, we will be referring to a user material or user disk. So these user disks normally provided on a Google Drive, but we have them on a memory stick for you to download onto your laptop. So I'll be referring to this user disk during the day. On the user disk, we've got all the documentation, all the slides and the hands-on examples that we'll be needing throughout the day to run the course. So without further time wasting, we'll get on to the start of the day, which is the introduction.