EmbeddedRelated.com
Forums

Code Red for ARM Cortex M3 development - any good ?

Started by Mike July 5, 2012
On 06/07/12 20:16, Rob Gaddi wrote:
> On Fri, 06 Jul 2012 20:03:17 +0200 > alb<alessandro.basili@cern.ch> wrote: > >> >> Can someone here explain what is the gain of an IDE? >> I have to say that I hardly manage to find something rational or logical >> behind the IDEs, starting from the concept of 'project' that nearly all >> of them have but none of them describe formally. >> >> IMO the power you have with a Makefile goes way beyond the fancy icons >> of an IDE, let alone that is far more portable and free from copyrights. >> >> My 2 cents. > > God I love having an IDE when I'm debugging. Visual breakpoints, > register display windows, expanded peripheral registers, all of that > stuff is golden. > > And a good one also has good refactoring and code navigation tools that > work across large numbers of files. I think you can get that level of > power from emacs or vim as well, but I haven't managed to find it in > any sensible editor. > > But yes, their concept of a "project", and their firm belief that they > know better than me how to organize one, is like dental surgery on a > moving truck. >
Eclipse works perfectly well with "makefile" projects. That way you get the advantages of Eclipse (it's code navigation and highlighting tools, jumping from compiler error messages to the code, debugging tools, subversion support, etc., etc., - there are lots of features according to taste), while still having proper control of your project build system. Eclipse's project management and build support is not bad compared to most IDE's, but you can always do better with your own makefiles.
On 11/07/12 20:45, Walter Banks wrote:
> > > Stefan Reuther wrote: > >> Walter Banks wrote: >> >>> Conformance testing is one way to define with confidence the >>> definition of a tool set. My surprise is that the FOSS community >>> has not developed conformance testing tools in part to the response >>> their cost. FOSS tools have been making the argument for free >>> tools for years. . >> >> gcc comes with an extensive test suite, why does this one not count? >> >> I am actually quite confident with it, simply because it has failed less >> often than "the others" on me. >> > > The GCC test suite is ad hoc, tests some things and misses others. > What it lacks is tests that can be directly linked back to specific > requirements. Tests that have names for example that go back to > standards reference numbers (section paragraph numbering). > > The GCC test suite is like a collection of regression tests that we > have built up over the years as part of our internal testing , from > customer support or just interesting code fragments that get > debated in news groups. > > Conformance tests should be written by someone that knows > the requirements but have no knowledge of the implementation > > Regards, > > Walter Banks >
Different types of test suite are useful for different purposes. And /no/ test suite is complete. So if a commercial compiler developer says they use Plum Hall (or whatever) to test standards conformance, all you know is that they have run the test suite. It doesn't tell you how much of the standards are really tested by Plum Hall (I'm sure they are good - but they cannot ever be perfect). It might not tell you how much of Plum Hall the compiler passed or failed. It won't tell you anything about the bugs in the compiler, or the quality of the generated code or the libraries. It will tell you absolutely /nothing/ about the correctness of the compiler (or libraries, or code delivered with the toolchain) when you use different sets of compiler flags or options. Conformance tests tell you a bit about the toolchains standards conformance. That can certainly be useful - but it is not a major part of being sure your tools generate correct object code from your source code. And if you are particularly concerned about conformance tests, then you should probably invest in Plum Hall yourself and run them (or get a consultancy firm to do so) rather than just relying on the toolchain manufacturer. Of course, if you want conformance testing for gcc, and don't want to buy the tools yourself, you can always buy "commercial open source" toolchains such as provided by CodeSourcery / Mentor Graphics - they run their gcc builds through conformance testing tools, including Plum Hall.
David Brown <david.brown@removethis.hesbynett.no> writes:

> On 11/07/12 20:45, Walter Banks wrote: >> >> >> Stefan Reuther wrote: >> >>> Walter Banks wrote: >>> >>>> Conformance testing is one way to define with confidence the >>>> definition of a tool set. My surprise is that the FOSS community >>>> has not developed conformance testing tools in part to the response >>>> their cost. FOSS tools have been making the argument for free >>>> tools for years. . >>> >>> gcc comes with an extensive test suite, why does this one not count? >>> >>> I am actually quite confident with it, simply because it has failed less >>> often than "the others" on me. >>> >> >> The GCC test suite is ad hoc, tests some things and misses others. >> What it lacks is tests that can be directly linked back to specific >> requirements. Tests that have names for example that go back to >> standards reference numbers (section paragraph numbering). >> >> The GCC test suite is like a collection of regression tests that we >> have built up over the years as part of our internal testing , from >> customer support or just interesting code fragments that get >> debated in news groups. >> >> Conformance tests should be written by someone that knows >> the requirements but have no knowledge of the implementation >> >> Regards, >> >> Walter Banks >> > > Different types of test suite are useful for different purposes. And > /no/ test suite is complete. So if a commercial compiler developer > says they use Plum Hall (or whatever) to test standards conformance, > all you know is that they have run the test suite. It doesn't tell > you how much of the standards are really tested by Plum Hall (I'm sure > they are good - but they cannot ever be perfect). It might not tell > you how much of Plum Hall the compiler passed or failed. It won't > tell you anything about the bugs in the compiler, or the quality of > the generated code or the libraries. It will tell you absolutely > /nothing/ about the correctness of the compiler (or libraries, or code > delivered with the toolchain) when you use different sets of compiler > flags or options. > > Conformance tests tell you a bit about the toolchains standards > conformance. That can certainly be useful - but it is not a major > part of being sure your tools generate correct object code from your > source code. And if you are particularly concerned about conformance > tests, then you should probably invest in Plum Hall yourself and run > them (or get a consultancy firm to do so) rather than just relying on > the toolchain manufacturer. > > Of course, if you want conformance testing for gcc, and don't want to > buy the tools yourself, you can always buy "commercial open source" > toolchains such as provided by CodeSourcery / Mentor Graphics - they > run their gcc builds through conformance testing tools, including Plum > Hall.
Hey David, Have you looked at ARMs distribution, perhaps as an alternative to codesourcery now it has been taken over: <https://launchpad.net/gcc-arm-embedded> (Or is it the same thing?) John -- John Devereux
On 17/07/12 19:13, John Devereux wrote:
> David Brown<david.brown@removethis.hesbynett.no> writes: > >> On 11/07/12 20:45, Walter Banks wrote: >>> >>> >>> Stefan Reuther wrote: >>> >>>> Walter Banks wrote: >>>> >>>>> Conformance testing is one way to define with confidence the >>>>> definition of a tool set. My surprise is that the FOSS community >>>>> has not developed conformance testing tools in part to the response >>>>> their cost. FOSS tools have been making the argument for free >>>>> tools for years. . >>>> >>>> gcc comes with an extensive test suite, why does this one not count? >>>> >>>> I am actually quite confident with it, simply because it has failed less >>>> often than "the others" on me. >>>> >>> >>> The GCC test suite is ad hoc, tests some things and misses others. >>> What it lacks is tests that can be directly linked back to specific >>> requirements. Tests that have names for example that go back to >>> standards reference numbers (section paragraph numbering). >>> >>> The GCC test suite is like a collection of regression tests that we >>> have built up over the years as part of our internal testing , from >>> customer support or just interesting code fragments that get >>> debated in news groups. >>> >>> Conformance tests should be written by someone that knows >>> the requirements but have no knowledge of the implementation >>> >>> Regards, >>> >>> Walter Banks >>> >> >> Different types of test suite are useful for different purposes. And >> /no/ test suite is complete. So if a commercial compiler developer >> says they use Plum Hall (or whatever) to test standards conformance, >> all you know is that they have run the test suite. It doesn't tell >> you how much of the standards are really tested by Plum Hall (I'm sure >> they are good - but they cannot ever be perfect). It might not tell >> you how much of Plum Hall the compiler passed or failed. It won't >> tell you anything about the bugs in the compiler, or the quality of >> the generated code or the libraries. It will tell you absolutely >> /nothing/ about the correctness of the compiler (or libraries, or code >> delivered with the toolchain) when you use different sets of compiler >> flags or options. >> >> Conformance tests tell you a bit about the toolchains standards >> conformance. That can certainly be useful - but it is not a major >> part of being sure your tools generate correct object code from your >> source code. And if you are particularly concerned about conformance >> tests, then you should probably invest in Plum Hall yourself and run >> them (or get a consultancy firm to do so) rather than just relying on >> the toolchain manufacturer. >> >> Of course, if you want conformance testing for gcc, and don't want to >> buy the tools yourself, you can always buy "commercial open source" >> toolchains such as provided by CodeSourcery / Mentor Graphics - they >> run their gcc builds through conformance testing tools, including Plum >> Hall. > > Hey David, > > Have you looked at ARMs distribution, perhaps as an alternative to > codesourcery now it has been taken over: > > <https://launchpad.net/gcc-arm-embedded> > > (Or is it the same thing?) > > John >
That is an interesting link, and I'll look more into it later. At the moment, it looks mostly like yet another source of pre-built gcc binaries - but having ARM behind it makes it stand out a bit. There doesn't seem to be much activity there as yet. And their testing appears to be just standard gcc testing, along with running some code on actual boards, in comparison to the additional testing (including conformance testing) done by Code Sourcery. Still, it's good that ARM are doing this, and I know that ARM make a lot of contributions directly to gcc development. There are several factors that make Code Sourcery different. One obvious one is that they are a commercial company - they aim to get paid for their work, either directly (by subscriptions or consultancy fees) or indirectly (by making gcc better, more people will pay for subscriptions). That means top-level professional support, and extra services such as extra testing. They also have a long history of working with gcc - if you look at the gcc mailing list archives or patch lists, you will see Code Sourcery email addresses all over the place stretching back for many years. To the extent that gcc has such a thing, they have long been the "official" maintainers of a number of gcc ports including ARM, m68k, PPC and MIPS. Like many gcc and Code Sourcery fans, I was a bit concerned about how things would change once Mentor Graphics bought them. Mentor is a much larger company, and one might fear that they would be trying to close off the tools, forcibly integrate them into large, expensive toolsets, and discourage Code Sourcery employees from doing "free" work such as contributing to gcc or helping people on mailing lists. However, I don't think there has been any of this - Code Sourcery have being doing as much or more of their "pure" gcc work, the zero-cost "lite" versions of the tools have clear place on the website along with the paid-for subscriptions, and there are new cheaper versions of the toolchains to reduce the entry price. It looks to me like a very good match for everyone - Mentor provides a stability and "big" name, so that Code Sourcery can concentrate more on the technical stuff they are so good at, and all gcc users benefit.
David Brown <david.brown@removethis.hesbynett.no> writes:

> On 17/07/12 19:13, John Devereux wrote: >> David Brown<david.brown@removethis.hesbynett.no> writes: >> >>> On 11/07/12 20:45, Walter Banks wrote: >>>> >>>> >>>> Stefan Reuther wrote: >>>> >>>>> Walter Banks wrote: >>>>> >>>>>> Conformance testing is one way to define with confidence the >>>>>> definition of a tool set. My surprise is that the FOSS community >>>>>> has not developed conformance testing tools in part to the response >>>>>> their cost. FOSS tools have been making the argument for free >>>>>> tools for years. . >>>>> >>>>> gcc comes with an extensive test suite, why does this one not count? >>>>> >>>>> I am actually quite confident with it, simply because it has failed less >>>>> often than "the others" on me. >>>>> >>>> >>>> The GCC test suite is ad hoc, tests some things and misses others. >>>> What it lacks is tests that can be directly linked back to specific >>>> requirements. Tests that have names for example that go back to >>>> standards reference numbers (section paragraph numbering). >>>> >>>> The GCC test suite is like a collection of regression tests that we >>>> have built up over the years as part of our internal testing , from >>>> customer support or just interesting code fragments that get >>>> debated in news groups. >>>> >>>> Conformance tests should be written by someone that knows >>>> the requirements but have no knowledge of the implementation >>>> >>>> Regards, >>>> >>>> Walter Banks >>>> >>> >>> Different types of test suite are useful for different purposes. And >>> /no/ test suite is complete. So if a commercial compiler developer >>> says they use Plum Hall (or whatever) to test standards conformance, >>> all you know is that they have run the test suite. It doesn't tell >>> you how much of the standards are really tested by Plum Hall (I'm sure >>> they are good - but they cannot ever be perfect). It might not tell >>> you how much of Plum Hall the compiler passed or failed. It won't >>> tell you anything about the bugs in the compiler, or the quality of >>> the generated code or the libraries. It will tell you absolutely >>> /nothing/ about the correctness of the compiler (or libraries, or code >>> delivered with the toolchain) when you use different sets of compiler >>> flags or options. >>> >>> Conformance tests tell you a bit about the toolchains standards >>> conformance. That can certainly be useful - but it is not a major >>> part of being sure your tools generate correct object code from your >>> source code. And if you are particularly concerned about conformance >>> tests, then you should probably invest in Plum Hall yourself and run >>> them (or get a consultancy firm to do so) rather than just relying on >>> the toolchain manufacturer. >>> >>> Of course, if you want conformance testing for gcc, and don't want to >>> buy the tools yourself, you can always buy "commercial open source" >>> toolchains such as provided by CodeSourcery / Mentor Graphics - they >>> run their gcc builds through conformance testing tools, including Plum >>> Hall. >> >> Hey David, >> >> Have you looked at ARMs distribution, perhaps as an alternative to >> codesourcery now it has been taken over: >> >> <https://launchpad.net/gcc-arm-embedded> >> >> (Or is it the same thing?) >> >> John >> > > That is an interesting link, and I'll look more into it later. At the > moment, it looks mostly like yet another source of pre-built gcc > binaries - but having ARM behind it makes it stand out a bit.
That is what drew my attention too - interesting (and good) that they do this considering they sell their own compiler too.
> There doesn't seem to be much activity there as yet. And their > testing appears to be just standard gcc testing, along with running > some code on actual boards, in comparison to the additional testing > (including conformance testing) done by Code Sourcery. Still, it's > good that ARM are doing this, and I know that ARM make a lot of > contributions directly to gcc development.
They do seem to include some bug fixes on top of the FSF standard build (as do CS I believe).
> There are several factors that make Code Sourcery different. One > obvious one is that they are a commercial company - they aim to get > paid for their work, either directly (by subscriptions or consultancy > fees) or indirectly (by making gcc better, more people will pay for > subscriptions). That means top-level professional support, and extra > services such as extra testing.
> They also have a long history of working with gcc - if you look at the > gcc mailing list archives or patch lists, you will see Code Sourcery > email addresses all over the place stretching back for many years. To > the extent that gcc has such a thing, they have long been the > "official" maintainers of a number of gcc ports including ARM, m68k, > PPC and MIPS.
Absolutely, I have been aware of them in that role for a long time.
> Like many gcc and Code Sourcery fans, I was a bit concerned about how > things would change once Mentor Graphics bought them. Mentor is a > much larger company, and one might fear that they would be trying to > close off the tools, forcibly integrate them into large, expensive > toolsets, and discourage Code Sourcery employees from doing "free" > work such as contributing to gcc or helping people on mailing lists. > However, I don't think there has been any of this - Code Sourcery have > being doing as much or more of their "pure" gcc work, the zero-cost > "lite" versions of the tools have clear place on the website along > with the paid-for subscriptions, and there are new cheaper versions of > the toolchains to reduce the entry price. It looks to me like a very > good match for everyone - Mentor provides a stability and "big" name, > so that Code Sourcery can concentrate more on the technical stuff they > are so good at, and all gcc users benefit.
Apart from "making" me sign up to their mailing list and receiving spam for PCB CAD, I have seen no averse effects yet either. -- John Devereux