Download presentation
Presentation is loading. Please wait.
Published byGilbert Gardner Modified over 8 years ago
1
AT91SAM7 Flash Programming Solutions
2
ARM-Based Products Group 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 For Small Volume Programming (Manual Programming) For Medium and High Volume Programming (Automated/Gang Programming)
3
ARM-Based Products Group 3 Introduction Flash Programming Terms, Definitions and Glossary
4
ARM-Based Products Group 4 Flash 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. For Manufacturing (Blank Flash Memory) IAP (In-Application (re)-Programming) Applicable to programmable logic and Non-Volatile Memory (NVM). MCU is on-line and participates in programming the memory. For Field Updates (Firmware upgrade) The term In-System Programming (ISP) is used in a general sense by the industry.
5
ARM-Based Products Group 5 Flash 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 5000 devices per hour
6
ARM-Based Products Group 6 Glossary JTAG (1) = Joint Test Action Group TAP = Test Access Port (JTAG Port) ICE (1) = In-circuit Emulator ATE = Automatic Test Equipment (Like Agilent 3070 Tester) BSDL = Boundary-Scan Description Language OBP = On-Board-Programming OFBP = Off-Board-Programming (1) :JTAG/ICE IEEE Std 1149.1-2001 Standard
7
ARM-Based Products Group 7 Flash Programming During Debug Phase... With Customer Boards With ATMEL Evaluation Boards &
8
ARM-Based Products Group 8 Debug Phase - Environment Setup From PC to ICE Interface USB, RS-232, Parallel Cable, Ethernet From ICE Interface to Target Standard 20-pins ARM Connector Development Tool with Flash Downloader + ICE Interface JTAG/ICE port Host PC + Compiler/linker (1) + Debugger (1) AT91SAM7-EK or Customer’s Board ICE Interface Power Supply Or USB Cable
9
ARM-Based Products Group 9 Debug Phase – Development Tools Most of today’s Development Tools like, IAR, KEIL and others, integrate their own Flash Programming Tools. The Flash Tool is started like any other function by one “Download and Run” Button. This is the simplest way to flash your application during debug phase ! Advantages: Fast Programming All AT91SAM7 MCU supported. Updates maintained via patches from Tool Vendors.
10
ARM-Based Products Group 10 Debug Phase - SAM-BA TM AT91SAM7-EK or Customer’s Board* * For Customer Boards Design, See SAM-BA Hardware Constraints in the corresponding product datasheet SAM-BA may be needed: In case of JTAG/ICE connection problems If no ICE interface is available for debug as a Demo Downloader SAM-BA USB DBGU SAM-BA allows on-board memory programming through USB, DBGU (UART) or JTAG. JTAG Included in the AT91-ISP package !!!
11
ARM-Based Products Group 11 Debug Phase – Customizing SAM-BA TM Customizing SAM-BA is possible by adding or modifying TCL scripts files. Command Line Mode: allows memory programming without any GUI interaction Create your own board Add memory modules Modify Memory Algorithms Example: sam-ba.exe \usb\ARM0 programSAM7.tcl
12
ARM-Based Products Group 12 Debug Phase - SAM-PROG SAM-PROG allows flash programming through USB or JTAG. Major Features: File selector or Drag-n-Drop, I/O pin selection for user feedback after programming User Feedback and Status Flash Programming Report, Number of connected boards Auto Mode for Drag-n-Program Security Bit set after programming JTAG Support Mode 2 3 4 6 4 6 3 2 1 1 5 5 Included in the AT91-ISP package !!!
13
ARM-Based Products Group 13 AT91-ISP: Build your own Flash Programming GUI Provides an open set of tools for programming the AT91SAM7 and AT91SAM9 ARM®-based microcontrollers. The AT91ISP solution is not only based on 2 applications (SAM-BA and SAM-PROG): AT91Boot_DLL.dll SAM-BA SAM-PROG TCL script and Visual C++ projects examples Command line application using a TCL shell (AT91Boot_TCL.dll) SAM-BA Boot4CAN binaries (SAM7A3 and SAM7X)
14
ARM-Based Products Group 14 AT91 ISP: Build your own Flash Programming GUI Free and fully documented AT91Boot_DLL.dll Offers a simple public API to build custom Flash programming GUI Hides communication link complexity (USB, UART, JTAG, CAN… ) Integrates FLASH memory programming algorithms USB JTAG AT91-ISP DLL SAM-ICE or J-Link USB PC CAN adapter AT91SAM SERIAL (DBGU) CAN SAM-BA Boot SAM-BA Boot4CAN * * SAM-BA Boot4CAN is the dedicated CAN port of SAM-BA Boot
15
ARM-Based Products Group 15 Flash Programming During Production Phase Small, Medium and High Volume Programming
16
ARM-Based Products Group 16 Introduction How to choose between Manual and Automated Programming? (Data I/O Source) by calculating the total cost of programming... by adding the cost of: direct labor, direct materials, scrap/repair materials, capital expense equipment, indirect labor costs for automated programming versus manual programming, …and comparing the two scenarios.
17
ARM-Based Products Group 17 Small Production Flash Programming (Manual Programming) 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 Parallel Mode of Fast Flash Programming Interface (FFPI). See Appendix A for Programming Vendor Tools vs. Supported Devices
18
ARM-Based Products Group 18 Medium & High Production Flash Programming (Automated) When Medium and High Volume (1000 dev/hr) Flash Programming is required, the cost efficient solution is to use Automated Programming Methods. Automated Programming can be split into two categories: 1) On-Board Flash Programming: Automated Test Equipment 2) Off-Board Flash Programming: Automated High-Volume Gang Programmer (BPMicro 4710)
19
ARM-Based Products Group 19 Medium & High Production Flash Programming (Automated) On-Board Programming On-board Programming can be achieved via the Fast Flash Programming Interface (FFPI)*. FFPI Serial Access via the JTAG/ICE Port (5 pins). Small and High Density PCB (ex. Mobile Phone) where PCB access points for bed-of-nails test equipments is not possible. FFPI Parallel Access via dedicated PIO pins (8 to 16 bit data bus + 11 control pins) PCB access points for bed-of-nails test equipments is possible, On-board FGPA for programming the AT91 * For Customer Boards Design, See FFPI Hardware Constraints in the corresponding product datasheet
20
ARM-Based Products Group 20 Medium & High Production Flash Programming (Automated) Off-Board Programming Off-board Programming is done on Automated High-Volume Gang Programmers like the BPMicro 4710 Programming Station. The BPMicro 4710 can handle up to 1200 devices per hour. All programming tool vendors use the Parallel Mode of the Fast Flash Programming Interface (FFPI). BPMicro 4710 Programming Station Some distributors have programming centers equipped with Concurrent and Automated High-volume Gang Programmers and offer programming solutions to customers for little extra fees per devices programmed.
21
Appendix A Programming Vendor Tools List vs. Supported Devices
22
ARM-Based Products Group 22 http://www.bpmicro.com Type Of Products Equipment supporting AT91 Supported AT91SAM7 P/N Number of Sockets Max speed (devices/h) S32S64S128S256X128X256X512 Auto Gang Programmer (Automated Hi- Volume) 4710 / 4700 44- 4600 111200 3710 / 3700 16- 3600 4700 Gang Programmer 2710 / 2700 24- 2600 6- Engineering Programmer 1700 / 1710 1- 1600 1- : Supported * : Not yet Supported
23
ARM-Based Products Group 23 Type Of Products Equipment Supporting AT91 Supported AT91 P/N Number of Sockets Max speed (devices/h) S32S64S128S256X128X256SE512 Auto Gang Programmer PS288FC * 16 - PS300 * 16 - PS Infinity * - 5000 Gang Programmer Multisyte Flash ******* 32- Flash PAK * -- http://www.dataio.com : Supported * : Not yet Supported
24
ARM-Based Products Group 24 Type Of Products Equipment Supporting AT91 Supported AT91 P/N Number Of Sockets Max speed (devices/h) S32S64S128S256X128X256SE512 Auto Gang Programmer AP600 ******* 36 (4)- Gang Programmer T9600 24 (1)- Engineering Programmer Power Lab * 1- : Supported * : Not yet Supported http://www.sg.com.tw/Index_I_E.asp
25
ARM-Based Products Group 25 Type Of Products Equipment Supporting AT91 Supported AT91SAM7 P/N Number Of Sockets Max speed (devices/h) S32S321S64S128S256X128X256SE512 Auto Gang Programmer Superpro 9000U 4- Programmer Superpro 3000U 1- : Supported * : Not yet Supported http://www.xeltek.com
26
ARM-Based Products Group 26 : Supported * : Not yet Supported http://www.hilosystems.com.tw/ Type Of Products Equipment Supporting AT91 Supported AT91SAM7 P/N Number Of Sockets Max speed S32S64S128S256X128X256SE512 (devices/ h) Auto Gang Programmer AT3-300 ******* 321000 Gang Programmer ALL-100 G4 * 4- ALL-GANG- 08P2 ******* 8- Engineering Programmer ALL-100 1- ALL-11P3 *** 1- ALL-11C2 *** 1-
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.