2014-05-18 12:18, John-Smith skrev:
> This is a bit of a simplistic Q and I am in the early stages of
> deciding...
>
> My background is a huge amount of assembler on Z80, Z180, Z280, 80x86,
> 8031, 8051, AT90S1200, H8/300, etc. Plus a bit of C. No C++.
>
> Now I am starting on a new product which will need about 1MB of *data*
> storage (factory initialised so can be on chip FLASH) plus some
> floating point maths, and will be done mostly in C.
>
> I have been using Atmel chips for many years but they seem to run each
> one for only a few years nowadays, and that is my biggest negative on
> Atmel. We were going to do this (and other upcoming projects, mostly
> serial comms) with one of the ATmega128 type of chips but each time I
> look at the range, they seem to have discontinued half of the specific
> devices.
>
> Whereas the H8/300 has only just gone on LTB, after some 25 years...
> which leads me to think ST is the way to go as this is a "serious"
> industrial product which will run for at least 10 years. Also, looking
> at what other firms use (e.g. Pico) they seem to be often using the ST
> 32F103 or similar which comes in a huge family, from miniscule 6mm x
> 6mm chips with 16k FLASH (cost $1 1k+) to 1MB FLASH for about $10.
>
> The devt kits seem to use GNU compilers and the Eclipse IDE, with IAR
> charging even more for their compilers than they ever used to. IAR
> compilers used to be good but they did contain some really bad details
> e.g. an incredibly slow sscanf() where they were doing multiple
> floating point ops for every single input digit. I spent ages
> optimising that stuff. I think their runtimes were written in generic
> C and that was it. The tool cost is not that important in this case
> however.
>
> I' be very interested in hearing peoples' views on this. I really want
> a 10 year life of the actual device.
>
Hi John,
As a former Atmel FAE, I can give you a little info on the Atmel part.
As for longevity, the AT91M40800 was released in 1997-8, and is still in
production.̈́ (Actually this was the AT9140400, but they added
an additional 4 kB of RAM)
The ARM devices has had much longer life time than the AVRs.
This is mostly because Atmel has released pincompatible AVR devices
with more features, and when those are in production, the older
devices has been obsoleted. This philosophy has been changed
a couple of years ago, so expect longer lifetime even on AVRs.
I would still expect longer lifetime on ARMs still.
With Atmel, you have the gcc based Atmel Studio, which is free of charge
and supports both AVR, AVR32 and ARM. This is more like Visual Studio
than Eclipse. They connect to low cost JTAG-ICE or SAM-ICE which is
a lower priced version of the Segger J-Link used by IAR.
The low price is good, but they will only work with Atmel parts,
and when Atmel releases a new part, you will have to update
the firmware.
If you need floating point, then the AVR32 UC3C is quite nice
due to its internal floating point unit. There are some SAM4's with
floating point unit as well.
Both the SAM4s and the AVR32s has I2S support, and each I2S is
connected to dual buffered DMA both on transmit and receive sides.
You should have ZERO problem maintaining 100 kbps on I2S.
Also each serial port is connected to dual buffered DMA controllers
in each direction, with some nice additions like idle detection.
You can easily run the serial ports at megabit speed without problems.
Flash is generally quite expensive while onchip, and an external
dataflash or SPI flash will be quite small, and much cheaper.
The SPIs are (surprisingly) supported by dual buffer DMA,
so you can load data at several MBytes per second in the background.
An interesting feature of SAM4s and UC3C is the event system.
This allows peripherals to interact without CPU intervention,
and has
Best Regards
Ulf Samuelsson