2014-11-22 04:48 AM
hi every one
what is best programming tools including compiler,maker,linker,ide &... in linux?i know maybe i cant find these integrated,then whats your suggestion for each part?i think to dont use any lite ,trial tools,but if there are a good choise im glad to hear.the most important subject is have these capability :1- support cmsis2-not be a rusty project(developer be active & support it,having a good feature)3-support jlink & ulink4-have a good learning sources,article & projects5-have a simulation/debaugging environment like keil (in keil we can simulate & debug peripherals like gpio,spi &... & core) is a plus point.....thank for your response2014-11-22 05:06 AM
The compiler is going to be GNU/GCC, for and IDE perhaps Eclipse
Projects get rusty because ''free'' doesn't pay the bills, if you want things to be fantastic and shiny your going to have to buff them yourself. ULink is a Keil only JTAG/SWD debugger, it's support/use outside of Keil is going to be very limited to non-existent. Want a debugger, probably going to need to use GDB or some derivative there of. If you can stay in windows Keil can be configured to use GNU compilers/linkers.2014-11-22 08:51 AM
Just take a look at
http://gnuarmeclipse.livius.net/blog/The GNU ARM Eclipse plugins are mature, professional grade tools. Work on Linux, Mac and Windows.Open source tools are sometimes just as good if not better than commercial tools (GCC is a good example).Lix2014-11-22 09:39 AM
Open source tools are sometimes just as good if not better than commercial tools (GCC is a good example).
I guess if there were prizes for the largest code generated on an embedded platform...2014-11-22 01:52 PM
This is a mythos. In an informal test gcc 4.8 using newlib nano against IAR on a Freescale KW21D512, the gcc code was comparable to the equivalent IAR code. With optimisation set to Os even better than the optimised IAR code. So this is not an issue anymore.
2014-11-22 04:49 PM
I've written a bootloader using C++ & GCC. It was written to communicate on all exposed UARTS (typically 2 to 4 depending on application). It accepts the binary image, programs into flash, and adds a checksum to the end of the image. The UARTS are all C++ objects and interrupt driven via FIFOs of arbitrary size (although I normally upload in blocks of 2K so the buffers are set a little larger than that). Total binary size: 6K.
The GCC compiler is really not that bad. I often look at the assembly language and have to confess that I would struggle to write better assembly language by hand. I'm sure that the ARM GCC compiler receives sufficient support due to android and smart phone development.The bloatiest part of the GCC compiler is the standard libraries, they're written to be a generic solution and as such can be bigger than required. I have my own naive implmentations of printf, memcpy, stncmp, strtok and a couple of others that remove multiple kilobytes off the size of the binary.2014-11-22 10:54 PM
thank any body
excuse my mistake, i mean supporting jlink & stlink(not ulink )if its impossible only stlink is enough.as i said past cmsis & simulating /debaugging is very necessary dear clive1 i am using keil free version know,& i think i can only use that for a hobby or a educational & not for commercial purpose.do you know with using gcc compiler/linker i receive permission of using keil for commercial targets or not ???there are not any other debaugging simulator ?& at last has any one a good tutorial of setting & using eclipse & gcc ?really thanks any body2014-11-23 01:38 PM
Mahmoud, did you check the link I gave you? You will find there step by step instructions how to install everything, from Eclipse to toolchain and plugins. The plugins support J-Link and OpenOCD debuggers. Here again the link:
2014-11-23 01:47 PM
I second you with this one. Our informal test I mentioned was a demo software from Freescale for the KW21/KW22 wireless controller series called ''wireless UART''. It compiled to approximately 30K in both gcc and IAR, with no optimisation. With optimisation set to Os gcc generated 17K (and the program still worked ;) slightly better than IAR. But again, the Freescale demo did not use standard libraries.
However, the (relatively) new nano library is rather compact, and for large programs it is an asset, not a liability. You may want to give it a try.Lix