im familiar with Atmel AVR. I want to move to Atmel's ARM microcontrollers. where should i start? what micro, softwares i should use? is there also a forum like this for atmel's arm micros?
Due to the range of Arm options you need to define the task first.
Keep it simple it will not bite as hard
i just wanna know the basics of arm, like how to program, how it owrks, etc. like when i started the AVR, i grab the AT90S8515 and start with timers.
>>where should i start? what micro, softwares i should use? is there also a >>forum like this for atmel's arm micros?
Pleas raed this
I would suggest you concentrate on the SAM devices as they are all in one, so more like the devices you are used to.
Do you have a budget?
yup, i think so. im working in an R&D company. the former employees left a lot of development boards, including atmel's ARM. i just don't know where to start, plus, ive got no knowledge about real-timer OS though i've read a little about salvo for AVR.
It appears www.ARMfreaks.com does go somewhere. :)
Perhaps it will be up in the future?
So - as long as we're on the topic of ARMs - how do you program the buggers? It was my understanding that you could just boot load with ARMs, but I was looking at the Atmel AT91SAM7S64 (one of the few Atmel ARMs available that has flash, http://atmel.com/dyn/products/pr...) - and I couldn't find anything about flash on it. So - do you have to get a programmer for them? I've seen sparkfun does a jtag programmer for $20 that they say is compatible with AT91s.
Also - is it best to stick with Atmel with ARMs? I mean I have a good deal of loyalty to Atmel... But if another company has a better lineup or whatever...
check out olimex site? They aim to support every arm maker.....
Imagecraft compiler user
To prog the 91 series you prog the 'flash' which is external to the micro using the micro itself. The port lines on the micro are controlled by a JTAG interface device attached to the micro . The jtags come in a range of prices and abilities. The most expensive I have seen todate is a Swiss one, Baldor I think is the name.
The jtag has to first set up the address 'area' characteristics such as wait times. On the ARM devices the addressing is split into blocks and the program can set up the address range a 'block' will operate over. This enables mixing of Ram and different speeds of program storage memory on the same address and data bus without the actual running code having to be 'aware' of the operational speed of the device at the address used.
The addressing is also mapped such that the user can switch the address range from a powerup mode to a running mode this remapping is an intregal part of the ARM devices.
Depending on the Dev board you have and how it has been treated it may contain a boot loader program.
whiw... sound complicated.
It is one of those things that when you have got your head around it is easy, but at first meeting seems bloody wierd.
A problem with the ARM is that you get hit by the need to understand what is going on a a very low level right at the start for the programing via JTAG and the remapping.
i have no idea what JTAG is. i only use the STK500.
how bout ATmega128 vs ARM in terms of RTOS? though ARM is 32bit while AVR is 8bit, does it really matter if i'll use them for automation controls?
An RTOS can use a lot of space. There are small scale RTOS's around for the 128 but as a personnel thing I am yet to be convinced they are of any use at the level at which a 128 is used.
A JTAG interface is a glorified boundery scan module built into the micro and is communicated with via a serial link. This serial link is used by the JTAG 'box'. It provides the ability, dependant on micro, to insert breakpoints, modify registers and read registers out.
This ability to read and write to the micros registers is the means used to programme flash memory external to the device.
An example of a JTAG useage is the Atmel ICE 11. A lowcost but very usable device.
A thought on RTOS; some have a very long latancy when handling interrupts. Which makes them of little use in the real world that microcontrollers such as the 128 are used in.
I would suggest you spend a few dollars of your budget on a Mark11 and see what it can do for you with the AVR's.
I was propelled into using an ARM device for speed and memory requirements for driving a colour display. But for that, the job could be done with a mega 128 no sweat.
What about the Philips LPC21xx series? I have not program any of these yet
but they look very good, and there are some very interesting sites about them.
Leon Heller also has a yahoo group about them and recently I found a very
good *.pdf for free in the net.
They seem pretty attractive, and in about a month (I think) circuit cellar has
a design contest with them.
though ARM is 32bit while AVR is 8bit, does it really matter if i'll use them for automation controls?
1) Between the lack of an I/O space and the generic-ness of the internal bus, ARMs don't really do I/O
particularly well. I think it wouldn't be hard to come up with an I/O intensive application where a 16MHz
AVR would run rings around a 60MHz ARM.
2) ARM's interrupts are funneled through a single vector, so they're generally more expensive than the
AVR's. Some implementations have shortcuts (think of Philips' VIC, though I've seen others), but
even with them the ISR generally has to sort through some number of possible interrupt sources to
see which one(s) are relevant. This adds a hidden cost which can easily swamp a 4:1 clock speed
So by all means study the ARMs so you know what's out there. But don't try to build a cellphone out
of an AVR or a battery-charger out of an ARM. (Yeah, there's a lot of grey area in between.)
I have an EB40 development board for atmel arm. what softwares should i use? any examples? i tried to ask the at91 forum pips but it seems like they're too friendly to answer my questions that they don't even bother to reply! :)
I used two OSes:
uC/OS (not very expensive)
Bot compiled maintained using GNU toolchain.
If you have more detailed questions ask by personal messages.
Why not drill down to the source and look around?
ARM as you already know stands for Advanced RISC Machine, a family of processors maintained and promoted by ARM Holdings Ltd. They do not manufacure processors. Instead, ARM designs the CPU cores for its customers and charges customers licensing fees on the design then lets them manufacture the chip however they want. All ARM processors share the same ARM instruction set.
What is ARM Linux?
© 2020 Microchip Technology Inc.