 Okay, thank you guys for coming. I want to make it short because we're a bit late due to video problems, but as you can see we've got it fixed. Welcome to the living bedroom. It's the 14th year I do this. I hope you all enjoy this and enjoy the rest of the process. Okay, so I talked about the big tool chain for the SKM8, which is a relatively new tool chain, so my free tools have been there a long time ago. Now, let's see, this is a table of contents and of course one of the things that SKM8 offers itself. One of the second things of the tool chain is SKCC, it's called a basic compiler. The compiler's kind of thing. This might be the problem. Other important parts are tools to bring our program onto the hardware. SKM8 Flash, that's the most important part of the moment. The key link hardware is kind of an hardware download for now in system programming. SKM8 can do the same thing like a bootloader to get the whole thing on the SKM8 via serial drive. We don't have support in OpenOS Sydney to bring the program onto the hardware by the SKM8. This is the new download for the bugging. And, for sure, it should be slightly higher than the tools. There's a bit of support in IDEs. And also, there's this LLVM Flash SKCC experimental tool chain, which essentially combines LLVM, and high level optimizations with LLVM optimizations and bug ends of SKCC. Okay, so I start with the SKM8. Now, the SKM8 is a high-performance, a bit-com, so I could be interested in small, but it's hard to find a faster than many older bugs, such as the 8051. Actually, even at 60 megahertz, the SKM8 is basically behind the 100 megahertz 8051 in a different way, that's a benchmark. It has a rather rich side of the digital system, that is similar to the, maybe, in my understanding of the bigger SK32 controllers. These are the SK32 armwrestling, which is the big controllers. The architecture is relatively safe. It's easy for such a microcontroller. I'm not into the F-bar, but it's a relatively nice thing about it. The biggest device is a 6 kilobytes of power. The other one is a 28 kilobytes of flash. Two kilobytes of heat. But the smaller ones, it's just one and a half kilobytes of power, maybe eight kilobytes of flash, and a few bytes, actually, know the E-bar. Those things, especially the small ones, are really cheap. Even in the normal distributors, like, if you pay a large amount, the smaller ones are 20 cents, so you really need a large amount of confidence in the handsets easily. Billions have been made. Last time, there's been a non-studying thing. It was, I think, 2016, that the sold already 2 billion. They're not that big on advertising. I think they wanted people to move to the bigger SK32 device. But there's a lot of renouncing. There's a lot of places, from eating thermostats to vehicles. One relatively decent project, our tool giant, is developing for e-bikes. The next thing we have is DM-8 controllers in the back. But there's a lot of them out there, and I think it's the one free tool to get to work with them. Okay, so, probably the most important part of the tool giant is the compiler targeting the SK32. Now, as you can see, it's a standard C compiler. It has a lot of support. Even for card and C-standards, not in full, it's a C-C-L-N-G-M, but typically better than non-free compilers, for such small microcontrollers. Usually, with the free-standard implementation, by the way, we put the part out of the implementation. There's supporting tools, like assembly and simulators, we're in the project. In addition to the host systems, the target is a lot of other egg-bed architectures as well. Like, for example, an egg in the back, and a classic Z80, I don't know anything about that. Then the free-standard S-C-O-L, S-C-O-L should be mentioned, and microcontrollers think about those as still in development and all. The quality of the back, the other back. It has some unusual optimizations that are very suitable for this small card is that you won't find in S-C-C-L-N-G-M. In particular, in legislation, because it's a lot of difficulties to have a very irregular architecture, and not like this, you have some instructions, and you can use any legislation, and now some instructions, and then some registers, other instructions have been allowed, different clock cycles, and the code size depending on which I choose to see. This makes it a bit... All articulation of legislation can do this one, but you have no interest in legislation as much as in law enforcement. In terms of legislation, it's optimally given a certain value, and it's also the most important in this expansion, and this is not a fast-pacestal case, it's actually quite slow, but it gives us good optimization for this small architecture, so you can go in the compilation screen, code for the key, so you have a compilation time and you also have for the estimate, you can actually do registers for your locations by byte, and then we have some good bit scenarios, you might be like 16 bits of that variable, 16 bits of that structure, you have the 8 bits, you have the split on the stack, you have the 8 bits, and you can actually do the 8 bit registers. So any byte or any registers is actually something of the architecture. Okay, so next question is how many items is a compiler, you don't want compilers to have too many bugs. Now, MSGCC does regression testing on various networks, on various host architectures, hardware architectures, it's about 10,000 tests, many of them are from big stars, so I'm going to use these pictures, and a lot of them have been taken to test. Okay, we also have a bit more of a system, our ultimately compilers to have a tube and doubt in the other hand, people to maintain in social areas and see what is the best thing to do about them and to use to have the smart machines, and when we can to have a few machines against them. So now, how does new compilers with our compilers, when compared to new compilers, MSGCC strings is a release-centered outcome, and I hope it will come very, very soon, and I don't think it changes, so for this time, I just used our current development snapshot and 3.5.0 was released from May 2015. And Cosmic Resonance IRA are monster compilers, residents are used there also the next version from 2015 is how to get a license for their relation version Cosmic and IRA are used there. We can see in Wexler which is a floating bond benchmark that we like to have as fast as we can. MSGCC in both a little bit, about 5 to 10 percent, in those two years back, we have a few little meters and a small microcontroller is an integer performance, and here we have a sort of ice dome in Cormac, in the benchmark, and we see the MSGCC and the 3.5.0 went essentially from worst to best in benchmark scores and that is all the integer performance both for ice dome and for Cormac. So thanks to both our registered locator stuff, if you have optimizations and of course a huge weakening for things that matter in these benchmarks, I mean price load depends a lot on performance and functions so optimizations are very important for weather scores Cormac is a little bit a little bit of a situation so optimizations are very important in the locator stuff but in code size yes, we have moved it in code size by down because all benchmarks are for the level of Resonance Resonance is really good but some things will be done but if you look at the big picture of how we compare to those compilers the MSGCC in other versions is doing really better code size is only a very big difference and only Resonance is really doing better which is not good as standard code lines or code speed or anything else now yes, the MSGCC is only good compiler that runs on a lot of operating systems which actually has one in on-tree finalize the process code then we invest in standard code size and no one knows in on-tree compilers that we will have the C9 nodes and the C99 nodes except for IAR so we will have the standard one of MSGCC ok, so much for MSGCC since we have talked about compilers a few quick words about LLDM class MSGCC basically on the weekends the weekends is more or less officially part of LLDM so it's a separate project you also see code that is standard MSGCC which allows us to use a language partner for other languages and C and the IAR optimizations from LLDM but this thing is quite experimental in just LLDM those on the LLDM LLDM is a bit special so MSGCC is not that optimized for it so we think that not that efficient than LLDM in addition to LLDM LLDM ok, now MSGCC class the program programs point to the estimate devices are you already holding it up for ok so it's all the time up to you ok so let's get out of here because maybe we have a question by the support of LLDM and in our estimate which is the official device which I will talk about later now we also have the estimate so now we have the device which we have already supported by this time estimate null which is an alternative it uses a significant bootloader that a lot of estimate what all devices have but also now it's really wide in the flesh we can use it to bring the program on to the device one problem is that for some SGMAs this bootloader has a communication code that can be used for all devices that is not as efficient in terms of what it does but this is not the code of course when you want the device but for some devices it's not as effective ok now let's look at the openness of the LLDM and the bugger side now the spatches don't much use they have been rushed recently and immediately I don't see any committed upstays for SGMA support and support for the SP link and we need even a loud contacting body which is kind of a threat feature but for the compliance of all the needs but still it does need this SP link in terms of the device SP the top 11 that has known ok it feels like works about support and all the needs now there's a bit of support in the clips for the Eclipse we have this Eclipse STC Synco plugin it's from 2006 it definitely needs updending to work this out and the current Eclipse we have several familiar with Java Eclipse now the I that's the whole support for the Eclipse so one needs to look and say that you can do a stop stream the bugger support the first and last plugin we have the OCD support that had on the previous slide ok, now for the the current STC and I mean the plugin was very familiar I looked at it and updated the current STC from the current release there's support for STC but I guess we need some testing and we'll see if that even works and the bugging support will be there now ok, now the last part is the best feeling that has a level that is used the first version of the STC we have on the STC but there's a lot of smaller deep tiny stones that not all of them used don't be firmware so this is a one last don't be build-side we need to the current STC not the ESP STC which is a ESP hardware with some pre-firmware on it there's no bugging yet and there's U-Pog 2 hardware which has its own software but it's also only we need the flash memory not the bugging yet ok, so let's go to the final list now what STC needs more developers we used to have more for years back and I'm being interested in micro-comporters the development is not as active as it used to be we also need to fix a few STC counterparts and improve STC further standard compliance, yes we did better than the domestic compiler what people expect these days and this is here I am here that's more optimizations for me then the bugging info is not perfect yet especially when it comes to local variables and later we have the STC scene tool chain and that's how the STL experiment is put off as a benefit and can only fix a few optimizations so we're more back to the same thing all the integration of this as I mentioned most of them are clip-side now this is something I didn't mention before the real time operating systems of course some people want for some tasks the real time operating system for microcontrollers and while a few real time operating systems have been bought into STCC there's still some that only work with the domestic compilers and the big system is like Riot or something or 3RTOS are not even available for the STMA yet so there one would have to make a part for us to download and and then of course this here will be a good loader scene and here it would be that the target for many sides like for the ST-link it's hand as the standard for that one then get support for the free firmware and other tips that are already there with a bunch of different hardware in all the tools and for the boot loader also the placements of the binders blocks that are used in the app ok so the summary of what we have on the slide the name of the room here the reason of the well working is that you can use that for the STMA even though non-link tools were there years earlier in some ways you have to pass the non-link tools already in particular in terms of code scheme some other aspects of the compiler if you get the non-link tools that you want to use you have to get the small tools like STMA STMA if you still don't have the code scheme you have to get the non-link tools in code size you have to get 8 in some aspects you have to get the non-link tools in other aspects ok so that's it for my slide any questions see for example oh I forgot to read the question so the question was asked what does it mean that STMA is a C-friendly architecture ok now C naturally compiles all these things that you can use the STMA you have to go on to the STMA you can go on to the STMA you want call and return instructions or easily function calling and return it all on the stack not all the active microcontrollers have that as an example as a call and return instructions but you need to go via an index register via a frame pointer if you want the access value it's on the stack and some other microcontrollers like the MCS 51 or the TIC microcontrollers don't even have a stack relative addressing mode so it's even harder you have to add some off-stack and then put it into an index register and then it goes through there and you need many instructions to access the value of the stack and for the TIC score example you have a hardware stack not the stack pointer going into memory but some of them have a hardware stack so if you're going beyond fall levels or function calls you have to manually move things around then you don't have good support for the function calling that's the highest you want to have because it has a stack pointer relative to the dressing mode well, I'll give you an example of that for most functions that's good enough it has an infrastructure that has a stack pointer relative to the dressing mode it's efficient some other architectures have it but you see that it has added on later and the instructions for stack pointer relative to the dressing mode are relative to long and these are relative to contact instructions so most instructions for stack pointer relative to the dressing mode are too wide any other questions now as I mentioned as this is the link for Adelape and one problem is that LLDM is kind of a moving cloud so we have to put some section development if you bind yourself to the LLDM then I am and because STCC has not had that much development for the moment I think it's better to be more cautious and have C as an infrastructure because then we don't have to put too much development on the STCC side into this combination and STCC still is a standalone C compiler so even if we don't have and or anything to maintain this combination we have to have STCC see any more of the STCC any other questions I said we would still have about 3 minutes but if there are no questions ah that's fine what about so does GPD work with STLM or PANAROCID or is it possible what is the best way to work with the PANAROCID the best way to work with the PANAROCID GPD with the debugger ok now the best way is from PANAROCID to STCC with the debugger output to L then use GPD with open OCD and PANAROCID and then you can use the same platform we are not that good with the debugger combination especially with the open OCD if you want to fix it with the open OCD it is not working as well as what you might the PANAROCID can do so open OCD plus STLM open OCD plus STLM STCC and it is done with open OCD ok, any further questions? I don't see anything, so then that's it