Session3DesignEast Ecosystem 02

my name is June Carter I’m international product manager for nxp microcontrollers today we’re going to talk about ecosystems so we’re going to talk about things like our free Emmaline graphics library our nxp USB lib some of our tools Simpsons drivers and a whole host of things so hopefully you’ll have a better understanding about once you get our boards how to get up and get started and get running very quickly so first I’ll give you an overview of the LPC port portfolio that all of our microcontrollers and the arm family then I’ll hand it over to Henrik and he will give you an idea about our hardware tools software tools the stacks operating systems and then we’re going to finish it with a small demonstration of these tools in action alright so what is LPC so LPC are the nxp microcontrollers we’ve been exclusively arms since about two thousand three we’re actually the first ones to do a flash microcontroller in arm and since then we’ve done hundreds upon hundreds of different arm microcontrollers so what makes it easy for you is we try to make a scalable continuum for these parts so we try to give same pin outs with in series and between cores we try to keep the IP the same so you can use the same IP from one to the other you write code for one you can migrate it to others we use the same Hardware same tools same tool set tool chains so that what you learn on one is my gradable transferable to other devices and arm one of the strengths of arm is the ecosystem that we have so it’s a very rapidly growing ecosystem from anywhere from the free all the way up to the high end with the greatest support that you could possibly find and everything in between so whatever suits your needs whatever you want whatever kind of support you want it’s out there for arm so that’s one of the real strengths of arm and then one of the things that sets an XP apart is our innovation we’ve won a lot of awards we have a lot of interesting peripherals you don’t find other people so it’s not just the cords how you architect around it the peripherals you put around it even the buses and everything they put on it so we try to get very innovative on the way we do this to make your your job easier and to solve problems that you may have so this gives you an overview of the LPC product lines so we have anywhere from the very low end we call the LPC go so this is the real entry-level parts the very lowest cost lowest power parts that we have with the LPC connect which basically adds a single significant serial peripheral to it such as USB or can now we have LPC connect plus which may have multiple ones of these serial things like Ethernet USB can LCD and then we hope you see turbo LPC connect turbo which had to even higher performance and higher flash and rams and then finally we have LPC command which is our basically our arm9 based devices that run linux so we tried to give you a pretty broad base portfolio to choose from depending on what your requirements are and as you can see on the y axis we have the very flesh sizes and on the x-axis you have all the different pin configurations so what are you to these lines bring you so L PC go is really meant for very fast time-to-market very low cost low power consumption and really is is your 8 and 16-bit replacements these things start as low as 40 sent and 10k quantities for a 32-bit microcontroller so it’s it’s getting harder and harder to justify staying with an 8-bit device for those kind of price points and not just the price you get same kind of power consumption that the eight bits have with performance that blows them away and then LPC connect so point point connectivity with performance and integration so if you attended our USB session or you will attend it you’ll see how easy it is the plug and play for USB for example this part of our connect line we put things like USB drivers in rom on the chip so all you have to do is make an API call you can program the park just by drag-and-drop these are really meant to be very simple connectivity LPC connect plus then add additional bandwidth if you want to run multiple peripherals at once you can run eat Ethernet USB simultaneously or make a can bridge the ethernet or any kind of peripheral bridges that you want these are the ideal parts for that and then LPC connect turbo gives you that additional performance that you may need to then

run high speed USB or some other type for referrals also we add the highest most advanced peripherals that we have like the serial gpio or the spiffy and also the dual cores are in this family so we have a dual-core m4m 0 part those are all in the LPC connect turbo line and then finally LPC command which as I mentioned I’m based and if you want to run linux you need an MMU and so that’s the right line for you if you if you want to run a full linux operating system and then the other thing we do to try to make it easy for you is it’s give you these bridges so we have form fit function replacements between different cores so in the upper left-hand corner there you see the 11 you and the LPC 13 for pin-compatible m0m 3 solutions so you need a little more performance you move the 72 megahertz m3 you want the lowest power consumption you move to the m0 and we have similar there as you go around between arm 7s and cortex m3 m3 and m4 s even arm7 m3 m4 is in the same pin out so we have a lot of flexibility you choose the core that’s right for you and then you can even migrate without changing your board from quarter core okay so that’s a quick overview of our portfolio i’m now going to turn it over henrik and use going to give you a lot more detail on the the ecosystem and how to get started so my name is Henry Fidel on the tools manager at nxp and i’m going to start this presentation by talking a little bit about a website that we have that’s called LPC where calm so LPC where home is basically our engineer to engineer website where we post all the technical information that we have available about all our parts or our boards and basically all the tools that we have in our ecosystem you’ll find things on LPC where such as application notes you’ll find schematics for boards and reference to signs we have forums I think we have at last count it was the number of users were in the thousands anyway active users on the forums that are sort of discussing the designs that they’re working on we have several blogs that are up on on the site where most of our application engineering team and also some other FAS go in and sort of blog about things that they’ve seen people do using the parts and and also users that are that are registered can also talk about the science that they’re working on and we’re really putting a lot of effort into making sure that the information on this website is always updated and that you will be able to find the most sort of accurate technical information or everything that has anything to do with nxp parts on there so when everything that I’m going to show you today with regards to software and then various stacks and such is all available on LBC where so the first thing I want to start by talking a little bit about is IDs compilers development tools basically I mean it’s it’s a it’s it’s you know you have to start somewhere and the IDE especially the debugger is where you will spend most of your time when you’re developing something for one of our parts so we have a pretty broad support across the industry for our parts in in various ideas we have our own IDE that’s called lpcxpresso well not you know it’s not really our own we owe em it from coconut technologies it’s basically an extra only version of their red sweet but the nice thing about it is that it’s free of charge you don’t have to pay anything for it it supports all of our parts and the only limitation is that you can only download and bug applications that are less than 128 k but it’s still a very generous limit compared to some of the other tools that are out there so that’s available you can go to our website you can download that you can start working with it today Kyle I are those are two pretty big names in the industry I mean they’re they’re tools are pretty common they all support all of the the parts that we have rallycross works in attalla car also to kind of I don’t want to say well they’re basically low-cost lower-cost ides and they also have support for our parts and the the new compiler that code sorcery maintains also has a lot of an excuse of port so there’s a lot for you to choose from when it comes to developer to development tools for the nsp parts harbor debugging and like i said this is probably unfortunately i should say the area where a developer spends most of his time in the debugger trying to figure out why it doesn’t do what you want it to do we work with as

many people as we can in the industry to make sure that they have good support in their debuggers for our parts and since we’re using arm exclusively we can also benefit from the fact that arm as a as a very broad support in the industry and there are a lot of development tools out there that supports various debug methodologies and arm course so these are some of the debug probes that can be used together with nxp parts and there’s a lot of there’s a lot of like more advanced debuggers like the lauterbach stuff that i’m not even mentioning on this slide but they’re supporting that one as well we use them all the time when we’re developing the parts in house when it comes to development boards rapid prototyping whatever you want to call it we have i think at last count there was about 86 active development boards in our portfolio and these development boards they span from very advanced sort of reference designs for very specific things two tiny low-cost boards that I just meant you know 22 you can pick them up you know x 2 x 3 4 4 you know 20 30 40 bucks and play around with them we work with a lot of board vendors and we do we try to make sure that we have four for each product we come out but we have at least one board design preferably we want to have a couple of them we want to have some words that are more advanced some ports that are like I said just easy just you know a couple of pins the part and we try also to always make sure that there are boards that have the debug connection on board so you don’t have to invest a lot of money and getting a standalone debugger before you can start evaluating the park so there is I’m going to go into more detail about expresso and em but in a little bit but I want to mention the ngx explore that is on this slide this is a board that we’ve recently come out with for our LPC 4300 and LPC 1800 families together with a company called ngx and if you attend the I think is the advanced peripheral session tomorrow and check out sort of some of the peripherals that are actually on the the parts that are on those ports will give you one of them for free so that’s something I just want to plug so lpcxpresso this is our own low cost development platform that we developed together with embedded artists and and Code Red I think it was so it was a couple years ago when we sort of announced it so lpcxpresso the IDE is the main component of it I’ve already mentioned that that’s the big block on top there in the diagram and the Eclipse based tool chain 128k limit for for downloading code to the target and then we have these low-cost development boards that we call it expresso boards to sort of go with the entire platform and a neat thing about this board is that it’s well it comes in two parts I mean they’re together but they perform to two separate functions one side of the board is the debug link and the other side of the board has the target part on it so the debug link and the target board can be separated either if you just sort cut the board in half like we’ve done on this in this picture or if you cut the traces on the boards and then you have a standalone debugger that you can use them to debug your final design so basically you can get started using the expressive world for us brad pitt prototyping and once you figured out that okay this this is basically what my software is going to be like I’m going to start assigning some hardware now you can keep using the link to debug your own hardware using still using the lpcxpresso ide so this is this is sort of an illustration of just that you have the evaluation stage where you have to development board using the link the IDE and we have an explorer stage and this is sort of a if you want to do some more advanced evaluation of the park we have base boards that you can connect it to these are like ready-made boards that has peripherals all sorts of peripherals on them they have displays they have potentiometers they have a larger prototyping area and you can just plug the link board into one of these baseboards and do some more advanced developing for you sort of go into the final stage where you stop using the the target part of the of the expressive board and start using your own hardware embed is another thing i want to mention this is an initial thing that we’re working on together with arm so basically what embed is is that it’s a tiny board that has it has a unique form factor and it also has a set of development tools and library that our cloud-based so you don’t actually need to install anything to get started with an embed part what you need to do is you need to get a board and then you go to

em beds web page create an account and then you have the compiler and and the entire sort of embed community online I think the last number that I heard was that about 50,000 embed boards in total have been shipped so it’s a very active community and it’s just full of people that are coming up with some amazing designs and most of it is just out there for you to sort of play around with you can grab some libraries you know import that into your project and start developing so some of these boards here that you see on this slide is also like expansion boards for the the actual embed board the embed board is the small one to the right and then you take that board you plug it into one of these expansion boards and then you have ports that you can you know connect you have Ethernet vice you have USB device you have this place what not these are available from several locations several resellers have them at that very sort of competitive pricing flash magic is another tool that nxp is working on together with embedded systems academy and this is basically a programming tool you use it to program parts using either cereal or an ethernet protocol that we’ve come up with so the parts has the chips has a little bit of rome that can communicate with the tool that allows you to just do infield programming or if you just want to you know replace whatever firmware you have in something you know in a quick and easy way without having to break out your entire debugger and your entire tool chain and you can do you can do most of the sort of configuring of the chip that you would expect the tool like this to do you can program security bits you can reprogram boots vectors and things like that read device signatures and make sure you’re talking to the right device and this is also free it’s available online we have a pin marks tool that we publish I think we publish a new version of the pin marks tool for every new part that we come out with and what you use this for is basically to help you configure your pin your pins in the nice thing about it is that its graphical so you know you have a you can just go in and click on you know the pins that you want to be changed from the default set it up to what you want it to be and it can tell you you’ve created a conflict somewhere in your setup and then this tool generates source code that you can just take and you can put that into your project regardless which I do you use who creates an see compatible see code alright so I want to talk a little bit just give you an overview of some of the software packages that we have available at LPC where for NXT parts the main one or the main one one of them one of the main ones is the USB library nxp USB lab which is a free open-source full-featured USB library designed to run on all capable LPC microcontrollers it can run in either host or device mode and we use it if you go into the exhibit area and take a look at some of the demos that we have there you’ll find that a lot of them are based on that USB library so it’s it’s quite capable it’s free of charge in its open source so you can get the source for any of the parts that it supports from LP see where we’re also using the lightweight IP networking stack el whip this is a free IP stack that is developed by the Swedish Institute of computer science and it’s it’s particularly targeted for small microcontrollers small microcontrollers and it has a very small footprint it’s very configurable you can get it down to a small s i think it’s i think they say that it’s about between 4 & 9 k depending on which options that you include so you can use that either stand alone or you can use a good on our toes we have support for free our toes in the software packages that we have up on the side we have a graphics library the graphic library that we have on LP see where it’s eggers and win library which we provide free recharge for any LPC device so i assume that some of you know about chem win already and what you can do with it again most of the demos that we have at the exhibit is based on n win there’s a couple of them that is based on another library but most of them are em wind and this is a library that usually you have to license from sega to be able to use in an application but if you use an LPC part you get it for free real-time operating systems real-time kernels free articles is the one that we have most support for upon LPC where right now we have some software up there also that is ported that is running on Miriam

version 2 we have done some we’re doing some work on on Marco cos 3 support but free articles is sort of right now the main one that we support there is also a Linux support in the form of micro see Linux which is basically Linux for microcontrollers that do not have an MMU we have ports of that for the LPC 1800 and LPC 4300 series parts up on LBC where one experiment with that and then to tie it all together we have created something that we call the LPC open platform and this is basically everything that I’ve just been talking about you have em win you have L whip you have the NXT us could be library you have free articles and you also have driver layers so you have driver libraries for all the peripherals on the chip you have more support packages for the development border we come out with so that you can develop against the common API regardless of which part of which board is you’re working on and all of this is just tied together into one big package that you can download for any of the major IDEs so you have for instance if you want to use hell pc expressive you download the expressive version of the open platform and you get all of this code together with sample applications so you can just either start modifying those to suit your needs or if you just want to experiment with them and see what they can do you can just use it as is so and when if i want to go into a little more detail about that it is a graphic library and one of the nice things about it it supports all different types of LCDs doesn’t matter if you use a monochrome which is gray scale refuse a color LCD and you can use it with either our parts that have LCD controllers on board or if you use important do not have an LCD controller on board you can use it with just a nice pie based LCD panel we provide application notes on LP see where that show you how to port em when across to so I i should say this we try to support em win on any other parts that we come out with but if we if you’re using a part that there’s not an m1 poured out for yet we have application notes that shows just how easy it is to pull it across to to something new it takes about I would say maybe two to three hours to get it all done and tested there’s projects available up on LPC where the chills are to do this for both Carol I are an expresso and as you can see under the resource requirements you can get the footprint down to very little if you don’t use some of the more advanced features of the library and it’s free if you use an XP device support this is some examples of some applications that are using em when washing machines all sorts of home automation panels white goods displays and like I said we have a number of demos in the are in the showroom where you can see and win in action there is another graphics library that we have up on LP see where that we call swim and this is this is something that we developed ourselves it is a very very basic graphics library if you want to just you know put something together that doesn’t have to be super advanced supports basic phones ASCII characters you can do boxes set colors to display bitmaps and the nice thing about it is that it requires a very little overhead we have a demo in the showroom that is it’s basically a pong game so you control the paddle and you try to deflect all the balls to come at you and we’ve done that demo using the swim library if you want to check it out there is again application notes support for the major IDs etc everything up on LPC we’re free articles like I mentioned the the artists of the LPC open open platform package royalty free open source one thing about free artist is also that you can get word for it you can get commercial support for it because so the free artist is like the open source version there’s there’s open artists and they’re safe artists that is based on the same kernel and that’s basically a way for for somebody who is interested in getting commercial support for its package to buy that from the Creator so it’s it’s nice in a way that you can get it for free and you can start using it and then if you realize that this is something I really want to do but I figure that you know I’m the way that I’m using it I need to protect myself by getting some support later on there is the option of getting that and there’s also some free extensions these are extensions that you usually have to pay for but you get for free when you’re

using them with NX pmc use such as the peripheral interface abstraction on the command line interface to control runtime tasks all of that LPC where com once again that’s where you get everything is very easy to implement there is basically these three files you add those to your projects and that sets up the archos and then you have a scheduler running that you can start spinning off threads on many example projects is available for various IDs and there is a book about free artists that is basically based on the LPC 1768 part that we have that you might want to check out as well so nxp USP lib I talked about that a little bit before this is a graphic that shows some of the device classes that is included in it audio is the latest class that we’ve implemented and you can also do composite devices with it so if you want to have you know one USB device be many things it is possible to configure the library to to handle that support for nxp USP lib is being added to any part that we have that supports USB including the parts that have USB drivers in Rome such as the 1840 300 for the high-speed interface and some of the cortex MC errors and their full speed interfaces so again LPC where Congress where you get this and there’s a host of sample code available in the nxp us billion package that shows you how to implement the various sort of USB classes that the library supports el whip like I said a very low footprint and it’s very configurable it supports most of the common protocols that you use in a networking application and you can configure it to just not include support for the protocols that you don’t expect your device to handle in order to to decrease the footprint of the other stack we have two versions of it available for our parts we have the standalone version which is you know slightly smaller but it’s not does not support being run from an artist thread or we have a threaded implementation that is compatible free our toes so any can you can easily take that and modify it to use it with an other or us if you want to use something like micro cos or nucleus or whatever so it’s that this is another thing that we have available this is not part of the open platform because it’s a bit special this is our motor control library we have some development boards we have an expressive board in particular that is basically a reference design for motor control and all of the code that we’ve written for that is based on this motor control library and it’s it’s designed in such a way that most you know depending on which motor you want and depending on the application that you want to create this library helps you just by a flying providing underlying functions for most of the kind of control functions that you might want to create in your application so it is available but it’s not part of the open platform and I want to show you a quick demo of the open platform on a board and I have up here the board that I’m using is a kile board we made this together with Kyle awhile ago to show off our our cortex m4 m0 dual-core processor the board has it has a bunch of memory on board for this particular application we’re running it out of the quad spy flash we have a peripheral in this part called spiffy that allows you to execute code from spy flash which is really nice board as a color LCD display which we will be using and I wanted to show you this example running actually using the USB features of that of the part but I wasn’t able to find any USB microphone or speakers to to use for it so it has to be analog but it would have supported us be if I had access to the hardware basically what it is it’s a voice recorder demo so it can record and playback audio samples and because it has a cortex m4 it has TSP features we added some basic like filtering and Reba were functionality to it and we did the

GUI using and win and we’re using our low-level sort of peripheral driver library in the open platform to implement reading and writing the audio files to a SD card using a fat file system the part supports dual host mode so if I I connected a USB speaker and a USB microphone to it so the analog is being handled by a codec that is on board and then just the sample to the microcontroller but this is a demo that we made in a couple of days using the open platform it’s not quite ready yet there’s a couple more features that are going to implement and once that’s done it’s going to end up when LPC where as well so you can download that and from there and check it out some of the reasons we read this is this is one of those lines that we like to put at the end of presentations where we sort of go through and mention some of the things that we talked about and as you can see we talked about the ecosystem now we talked a little bit about this play a little but USB and a little bit about connectivity but there’s a lot of other things of other reasons for you to choose an LPC microcar and then xbl PC microcontroller and i would like to once again remind you that there are sponsored sessions tomorrow that go through some of the other things that you see on this slide where you can get sort of even more information on what we have that can make your life as a developer easier also this is available in our booth on the floor we had the tools line card that has basically all of the all of our parts actually no we don’t have this printed with us the tools like God is available on our website what we have we had the parts line card available on the show floor so you can look that up for you know the specific part you want the tools line code however I want to plug this because it’s very comprehensive it’s basically a list of every single vendor that provides something to our ecosystem you know what they provide for which parts etc so it’s a very good reference for you to look up you know if you have you you have a specific piece of software that you would like to use in your next design and you’re wondering what can I be kind of use that on an LPC microcontroller well this is your reference it will be able to it can tell you if it’s compatible or not and also our offline chip select a guide which can be very handy if you don’t want to parse through the entire sort of shape selector tool card that we have you just download this install it and then you basically select you know these are the peripherals that I need in my part boom it will tell you exactly which parts that are applicable to you and last but not least I want to plug our another website we have called LPC selim this is not really a website this is our YouTube channel so we post a lot of videos on like simple board demos more advanced sort of like learning capsules we’re filming all these sessions that we’re doing here right now they’re going to end up here eventually I advise you to go check it out there is a lot of information there about our parts and we are constantly adding to it so that’s that thank you very much you