From: Trevor W. <tre...@li...> - 2014-02-24 01:03:41
|
Hello Chuck, On 02/23/14 19:13, Chuck McManis wrote: > So what are you really trying to figure out? If you should buy > someone's compiler or not? Hehe, no :-) On the 11th of March I'll be giving a talk at my local Linux user group. The title of the talk will be "Cortex-M, for type-A Developers". The gist of the talk will be how to to complete, end-to-end CortexM development (coding, "programming", downloading, debugging, etc) using nothing more than the Linux cmdline (i.e. the type-A developer, most likely a CortexA developer). If anything, I'm hoping that my talk will help others to realize you _don't_ have to buy the expensive tools (compilers, IDEs, debug tools, JTAG dongles) in order to do CortexM development. In my opinion, this isn't necessarily obvious. Secondly this talk will, I hope, help point out the differences between programming for a Linux target versus programming for a microcontroller (e.g. there's no glibc). So while I will be suggesting a certain route people might want to follow, I do want to try to give a balanced talk. I have divided the talk into a number of sections: 1. what is a CortexM 2. microcontroller development workflow (how it differs) 3. compiler choices 4. compiling (flags to use, linker scripts) 5. libraries (startup code, rtos, etc) 6. downloading (flash "programming") 7. debugging Sections 1 and 2 are pretty much done. I have a huge list of compilers to mention for #3 (tasking, isystem, code composer studio, atollic, coocox, mbest, code warrior, mentor, hitex, rowley, iar, keil, rt:collab, cosmic, emprog, pe micro, green hills multi, keolabs, mikro). This list was created by visiting the SoC vendors' websites and following links to "recommended tools" (or some such). The point of my talk is to whittle this list down to the ones that are available for Linux, aren't just GCC IDE wrappers, and are free (including free from registration). In other words... arm-gcc-embedded :-) What I'm trying to figure out is how DS-5, Keil, arm-gcc-embedded, and armcc fit together. By the way, my impression is that summon was nothing more than a home-brew build script that pulled and built the Linaro toolchain. In other words, it wasn't really its own independent toolchain (like, say, armcc or rowley) but was simply a build script for work that was already done. I'd be happy to learn otherwise :-) If anyone would like to make suggestions for the presentation I'd be happy to hear those too. I'm still wondering how I'm going to do the "libraries" section of the talk. I'll probably talk about mbed, microlib, CMSIS, and (of course) libopencm3 with an accompanying, requisite, discussion of licenses. Any others you'd mention? Eventually I'll be blogging about all this, and I do plan to make the slide available online once I'm done. Best regards, Trevor |