EmbeddedRelated.com
Forums

ARM IDE & kit similar to CCS for PIC's?

Started by The_Todd August 12, 2007
On Thu, 16 Aug 2007 22:13:53 +0200, Anton Erasmus
<nobody@spam.prevent.net> wrote:

>On Sun, 12 Aug 2007 22:17:20 -0000, The_Todd <toddberk@gmail.com> >wrote: > >>Bear with me as I'm a student mechanical engineer and micro >>controllers are my hobby. >> >>I've become quite familiar with PIC microcontrollers using the CCS >>compiler which I am quite fond of. I started out with their education >>development kit that was a fantastic resource that came with the great >>compiler, hardware, and an excellent work book with simple examples >>and explanations. Its here: http://ccsinfo.com/content.php?page=education >> >>My question is: Is there anything similar to the CCS IDE for the ARM >>controllers? A reasonably priced ($300) well supported and documented >>thats easy to use IDE that supports JTAG etc...? I'm not interested in >>the GNU GCC. > >Both Hitex and Raisonance makes commercial IDEs that can integrate >with GNU GCC. You do not need to write makefiles etc. Both have >demo versions you can download. The basic difference between the >demo and full versions is that the debug support is limited with the >demo versions. Both sell development kits that has the IDE and gcc >bundled with the kit with documentation on getting examples going on >the development kits. The Hitex documentation looks better than the >Raisonance documentations.
This debug limitation seems (to me) to be prevalent in the ARM JTAG tool field. It seems that nearly everyone offering a "simple, cheap, JTAG tool" for ARMs have proprietary debug interfaces, Windows drivers, and so on. This can mean complications for Linux development and unexpected problems for those imagining they are getting a useful tool and realizing too late that the debug interface has been hobbled, intentionally. Jon
> > gcc works fine as a "bare metal" compiler - I just did a test with a > trivial main() and a minimum of startup code. The total size is ~190 > bytes.
GCC is a very flexible system, with which comes some complexity. I once wrote a demo for a SAM7 using both IAR and GCC, and the GCC binary size was a fair bit larger. Somebody who knows more about GCC than me took the demo and modified the build switches to remove unused symbols (amongst other things) and sent the code back to me. I was amazed to find that the build size was then within a few bytes of that produced by IAR. IDE's such as CrossWorks remove a lot of the complexity.
> If you use functions such as malloc or printf, you will bloat the code > pretty quickly. This is true with all C libraries (but to a lesser > extent with the commercial ones). I have found that these functions > are all best avoided anyway on "small" systems (e.g. the single chip > ARMS).
I very recently wrote a WEB server demo for a Cortex M3 (LM3S6965) and then compiled the same demo using GCC, Keil and IAR. The differences were 'interesting'. Especially as the WEB page served showed the stack usage high water mark. In two cases I provided my own (very cut down) sprintf() implementation, in one case it was not necessary. Similarly, some time back I had a WEB server compiled using Rowley CrossWorks that was running very nicely. I later created a standard makefile for the same code and compiled it using GNUARM. It was very noticeable that using the CrossWorks libraries the RAM/stack usages was considerably less than the equivalent using the standard GNUARM implementation. -- Regards, Richard. + http://www.FreeRTOS.org A free real time kernel for 8, 16 and 32bit systems. + http://www.SafeRTOS.com An IEC 61508 certified real time kernel for safety related systems.
"ARod" <alejmrm@gmail.com> wrote in message 
news:1187282702.902580.149790@i13g2000prf.googlegroups.com...

> Hello All,
< snip >
> So seems that a good deal of these IDEs including Rowley and other is > the library, because it could save you > a lot of space due they are optimized to deep embedded systems, so > providers state really clear this advantage. > > In the case specify to Rowley, Paul, could you mind to compare your > library vs keil's newest library microlib for ARM?
I have not run any comparisons; you will find that we do not produce competetive analysis reports and compare ourselves to other vendors in that way because the information would be out of date almost immediately. Constructing "tick lists" is an art to put your product in its best light. We prefer customers to evaluate our offering themselves. -- Paul.
"Paul Curtis" <plc@rowley.co.uk> wrote in message 
news:13cauma3to9uvf1@corp.supernews.com...
> > "ARod" <alejmrm@gmail.com> wrote in message > news:1187282702.902580.149790@i13g2000prf.googlegroups.com... > >> Hello All, > > < snip > > >> So seems that a good deal of these IDEs including Rowley and other is >> the library, because it could save you >> a lot of space due they are optimized to deep embedded systems, so >> providers state really clear this advantage. >> >> In the case specify to Rowley, Paul, could you mind to compare your >> library vs keil's newest library microlib for ARM? > > I have not run any comparisons; you will find that we do not produce > competetive analysis reports and compare ourselves to other vendors in > that way because the information would be out of date almost > immediately. Constructing "tick lists" is an art to put your product > in its best light. We prefer customers to evaluate our offering > themselves.
From what I've seen then the library is pretty good. Wandering off-topic, are you and the other Rowley chaps venturing to the Frocester beer festival next weekend? Seems so convenient for Dursley that it would be a shame not to go - some of us are travelling miles for a nice warm pint of Badger's Scrotum in a muddy field!
In article <13c86o2ejpq04b5@corp.supernews.com>, Paul Curtis 
<plc@rowley.co.uk> writes
> >"Chris Hills" <chris@phaedsys.org> wrote in message >news:rHxg9lJfiywGFA2K@phaedsys.demon.co.uk... >> In article <13c62n1lkr8124a@corp.supernews.com>, Paul Curtis >> <plc@rowley.co.uk> writes >>>"Chris Hills" <chris@phaedsys.org> wrote in message >>>news:<mnjjV9AW5AwGFA1A@phaedsys.demon.co.uk>... >>>> In article <1186961538.421108.206970@q75g2000hsh.googlegroups.com>, >>>> larwe <zwsdotcom@gmail.com> writes >>>> >On Aug 12, 6:17 pm, The_Todd <toddb...@gmail.com> wrote: >>>> >> My question is: Is there anything similar to the CCS IDE for the ARM >>>> >> controllers? A reasonably priced ($300) well supported and documented >>>> >> thats easy to use IDE that supports JTAG etc...? I'm not interested >>>> >> in >> >>>> >Hard to understand why you are not "interested" in gcc when a large >>>> >percentage of the world's fielded ARM code was built with it - but >>>> >anyway, look at Rowley's CrossWorks for ARM. A personal license is >>>> >$149, an education license $299. I am using it with Rowley's own USB >>>> >JTAG adapter and it works well, I assume it works just as well with >>>> >other supported adapters. >>> >>>> Rowley's compiler IS the GCC compiler. You are paying for their IDE >> > >> > >>>As I keep pointint out, only for ARM, >> >> I thought we were discussing your ARM suite. > >You made a statement that the Rowley Compiler is GCC.
We were discussing your ARM compiler not any of the others. IAR and Keil were also mentioned and again we all know it is the ARM compiler of theirs we are discussing.
>In fact, it's >not--the "Rowley Compiler" is
So in this context we are discussing the compiler your company shipps for ARM with is the GCC and it was therefore being described as "The Rowley [ARM] Compiler"
>A more accurate statement is that "The compiler provided with CrossWorks for >ARM is derived from the GNU Compiler Collection".
As we are talking about ARM specifically we al knew what were are talking about. Thank god the other compiler vendors don't get as pedantic when there is no need..
>>> With a >>>$149 personal license for ARM you get a non-commercial version of the >> >> What is a non-commercial version? > >I won't recite the agreement, but simply put, it states that you will not >derive a profit from the use of our tools. This covers hobbyist, >educational, and research use of our tools. Now, in the case of CrossWorks >for ARM, we are not restricting the use of GCC and binutils, far from >it--you can use those freely. However, if you wanted to do that, you would >not need to purchase a Personal License--you just download and use GCC and >binutls from us or elsewhere. What you can't do is use our IDE and you >can't use our libraries without purchasing CrossWorks because those are >covered by our own license.
Thanks for the over view.
>> You do your own library? > >Of course. This is clearly stated as one of the benefits of using our >tools. In this way commercial customers can be sure that their application >will not be covered by a GPL or LGPL license inherited from the inclusion of >GPL/LGPL code in the library they link in.
Does this mean that if you link in a GPL library then you have to release the source of the application? That would mean that you could not use GCC with a GPL licence for commercial work. I assume I have miss understood somewhere?
>>> and all the CPU and board support >>>packages we have written >> >> Most compilers come with a multitude of BSP's and projects even on the >> free versions of the other commercial compilers. > >...but I'm pretty much sure they don't offer the range of BSPs that we >provide.
I think some do.
> I regularly survey the development tools landscape. The fact that >anybody can write and distribute a BSP for CrossWorks, which you can just >plug in, pretty much nails us as fairly unique.
Hardly. The same applies to anyone.
> We have customers that are >developing proprietary ARM chips using CrossWorks and writing their own >BSPs.
It is the same for most commercial compilers. Thanks for the other comments. Chris -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
In article <uob9c3hua6a1rddq4t8ak2jg5ft13jfolj@4ax.com>, Anton Erasmus 
<nobody@spam.prevent.net> writes
>On Sun, 12 Aug 2007 22:17:20 -0000, The_Todd <toddberk@gmail.com> >wrote: > >>Bear with me as I'm a student mechanical engineer and micro >>controllers are my hobby. >> >>I've become quite familiar with PIC microcontrollers using the CCS >>compiler which I am quite fond of. I started out with their education >>development kit that was a fantastic resource that came with the great >>compiler, hardware, and an excellent work book with simple examples >>and explanations. Its here: http://ccsinfo.com/content.php?page=education >> >>My question is: Is there anything similar to the CCS IDE for the ARM >>controllers? A reasonably priced ($300) well supported and documented >>thats easy to use IDE that supports JTAG etc...? I'm not interested in >>the GNU GCC. > >Both Hitex and Raisonance makes commercial IDEs that can integrate >with GNU GCC.
The Hitex IDE is Hitop which is designed to drive their Emulators, It is not, and was never designed to be a really good programmer's IDE. It has too many limitations I have not seen the Rasionance one but the Keil uVision will work with GCC and that is a VERY good editor, project control and simulator system, -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
In article <3ac9c39ad10dids2pvfmgn2u3ommmv6pum@4ax.com>, Jonathan Kirwan 
<jkirwan@easystreet.com> writes
>On Thu, 16 Aug 2007 22:13:53 +0200, Anton Erasmus ><nobody@spam.prevent.net> wrote: > >>On Sun, 12 Aug 2007 22:17:20 -0000, The_Todd <toddberk@gmail.com> >>wrote: >> >>>Bear with me as I'm a student mechanical engineer and micro >>>controllers are my hobby. >>> >>>I've become quite familiar with PIC microcontrollers using the CCS >>>compiler which I am quite fond of. I started out with their education >>>development kit that was a fantastic resource that came with the great >>>compiler, hardware, and an excellent work book with simple examples >>>and explanations. Its here: http://ccsinfo.com/content.php?page=education >>> >>>My question is: Is there anything similar to the CCS IDE for the ARM >>>controllers? A reasonably priced ($300) well supported and documented >>>thats easy to use IDE that supports JTAG etc...? I'm not interested in >>>the GNU GCC. >> >>Both Hitex and Raisonance makes commercial IDEs that can integrate >>with GNU GCC. You do not need to write makefiles etc. Both have >>demo versions you can download. The basic difference between the >>demo and full versions is that the debug support is limited with the >>demo versions. Both sell development kits that has the IDE and gcc >>bundled with the kit with documentation on getting examples going on >>the development kits. The Hitex documentation looks better than the >>Raisonance documentations. > >This debug limitation seems (to me) to be prevalent in the ARM JTAG >tool field. It seems that nearly everyone offering a "simple, cheap, >JTAG tool" for ARMs have proprietary debug interfaces,
There are several types of JTAG. The parralell-port ones and the USB ones. Most of the parallel-port ones are VERY basic and require a lot of work in software as they are usually just a buffer IC. . The USB variants tend to have MCU's in them and therefore can do more in the JTAG-debugger firmware There is a standard RDI interface that most adhere to either as a standard or as an optional interface. Though as mentioned most, for speed and increased integration use their own system.
>Windows >drivers, and so on.
The majority are for windows as trhe majority of ARM cross compilers are on windows.
>This can mean complications for Linux development >and unexpected problems for those imagining they are getting a useful >tool and realizing too late that the debug interface has been hobbled, >intentionally.
Which interface? How do you mean intentionally hobbled? -- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/ /\/\/ chris@phaedsys.org www.phaedsys.org \/\/\ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Chris Hills <chris@phaedsys.org> writes:

> In article <13c86o2ejpq04b5@corp.supernews.com>, Paul Curtis > <plc@rowley.co.uk> writes
[...]
>>Of course. This is clearly stated as one of the benefits of using our >>tools. In this way commercial customers can be sure that their application >>will not be covered by a GPL or LGPL license inherited from the inclusion of >>GPL/LGPL code in the library they link in. > > Does this mean that if you link in a GPL library then you have to > release the source of the application? That would mean that you could > not use GCC with a GPL licence for commercial work. I assume I have > miss understood somewhere?
No, that is the intent of the GPL (as I understand it). *However* you will find that the free libraries used for "embedded" applications are *not* in fact GPL licensed, so that they can be used in proprietary applications. E.g, from part of the gcc library: "In addition to the permissions in the GNU General Public License, the Free Software Foundation gives you unlimited permission to link the compiled version of this file into combinations with other programs, and to distribute those combinations without any restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combine executable." -- John Devereux
On Fri, 17 Aug 2007 18:35:07 +0100, Chris Hills <chris@phaedsys.org>
wrote:

>In article <3ac9c39ad10dids2pvfmgn2u3ommmv6pum@4ax.com>, Jonathan Kirwan ><jkirwan@easystreet.com> writes >>On Thu, 16 Aug 2007 22:13:53 +0200, Anton Erasmus >><nobody@spam.prevent.net> wrote: >> >>>On Sun, 12 Aug 2007 22:17:20 -0000, The_Todd <toddberk@gmail.com> >>>wrote: >>> >>>>Bear with me as I'm a student mechanical engineer and micro >>>>controllers are my hobby. >>>> >>>>I've become quite familiar with PIC microcontrollers using the CCS >>>>compiler which I am quite fond of. I started out with their education >>>>development kit that was a fantastic resource that came with the great >>>>compiler, hardware, and an excellent work book with simple examples >>>>and explanations. Its here: http://ccsinfo.com/content.php?page=education >>>> >>>>My question is: Is there anything similar to the CCS IDE for the ARM >>>>controllers? A reasonably priced ($300) well supported and documented >>>>thats easy to use IDE that supports JTAG etc...? I'm not interested in >>>>the GNU GCC. >>> >>>Both Hitex and Raisonance makes commercial IDEs that can integrate >>>with GNU GCC. You do not need to write makefiles etc. Both have >>>demo versions you can download. The basic difference between the >>>demo and full versions is that the debug support is limited with the >>>demo versions. Both sell development kits that has the IDE and gcc >>>bundled with the kit with documentation on getting examples going on >>>the development kits. The Hitex documentation looks better than the >>>Raisonance documentations. >> >>This debug limitation seems (to me) to be prevalent in the ARM JTAG >>tool field. It seems that nearly everyone offering a "simple, cheap, >>JTAG tool" for ARMs have proprietary debug interfaces, > >There are several types of JTAG. The parralell-port ones and the USB >ones. Most of the parallel-port ones are VERY basic and require a lot of >work in software as they are usually just a buffer IC. .
I'm thinking in particular of the USB variety.
>The USB variants tend to have MCU's in them and therefore can do more in >the JTAG-debugger firmware
Granted.
>There is a standard RDI interface that most adhere to either as a >standard or as an optional interface. Though as mentioned most, for >speed and increased integration use their own system.
I'm not familiar with the RDI interface. However, I definitely recall reading, for example, that the JLINK driver is intentionally limited in terms of code size (not sure if it was strictly 'code,' but there was a definite, arbitrary limit placed upon it by the provided drivers.)
>>Windows >>drivers, and so on. > >The majority are for windows as trhe majority of ARM cross compilers are >on windows.
That's not the point, though. It's not about the bulk market some company is targeting. The point was about unexpected limitations in USB JTAG tools for ARM. I came at this with a clear and open mind and no expectations, at all, in this regard. Each day I spent running around on the web, regarding these USB JTAG tools for ARM7TDMI cores, I became increasingly surprised. Most of my early attention was focused upon one of the (as I later learned, many many incarnations of the) JLINK JTAG tool (SEGGER, IAR, etc.) and the Keil ULINK2 tool. In reading the technical details of the JLINK, I became increasingly aware of the many firmware and hardware variations, as well, and the difference between OEM units sold with demo boards and those sold separately. Then, I also became increasingly aware of limitations for the Keil ULINK2 software, which so far as I could find, cannot be used with a FreeBSD hosted development environment ... not because it isn't technically possible but instead because (1) Keil doesn't provide the required technical information to operate their ULINK2 devices so that 3rd parties can write the appropriate gdb servers, and (2) Keil doesn't provide the unlimited gdb servers, either. (I later took a close look at Amontec, as well. And especially read the YAGARTO pages from Michael Fischer, where I learned more about some limitations in the gdb/debug situation.) In addition, there are other complications in ARM7TDMI debug that may relate more to some ARM7TDMI chips than others. One side point here is that everything isn't quite as rosy as it might appear at first blush. Now, I am NOT fully aware of the entire situation and I'll immediately modify this when presented with unambiguous, contrary information to some of it. But that was the scene that presented itself, shortly ago.
>>This can mean complications for Linux development >>and unexpected problems for those imagining they are getting a useful >>tool and realizing too late that the debug interface has been hobbled, >>intentionally. > >Which interface? How do you mean intentionally hobbled?
For example, the JLINK uses SEGGER drivers. For full debugging support, you need to pay an additional fee (too expensive for many hobbyists) to get it unlocked. The driver that comes with many of these tools is hobbled, by design. The debug interface for the ULINK from Keil is similarly limited to their own software, uVision; a closed software arrangement. I believe I understand that although uVision does support GNU tools, it only does so from Windows and they doesn't provide an unfettered gdb server in source so that it can be compiled for Linux, FreeBSD, etc. The limitations vary. But, for example, if I were to purchase a JTAG tool like these with the expectation of being able to just go use my GNU software tools with the JTAG hardware I bought, under FreeBSD for example, and without some arbitrary code size limitation popping up or else some difficulty finding unrestricted debug support software, I might be taken aback by the reality that unfolds after the purchase. Actually, though, I'm quite eager to hear about unlimited, unfettered USB JTAG debugger tools that fully support RTCK and have unlimited gdb servers (hopefully provided in source form.) I will be very pleased to find the situation much better than I imagine it to be, now. I understand that I'm VERY NEW to this area, only this last month or so, and cannot possibly understand the full situation. So realize that I'm speaking not so much from an informed position as from an early entrant into this development situation. Jon
On Fri, 17 Aug 2007 18:30:16 +0100, Chris Hills <chris@phaedsys.org>
wrote:

>In article <uob9c3hua6a1rddq4t8ak2jg5ft13jfolj@4ax.com>, Anton Erasmus ><nobody@spam.prevent.net> writes >>On Sun, 12 Aug 2007 22:17:20 -0000, The_Todd <toddberk@gmail.com> >>wrote: >> >>>Bear with me as I'm a student mechanical engineer and micro >>>controllers are my hobby. >>> >>>I've become quite familiar with PIC microcontrollers using the CCS >>>compiler which I am quite fond of. I started out with their education >>>development kit that was a fantastic resource that came with the great >>>compiler, hardware, and an excellent work book with simple examples >>>and explanations. Its here: http://ccsinfo.com/content.php?page=education >>> >>>My question is: Is there anything similar to the CCS IDE for the ARM >>>controllers? A reasonably priced ($300) well supported and documented >>>thats easy to use IDE that supports JTAG etc...? I'm not interested in >>>the GNU GCC. >> >>Both Hitex and Raisonance makes commercial IDEs that can integrate >>with GNU GCC. > >The Hitex IDE is Hitop which is designed to drive their Emulators, It is >not, and was never designed to be a really good programmer's IDE. It has >too many limitations > >I have not seen the Rasionance one but the Keil uVision will work with >GCC and that is a VERY good editor, project control and simulator >system,
But let's say you are developing under Linux or, even better, FreeBSD. What's the situation with ULINK2 here? Jon