Hello. We are in the beginning of development of new product with ARM7 Can someone tell us what options we have for development tools? We need a list of available dev toolset, such as compiler+emulator+(RTOS)+(dev. board)+(processor) that work with each other. also, perhaps some comments on those tools.
hi. thanks for the replies. to be more specific, we need more than 2 UART, 1 SPI, built-in mmc/compact flash controller would be nice, an lcd controller is optional, and later we need to embed GUI and rtos in it.
the problem so far i found is that there are emulators that only work with certain compiler, dev board and certain bsp sample codes. if there is any complete tools that can work together out of the box would be nice to save some time. so, we are looking a dev board with sample codes, schematics and drivers on it, with recommended compiler+emulator, and even better if they (or someone) have embedded linux on it. maybe asking too much, but any combination that people have experienced that work would be great. about the cost, i will make a presentation of possible options, so it's really open right now.
so, i'm also interested to know what kind of tools other people have used in the past to complete a project.
We chose Green Hills Software for our ARM development, partly because we judged them to be a better one-stop shop than others (this was several years ago). They provide compiler, debugger, and other tools. They offer a few RTOS options and the tools are RTOS aware. They support a variety of JTAG interfaces including those from Macraigor and ARM. Plus, they now offer their own JTAG interfaces including one that supports a trace buffer.
There were example projects for various ARM eval boards included on the GHS CD (I think these projects were also included with the Atmel AT91 eval board).
You probably could get everything you need (except maybe for an eval board) directly from GHS. But this solution will cost you (many thousand US dollars).
"Jack" skrev i meddelandet news: firstname.lastname@example.org...
The AT91RM9200 will do what you want but it is an ARM920T. - Much Nicer for Linux The part does not have the LCD controller, but the forthcoming AT91SAM9261 has .
If you want as much as possible from one vendor then Green Hills is one choice. Multi 2000 Compiler (There is a version that can compile Linux as well in the works) If you need a real time operating system with GUI support. then the Green Hills Integrity will work on the Atmel dev kit. I would go with a Lauterbach emulator though.
The Atmel Dev board has Linux 2.4.19 ported. There is a lower cost Cogent board CSB337. Don't know if Integrity support this board. Both boards have a graphic controller.
I recently purchased an Embedded Artists LPC2478 board and the Code_Red ECLIPSE and GNU based integrated toolset I am still awaiting the hardware to arrive but have registered the software license and am quite happy with what I see so far.
This alternative to KEIL which is astronomically priced only cost me around $1400 for the LPC2478 board the JTAG probe and the IDE. It is supposedly possible to compile a free version of some of this but I am highly experienced and could not get one working. I suggest buying an already integrated tool kit.
--------------------------------------- Posted through
As happens so often here, you've misunderstood what the poster / customer wants, as well as basic economics.
It could well be that Keil is reasonably priced for what you get. But the customer does not want that. He is happy with what he has got from Code Red - how could Keil possibly be a better choice or better value /for him/ when it costs much more?
If I want to make a board with a few blinking lights and a few keys, I'll pick an AVR. I don't care if there's a Cortex M3 device that offers far more MIPs per mW, or more KB per $. If the cheaper device does the job, then that's the best value for money.
You regularly like to point out that the big commercial toolchains like Keil and IAR are much "better" than cheaper tools (and especially anything gcc related). It may be that they are. You also like to tell people that they will save you money through saved time, or by letting you use smaller or slower target chips. It may be that this is sometimes the case. But the fact remains that these tools are very expensive, and represent a significant cash investment with a pay-off only over the longer term. The "best tool for the job" is not necessarily the same thing as "the best tool".
Unfortunately the OP did not tell us what he wanted to do. I have just launched a customer on to a Keil development route for £17.83 (ST-Link kit) which comes with USB debugger/programmer hardware, Keil 32k limited tools version, IAR linited version and Atollic Lite tools. For my customer the 32k Keil tool set is fine and the cost seems pretty down to earth to me ! I haven't compared Atollic with Code Red but I think it's a GNU package with no code size or use time limit.
(BTW the ST-LInk package looks to me to be by far the best value "get started with ARM" offer at the moment - I don't know if the hardware is useable with non ST chips.)
So although he didn't quote evidence Chris is quite right - Keil is good value for what you get - free for up to 32k, about £1800 for 256k and about £3000 for unlimted.
If the OP wants an RTOS and a dev board Keil do those too.
I have no relationship with Keil other than as a (happy) customer.
Now for the bee in my bonnet !!! Why do people buy development boards ? They either have no hardware (like the Silabs ones) so you need to make a board with your own stuff on to get your project going or they have loads of stuff on them (like the ST ones) but it's never what you want, so you need to make a board with your own stuff on to get your project going. Why not make a board with the processor and your own stuff on to get your project going - that way you get real hardware a damn sight sooner.
Yes! I simply cannot understand this huge waste of effort. You are *going* to design a board *anyway*. Do it and at least get started on the path to nailing down all the "gotchas" that
*will* come up in the design.
Years ago, I could *almost* understand the rationale that "it lets the programmers get started" (yet another self-delusion!). But, nowadays, you can write and debug *lots* of code without ever needing real hardware. For most projects, you don't even need to use the actual tools for the targeted platform for much (most?) of the code!
Spend the time thinking about what the product actually has to do, formally describe/document that -- then start designing the software WHILE THE HARDWARE IS BEING DESIGNED/FABBED.
It is *so* much more productive to have an "X0" version of the real prototype hardware WHEN YOU ACTUALLY NEED IT than to be farting around with something that does nothing more (in practical terms) than give you CPU, RAM and ROM (and some lame I/O).
[and don't tell me you've got such bizzare I/O that you
*have* to have a board to write any code! If that's the case, then, chances are, the "development board" doesn't have what you need; or, has something that you can *kludge* to work -- but you'll have to unkludge and fix once the
*real* hardware comes along; or, you have an "insecurity" about stubbing code and backfilling later (in which case, you probably don't kknow what you want that code to *do*!)]
I think the problem lies in the fact that most projects don't know what their end goal is until some time in the *middle* of the development effort (*if* that soon!). And, they follow the "OhMiGosh! We'd better start writing code RIGHT AWAY or we'll never get done on time..." technique.
Having *a* board gives them a false sense of accomplishment ("Look! My bubble sort is running on this board! See? Each time that red LED blinks, it's sorted the entire list!!")
I have six designs in the mill at the present time. I'll have 95% (literally) of the code for them written and debugged before I'll need hardware for the last little bits. IME, developing with an early "need" for hardware usually means you haven't thought about how you are going to *formally* test/prove your design (unless you've invested a lot of resources into an equally smart test fixture and test protocol -- that can exercise all aspects of your code solely "from it's field interface") :-/
[I hope you aren't designing the next generation ABS!]
1) They allow you to run benchmark code to compare different processors.
2) They allow you to evaluate toolchains and other infrastructure.
3) They allow software development work to start long before the custom product boards are ready.
4) They're free: you often don't buy them -- you borrow them from the CPU distributor.
How do you decide which processor to use without doing any testing or benchmarking? Are you going to lay out 3-4 different boards in order to run some benchmarks?
What do the software people do while you're designing and laying out your board?