We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello again!
You may noticed that I made another topic and it resulted on me choosing the ARM family. So far so good.
I installed the GnuARM and put it to work with CodeBlocks, and tested to compile a sample source I found over the net, and it worked and generated the .hex! Its for a ARM7 lpc210x chip.
Now, I would like to know if someone already used any good simulation tool to emulate the ARM chip, I would like to play with ARM in theory first, than go to a real circuit :)
Does anyone know any good tutorial to start? (C/C++ language)
Thank you again!
There are nothing special about C/C++ for ARM.
The ARM processor core is just a general-purpose core that is well suited for running C/C++ programs.
Hitex has lot of nice documentation, if you are interested in programming for different embedded processors. Note that only the ARM core is general. Each manufacturer have one or more processor families with the ARM core, but where they have added their own set of peripherials. That means that the way to access different I/O, how to configure serial ports etc will differ from processor family to processor family.
This means that for playing around with standard C/C++, you may just as well use the MinGW compiler and write programs on your PC.
When it comes to embedded programming, you will have to make a decision exactly which ARM processor you want to use. Then try to get as much documentation as possible about this specific processor.
You might go for an Atmel chip, or an ST, or NXP... Some chip manufacturers will be better at producing datasheets. Some will be better at releasing sample code. Some may sell cheaper chips. Some of the chips may be found on great development boards. Some chips may be harder to find a suitable development board for.
In your case, it might be good to look for the availability of a suitable development board with a graphics LCD, since you wanted to implement some games. Just make sure that you get a development board with schematics and that there are a lot of example code. And take a closer look at the board - if it has strap fields to allow you to quickly deactivate features on the board, it will be easier for you to connect own equipment without having to desolder zero-ohm resistors or fight to find unused processor pins.
Thank you for the answer. I guess I will use Atmel ones.
Anyway, the Keil Evaluation Kit limits things right? What is limits? Does it limits the simulator too?
The limits are described here: http://www.keil.com/demo/limits.asp
In your case, you can use the Keil simulator as long as your program is less than 32kB large. I think this is the sum of code and data.
"I think this is the sum of code and data."
I think it's just code - but it includes the 16K "padding" - so It's effectively just 16K code
:-(
How much costs to remove limitations from Keil Evaluation Kit?
The compiler/linker combo will produce this padding.
Using the gcc tools, I think you will be able to make use of the full 32kB the simulator is expected to support.
The puchase price of a full licence removes the Evaluation limitations!
For further details, request a quote: www.keil.com/.../prices.asp
the limit is on code + data.
I use the mdk 3.70 demo and it is the best simulator I have so far. graphic / interactive representations of peripherals, logic analyzer, etc. are just great for debugging the program.
I also use Proteus to help determine any bugs with the other devices. it is my "dev board" so to speak. But the devices are limited too.
If you are careful, you can handle most problems with the simulator.
Use a serial port and monitor commands or trace printouts together with gcc for writing large programs.
Use the evaluation version of the simulator to help solve module-related problems - how to handle a serial port or an SPI device or similar. The kind of problems where a printout takes too long time, or where your application hangs.