Re: Wich 16-bit MCU?



Robert Latest wrote:
On 4 Jul 2006 11:20:26 +0200,
David Brown <david@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote
in Msg. <44aa32da$1@xxxxxxxxxxxxxxx>

The Freescale website is not the best organised site I have used, but it's not *that* bad, although the link addresses are horrible. Some useful links from the Coldfire main page are at:

http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=0162468rH3YTLC

If you are looking for an integrated device (i.e., onboard flash), try something like the MCF52223:

Thanks.

Actually I don't care much if flash is on-chip or in a separate chip. At
any rate I have no idea of how to get data into onboard (or on-chip)
memory. Maybe this is such a stupid beginner problem that Freescale
doesen't bother to answer it on any FAQ or "Getting Started" page. The
MCF52223 seems to have a thing called "EzPort" for programming. It is
explained in the reference manual but I couldn't find any practical
information on how to get started programming with that thing.

How is programming done with MCUs that don't have on-board flash? Do I need to install a pre-programmed (E)EPROM with a boot loader that allows me to first get the program into RAM and then copy it over to the external Flash?


In most cases, modern microcontrollers have some sort of built-in debug port. Often it is a jtag connection (such as for ARMs), while ColdFires use Freescale's BDM (Background debug mode) connector. I believe the "EzPort" is simply a BDM connector with little less pins. To connect your PC to the processor, you have a BDM adaptor (or jtag adaptor), which ranges from simple parallel-port devices through USB devices to expensive and full-featured ethernet based devices. In practice, cheap evaluation kits often come with a USB or parallel port device - if not, companies like P&E Micro make a range to suit different budgets.

When you have your card connected to the PC with the BDM adaptor, it's simply a matter of running your debugger software on the PC. Assuming you have compatible hardware and software debuggers (if you are not buying these together as a package, then check in advance!), your debugger software will let you download and run your program, and may well handle programming of the flash automatically (if not, then it's easy enough once you have a program running from ram).


Also, many evaluation cards (especially ones with large external flashes) will come with some sort of boot loader already in the flash - they may even come with a full OS such as ucLinux. However, you still want to get a BDM (or jtag, if you pick an ARM) adaptor and use it for much more flexible debugging rather than just downloading and testing.


You see what kind of beginner's problems I'm up against. As much as I'd
like to go m68k the initial hurdles of getting started with the Freescale stuff are too high for me. I've spent days on their website browsing FAQ lists and forums without much gain.


You might find it easier to go to a company like Netburner (mentioned by another poster), who provide complete packages.

OTOH, the Philips ARM documentation mentions the built-in boot loader right at the beginning, and companies like Olimex offer a lot of cheap crap to just program the damn thing right through the printer port.

I guess it's time to learn ARM assembler...


It is never time to learn ARM assembler. If you really want to stick to assembler (a strange idea in the world of 32-bit microcontrollers), then stick to the m68k line. Assembly programming for RISC processors like the ARM is not nice - you have to be a lot more verbose, and it is hard to manually track the usage of so many registers, and therefore hard to write efficient code. The m68k gives you a useful number of registers, but not more than you can handle, and the flexible and orthogonal instruction set is far easier to work with.

Of course, you should make the jump to C. Assembly makes sense for small microcontrollers, but there are seldom good reasons for using it on larger devices, except for the odd bit of startup code and suchlike. You still need to understand it, however, to get the best out of the processor.

robert
.



Relevant Pages

  • Re: bootstrap mode for Motorola Coldfire MCF5206?
    ... With CPU32, they also have the BDM interface, which also can be used. ... You probably want to have a look at www.pemicro.com for reasonably priced tools, including flash programming software. ... In order to just solder the flash memory to the board and program it for the first time, you drive the address and data lines via JTAG so the flash gets programmed. ...
    (comp.arch.embedded)
  • TI OMAP MMU help
    ... I am trying to set up the MMU on the ARM side of the OMAP5910 and I am ... I have programmed the DSP MMU through the ARM ... I want to use the MMU to "write protect" my FLASH memory. ... the flash since I have disabled flash programming but the flash still ...
    (comp.arch.embedded)
  • Re: general questions regarding ARMs
    ... > Hi - I'm fairly certain I'm going to use an ARM in a project I'm ... programming: My understanding of programming an ARM is that you do ... > line of code in the flash - the reset interrupt. ... DMA: the chip I'm using boasts about its Peripheral DMA Controller ...
    (comp.arch.embedded)
  • Re: 8051: writing to memory in the program
    ... Non-volatile memory. ... (typically FLASH or EEPROM, ... Interrupts need to be disabled while programming if there are ISRs ... This problem disappears, of course, if you have both FLASH and EEPROM ...
    (comp.arch.embedded)
  • OT: Remote On Chip Debugging
    ... Currently you have to use one of the programming suites for that. ... So you have customers that reject any flash based designs? ... programming an ARM Cortex M3 using remote gdb server on the targets. ... example, Flash Address Register, Flash Data Register, ...
    (sci.electronics.design)