Title: Flash Programming Solutions - AT91Fx40 Series
1Flash Programming Solutions for the Flash Based
AT91FR40x Series
2- Introduction
- Flash Programming Terms, Definitions and
Glossary - Flash Programming During Debug Phase
- with ATMEL Evaluation Boards
- with Customer Board
- Flash Programming During Production Phase
- Small, Medium and High Volume Programming
3Introduction Flash Programming Terms,
Definitions and Glossary
4Flash Programming Terms and Definitions
- ISP vs. IAP
- ISP (In-System Programming)
- Applicable to programmable logic and
Non-Volatile Memory (NVM). - MCU is off-line and/or not involved while memory
is being programmed. - Well suited for Manufacturing.
- IAP (In-Application (re)-Programming)
- Applicable to programmable logic and
Non-Volatile Memory (NVM). - MCU is on-line and participates in programming
the memory. - Well suited for Field Updates.
- The term In-System Programming (ISP) is used in a
general sense by the industry.
5Flash Programming Terms and Definitions
- Engineering Programmers
- Memory, PLD or MCU Programming Tool for Design
Engineering. - One device programmed at a time.
- Concurrent Programming Systems
- Same as above but low to mid-volume production.
- Up to 6 Devices programmed at the same time.
- Automated/Gang Programming Systems
- Same as above but for mid-volume to High-volume
programming. - Up to 700 devices per hour
6- Glossary
- JTAG (1) Joint Test Action Group
- ICE (1) In-circuit Emulator
- EBI External Bus Interface
- AT91 FMU AT91 Flash Memory Uploader
- ATE Automatic Test Equipment (Like Agilent
3070 Tester) - BSDL Boundary-Scan Description Language
- SEMIHOSTING Development Tool Feature. Allows
use of the PCs Keyboard and screen and access
files on the Hard Disk Drive, as used in an
traditional C/C Development Environment for a
PC. (printf and scanf C functions). - (1)JTAG/ICE IEEE Std 1149.1-2001 Standard
7- Flash Programming During Debug Phase
- with ATMEL Evaluation Boards
- with Customer Board
8With ATMEL Evaluation Boards or Customer Board
Debug Phase
- Environment Setup - Development Tool ICE
Interface ATMEL AT91 Flash Downloader Software
Host PC Compiler/linker(1) Debugger(1)
JTAG/ICE port
ICE Interface(1)
- From ICE Interface to Target
- Standard 20-pins ARM Connector
- From PC to ICE Interface
- USB,
- RS-232,
- Parallel Cable,
- Ethernet
Power Supply
AT91EB40A (AT91Fx40 Emulation) or Customers Board
(1) See the AT91 Third Party Guide for
Development Tools Supported by AT91 Processors.
9With ATMEL Evaluation Boards or Customer Board
Debug Phase
- In this case, the Flash Downloader software is
compiled with the Development Tool and downloaded
into the internal or the external SRAM through
the ICE like any other Applications. Then the
Flash Downloader runs from SRAM and programs the
Flash Memory from a file stored on the computer
(thanks to the semihosting feature of the Dev.
tool). - Advantages
- Fast Programming. The Processor is running at
Full Speed ! - Only way to recover the on-board software when
the Flash is Blank. - Usable for low volume programming by using
script - Easy Upgrade of the Flash Memory Architecture.
Only change the Flash routines in your
source code. - Source Code Provided for Free from ATMEL on AT91
CDROM ATMELs Website. - Inconvenient
- Not usable for Several Programming Stations due
to High Cost of Dev. Tool. - This means that is not dedicated to Production
Programming.
10With ATMEL Evaluation Boards or Customer Board
Debug Phase
- Environment Setup - ICE Interface
Development Tool
Host PC Compiler/linker(1) Debugger(1)
JTAG/ICE port
ICE Interface(1)
- From ICE Interface to Target
- Standard 20-pins ARM Connector
- From PC to ICE Interface
- USB,
- RS-232,
- Parallel Cable,
- Ethernet
Power Supply
AT91EB40A (AT91Fx40 Emulation) or Customers Board
(1) See the AT91 Third Party Guide for
Development Tools Supported by the AT91
Processors.
11With ATMEL Evaluation Boards or Customer Board
Debug Phase
- Most of todays Development Tools like Multi2K
from GHS, IAR, ARM ADS and others, integrate
their own Flash Programming Tools. This is
similar to the ATMELs Flash Downloader but
hidden for the user. The Flash Tool is started
like any other function by one click. - Advantages
- Fast Programming. The Processor is running at
Full Speed ! - Only way to recover the on-board software when
the Flash is Blank. - Several Flash Memory Vendors are supported and
list maintained. - Inconvenient
- Some Flash Tools require a big amount of
external SRAM to run.
12With ATMEL Evaluation Boards or Customer Board
Debug Phase
- Environment Setup - Standalone Flash
Programmer ICE Interface
JTAG/ICE port
Host PC Flash Programmer(1)
ICE Interface(2)
- From ICE Interface to Target
- Standard 20-pins ARM Connector
- From PC to ICE Interface
- USB,
- RS-232,
- Parallel Cable,
- Ethernet
Power Supply
AT91EB40A (AT91Fx40 Emulation) or Customers Board
(1) Macraigor OCDemon Flash Memory Programmer
(2) Macraigor OCDemon ICE Interfaces
13With ATMEL Evaluation Boards or Customer Board
Debug Phase
- Macraigor Corp. provides a Flash Memory
Programmer called OCDemon Flash Memory
Programmer. It works with the Raven, Wiggler and
MPDemon ICE interfaces from Macraigor. It
supports all the AT91 Products, including the RAM
version Only. Most popular Flash Memory Vendors
supported. The Programming Sequence can be
automated and is fully configurable. - Advantages
- Supports All AT91 MCUs.
- All Popular Flash Memories Supported
- Inconvenient
- Can be slow according to the ICE Interface used.
14With ATMEL Evaluation Boards Only Debug Phase
- Environment Setup - AT91 Flash Memory Uploader
(FMU) RS-232 Serial Cable
Host PC AT91 PC Loader RS-232 Port
Power Supply
RS-232 Cable
AT91EB40A (AT91Fx40 Emulation)
Fast Programming. 110 Seconds per MByte _at_ 115200
bps
15With ATMEL Evaluation Boards Only Debug Phase
- The Flash Memory Uploader (FMU) is embedded in
the Evaluation Board. This a part of the boot
code. It allows the user to download his own
application code into the upper part of the Flash
Memory dedicated for that. As the FMU is running
from the lower part of the flash, only the upper
part of the Flash Memory can be downloaded. Two
Host PC Softwares are available for free - The AT91 Loader (Automatic Mode and Manual Mode)
- The EBload Tool from RTJ Computing (Manual Mode
Only but more Friendly GUI) - (Software Available from the ATMEL Web Site)
- Advantages
- Fast Programming. The Processor is running at
Full Speed ! - Easy Upgrade of the Flash Memory Architecture.
Only change the Flash Sector Size Definition in
the configuration file (AT91Loader) or Settings
in EBload Tool. - AT91Loader Host PC Source Code Provided for
Free. - Inconvenient
- Not usable with an empty Flash Memory.
16- Flash Programming During Production Phase
- Small, Medium and High Volume Programming
17Small Production Flash Programming Flash Memory
Uploader
- Environment Setup - AT91 Flash Memory Uploader
(FMU) RS-232 Serial Cable
Host PC AT91 PC Loader RS-232 Port
Power Supply
RS-232 Cable
Customers Board
Programming time - 110 Seconds per MByte _at_ 115200
bauds _at_ 66MHz
18Small Production Flash Programming Flash Memory
Uploader
- All Flash-based AT91 devices are delivered with
pre-programmed software called the - AT91 Flash Uploader, which resides in the first
sector of the embedded Flash. The - Flash Uploader (FMU) allows programming to the
embedded flash through a serial port. Either of
the on-chip USARTs can be used by the Flash
Uploader. - Advantages
- Supports All AT91Fx40 Series and Future.
- Automated thanks to Automatic Start Up when the
target is connected to the PC. - AT91 and Host PC Source Code available and Free
of Charge. - Programming of 110 Seconds per MByte _at_ 115200
bps (Host PC Serial Port bottleneck). - Inconvenient
- One-Time-Usable.
19Small Production Flash Programming - AT91EB40A
JTAG/ICE Flash Programmer -
- Environment Setup - AT91EB40A JTAG/ICE Flash
Programmer
AT91EB40A JTAG/ICE Flash Programmer Board (Master
Board)
Host PC (Optional)
Customers Board
RS-232 Cable
JTAG/ICE port
IO Expansion Connector
Power Supply
Fast Programming time - 14 Seconds per MByte _at_
66MHz
20Small Production Flash Programming - AT91EB40A
JTAG/ICE Flash Programmer -
- The AT91EB40A JTAG/ICE Flash Programmer has been
developed to allow easy Board Programming for
AT91Fx40 Series and also for any Flash Memory
connected to the External Bus Interface (EBI).
Any AT91EB40A Board can be used with the Flash
Programmer Software Stored in the Flash Memory. - The aim of the application is to drive the
JTAG/ICE port of the board to be programmed. - See the App. Note DOC2668.PDF (
http//www.atmel.com/dyn/resources/prod_documents/
doc2668.pdf ) - and its associated software.
- Advantages
- Supports All AT91x40 Series (and others)
- Automated thanks to Automatic Start Up when the
slave target is connected to Master target
(AT91EB40A) by pushing a button. - Other AT91EB40A Boards can be duplicated to be a
Master as well. - Fast Programming.
- All the Source Code free of charge.
- Fast Programming time - 14 Seconds per MByte _at_
66MHz - Inconvenient
- None. Except some code change to be adapted to
Customers System.
21Small Production Flash Programming - Engineering
and Concurrent Programmers -
- Engineering Programmers
- Memory, PLD or MCU Programming Tool for Design
Engineering. - One device programmed at a time.
- Concurrent Programming Systems
- Same as above but low to mid-volume production.
- Up to 6 Devices programmed at the same time.
- All these Programming Systems use the tri-state
mode of the AT91 to treat the AT91 like a
Standard ATMEL Flash Memory. - BPMicro Systems All the AT91Fx40 Series
- DATA I/O AT91FR4042 AT91FR40162
- Xeltek AT91FR4042 AT91FR40162
- System General AT91FR40162
22Medium and High Production Flash
Programming Concurrent and Automated/Gang
Programmers
- When Medium and High Volume Flash Programming is
required (gt 1500/month) the only efficient
solution is to use Concurrent and Automated/Gang
Programmers available from well know names like
BPMicro Systems, DATA I/O Corp. All these
Programming Systems use the tri-state mode of the
AT91 to treat the AT91 like a Standard ATMEL
Flash Memory. Most efficient Programming Systems
from BPMicro (BP3600) are able to program 700
devices per hour. - Some distributors have programming centers
equipped with Concurrent and Automated/Gang
Programmers and offer programming solutions to
customers for little extra fees per devices
programmed. - Concurrent and Automated/Gang Programmers
Supporting the AT91Fx40 Series - BPMicro Systems All the AT91Fx40 Series
- DATA I/O AT91FR4042 AT91FR40162
- Xeltek AT91FR4042 AT91FR40162
- System General AT91FR40162