Hi - I'm fairly certain I'm going to use an ARM in a project I'm working on. I have a good deal of experience with Atmel AVRs, but I have never used an ARM before. So I was wondering if you all could answer a couple basic questions regarding ARMs:
- programming: My understanding of programming an ARM is that you do it with a JTAG cable. I was looking at this one, specifically: formatting linkas it is fairly inexpensive. Is this a good plan? Bad plan? I've also heard of boot-loading. Is this possible on Atmel ARMs? if it is, does this only temporarily load code into the chip, or permanently load it in the flash?
- boot process: when an AVR turns on it begins by executing the first line of code in the flash - the reset interrupt. Is this how ARMs work? I noticed that the ARMs that I was looking at can only access their flash in a single cycle at about half the clock speed - so how would executing code work for this? I mean how would it run at double that speed if it couldn't access the code? Does all code get loaded into the RAM and executed there?
- operating systems: in my experience with AVRs I've never had an operating system running onboard. Is this what is done on ARMs generally? I've noticed that there is ARM Linux - could that run on a
- DMA: the chip I'm using boasts about its Peripheral DMA Controller (PDC). It says that it greatly reduces the overhead on the processor. But reading about it, I am having trouble understanding how DMA differs from no DMA.
Sorry for asking so many questions - I'm just very new to the ARM world. Thanks!
-Michael J. Noone