 Tady jsme těchto lésov, který je hlavný obstáčný lésov, který budeme říct o výbraně. Toto se, které jsme vytvořili v repozitě. A jsme říkáme, jak je výbraně které je výbraně. A jak je výbraně, které je výbraně. A které je výbraně, které je výbraně, které je výbraně. Jsme výbraně. Máme říkáme, jak je výbraně. A které je výbraně. A které je svým výbraně. A to je hlavný lésov, který je svým výbraně. A které je výbraně. jsme nám nevíme na to závodit, co je závodit, které je závodit. Líber je závodit v závodit C. Jsme vzítel návodit Gamatech závodit. Tímžíme staticky závodit. Jsme nevíme na závodit C. a definitivně máme pdf manuál, který je zběžené na doxigeně. Když se vám cítí, který je v České repozitory, který je v dělávou folderu. Všichním se, které je těžké vývědět, které je těžké vývědět. OK, těžké vývědět, který je v repozitory, vyslykáváme pakete LAYBA, které je v mě. V mě to je F4 a vývědět.1.11.0. A těžké vývědět. Vysláváme vývědět, které je vývědět. A těžké vývědět. A těžké vývědět. Vývědět je vývědět, které je vývědět. A v mě to je F4.01, který je vývědět. A těžké vývědět. A těžké vývědět. OK, těžké vývědět. OK, těžké vývědět. A ... .. D состояни do týespera. To je to d 걸orka, který ho dost construir knowledge, porél ten k Despuésup school z shortage of knowledge and how to play. AORT AORTA t.ex. z ADC, které jsou funcí na initializací a initializací. Co je tým dělom tým dělom? O tom můžeme říkali jsou těchto dělom, ale ménu je těchto dělom, který můžete těchto dělom tým dělom. To bude v těchto dělom tým dělom repozitory. Požílim o tým dělom, že vyspět je tým dělom. Jak se tady výjde? To je to závědětně světěstvícky. Můžeme se vytvořit, které je to výjde. Až se závědětí, které je to výjde. Aby se to dál výjde, které je to výjde. Aby se to dál výjde. Jak se vás zvukává však parámetrov, co se učíká občává všechny a jak se zvukává nejvává filé na librá, na které výjde filé, když si vám cítí, co se vám cítí a co se zvukává. A kde se librá všechny však však však vůjde. OK. The basic overview usually we have in the v working in C, we have the source files and the include files. In your project you may mainly use your source codes, in your user source code C files and also your user code the header files. They are also files, mainly one file called stm32f4xx underscore it.c in case that you have the different family, the name with the f4 will be different and also related header file. Now this files, your files and this interrupt header file, the underscore it is the file which handling the interrupts. About this I will talk a little bit later. And these two files can or must include the library. The library include is done only with the one file and this is the stm32f4xx underscore hll.h. You need only include this one file into your user code and in the stm32f4xx underscore it it is done automatically is generated with the cube and mix. Only you need to add include into the stm32 hll into your code. You can see there is also some source files mainly for each payfile. They also include the hll.h. There is some configuration files, the payfile header files and some definitions of the registers and also of the types. And on the bottom there are some cmc files which are usually co-paid with the decor. Some system initialization, stepped up file and the basic header file. The most basic header file which includes all the registers which we have inside the stm32f4. But for you it is only necessary to include stm32f4xx underscore hll underscore h.h. Now it looks very complicated but don't worry it's not so difficult. Now we can look also into our first project which we generate in the cube and mix which is the GPO toggle. I think it's a good example to compare it with our code to see where you can found this files. OK, I have here my GPO toggle example now opened in the system warbench from AC6. On the IDE now doesn't matter, it will be very similar. OK, we have here our GPO pin toggle but this is for now not important. On the top you can see we are including the basic stm32f4 underscore hl dot h. This is all which you need to add into your C file into your main.c to allow you to work with this library. This is everything for you. You only need to add this include file. I also talked about the interrupt. If you will search here in the application you usually have the user folder. We have main.c, you can see there is more files. We can look in the it.c and we can see we have here also stm32f4xx underscore hl dot h. This is only file which is necessary to have here to allow us to work with the library. In case that we want to hear write our user code. Everything is OK. You can also see here the stm32f4xx dot h. This file is not necessary and it's not necessary to use this file here. Definitely the header file from the interrupts it's necessary. Now we have the our user code and we have the HullDivers and also the CMC's library. Here on this slide it's only description which part belongs to which part of our library. Our user code is mainly the main.c, the stm32f4xx underscore it dot c. And there is the stm32f4xx underscore hl underscore msp dot c, which is the microcontest support package. About this file we will talk a little bit later. In the HLDivers is usually in the section which belongs into the driver. They are usually only the drivers from the pay files which we are using because we have the GPO now. It will be GPO. The flash which must be always present because we all the time using the flash. It can be the MA, it can be the power system, it can be the clock reset and clock control and definitely the core also. And these files must be there. And the last part is the CMC's. CMC's files must be also present. There is the startup file, which is called during the startup. And there is also the system file for the stm32f4. There is the basic initialization and the day initialization. About these files we will talk a little bit later. Yes, main.c, where the code mainly begins, the interrupts contains interrupt handlers, nothing new, memory support package. I talked about this before. I will let a little bit for the later. Ok, now we will look on the part of the drivers. Now something small about the drivers and difference between the drivers and the reference manual. Sometimes in the drivers you can found some profile, which are not directly inside the reference manual. A very good example is the USART. You can found in our reference manual the USART. In the USART description in the reference manual you found that the USART can work as the UART, the synchronous UART, can work as the ERDA, and also can work as the smart card. I think this is very clear. But in the HL library we try to a little bit separate this functionality, because each functionality always use the USART, for example the ERDA, but we write for this the specific HL API. Then don't be scared if you find the ERDA driver, that it's not in the reference manual, it's only the sub function of the USART, but it's called the ERDA. Something which is different from the previous libraries, which we had, it's that we try to create this HL library, this hardware abstraction layer, API to be more universal for each family, to allow you use only one API to work on the multiple devices. Usually the common profiles, which have all these families using the whole API, but there is only one remark, usually the clock system is completely different on each family, then this is only part, which you need definitely very deeply to check and to adapt on your new family, which is the RCC, the IP, which is the reset and clock control. I think this is the same slide. Yes, the extension files. Some libraries, or the C files from the IP, have some extension shortcut called the name of the library, underscore X on the end. You have the one variant without the X, and then second with the X. What does this mean? This means that, for example, this functionality is extension from the other families. Here is an example that the API was not before on the other F4 families. Like for the flash, it was the PCA protection feature, was not before on the F4 family, and with the STM32F429 we added this feature. For us, it was not a common feature on the STM32, then we not put it into the flash.c, but we put it in the flash underscore X.c, to define that this feature can be unique only on one particular part in the family. Here we can found it into our project. If you look, if you have the F4, you can found the flashdave.c, which you have the basic functionality for to unlock the flash, lock the flash, erase the flash, program the flash, but in the flash underscore X.c you will found the specific API for this cell type, which is usually to enable the PCA. In this case. OK, the second reason when we putting the X, that this feature is completely different from the other families, not only inside the, for example, F4, but this functionality is completely new because it's not, for example, on the F1 or on the F3, then this is also reason where we putting the X. On the F4 family, it's usually the RCC, the reset and clock control, when we add some more functionalities into this API, which is unique for the F4 family and it was not before on the F3 family. OK. The last part is not that we adding the underscore X, but we adding the new, completely new IP. Then we also add the completely new driver file. Example is here the LTDC controller, which is the LED TFT controller for the TFT displays, which is start with the STM City to F429. The previous devices don't have this feature, but it's completely new IP, then for this we not create the X file, we create the completely new driver file. Yes, and something to work in your project, to work with the library, you need to check if in your preprocessor is set to use underscore HL underscore driver, this definition must be there. If not, then you definitely not include, the library not include the files, it will be blocked. You get the error message, that you cannot use the HL library. And second part, which need to be defined as which microcontra are you using. If you use the different one, you need also to use the different microcontra. Because also in the library can be small differences between the cells types, and you need to specify which cells type do you have. If you look on this in the project file, again,