
522fbbcde6a42ef7353d17bf27657e1c.ppt
- Количество слайдов: 26
AT 91 SAM 7 Flash Programming Solutions
§ 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) ARM-Based Products Group 2
Introduction Flash Programming Terms, Definitions and Glossary ARM-Based Products Group 3
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. ARM-Based Products Group 4
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 ARM-Based Products Group 5
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 ARM-Based Products Group 6
Flash Programming During Debug Phase. . . With ATMEL Evaluation Boards & With Customer Boards ARM-Based Products Group 7
Debug Phase - Environment Setup Development Tool with Flash Downloader + ICE Interface Power Supply Or USB Cable Host PC + Compiler/linker(1) + Debugger(1) JTAG/ICE port ICE Interface From PC to ICE Interface • USB, • RS-232, • Parallel Cable, • Ethernet From ICE Interface to Target • Standard 20 -pins ARM Connector ARM-Based Products Group AT 91 SAM 7 -EK or Customer’s Board 8
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 AT 91 SAM 7 MCU supported. § Updates maintained via patches from Tool Vendors. ARM-Based Products Group 9
Debug Phase - SAM-BA TM Included in the AT 91 -ISP p ackage !!! SAM-BA allows on-board memory programming through USB, DBGU (UART) or JTAG AT 91 SAM 7 -EK or Customer’s Board* DBGU SAM-BA USB SAM-BA may be needed: § In case of JTAG/ICE connection problems § If no ICE interface is available for debug § as a Demo Downloader * For Customer Boards Design, See SAM-BA Hardware Constraints in the corresponding product datasheet ARM-Based Products Group 10
Debug Phase – Customizing SAM-BA TM § Customizing SAM-BA is possible by adding or modifying TCL scripts files. ard wn bo eate your o Cr dules ory mo Add mem emory Modify M s Algorithm § Command Line Mode: allows memory programming without any GUI interaction Example: sam-ba. exe usbARM 0 program. SAM 7. tcl ARM-Based Products Group 11
Debug Phase - SAM-PROG Included in the AT 91 -ISP p ackage !!! SAM-PROG allows flash programming through USB or JTAG. Major Features: 1 § File selector or Drag-n-Drop, 1 2 § I/O pin selection for user feedback after programming 2 § User Feedback and Status • Flash Programming Report, • Number of connected boards § Auto Mode for Drag-n-Program 6 3 4 5 3 4 § Security Bit set after programming § JTAG Support Mode 5 6 ARM-Based Products Group 12
AT 91 -ISP: Build your own Flash Programming GUI Provides an open set of tools for programming the AT 91 SAM 7 and AT 91 SAM 9 ARM®-based microcontrollers. The AT 91 ISP solution is not only based on 2 applications (SAM-BA and SAM-PROG): § AT 91 Boot_DLL. dll § SAM-BA § SAM-PROG § TCL script and Visual C++ projects examples § Command line application using a TCL shell (AT 91 Boot_TCL. dll) § SAM-BA Boot 4 CAN binaries (SAM 7 A 3 and SAM 7 X) ARM-Based Products Group 13
AT 91 ISP: Build your own Flash Programming GUI n Free and fully documented AT 91 Boot_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 SAM-BA Boot SERIAL (DBGU) JTAG M SA 91 USB AT AT 91 -ISP DLL USB SAM-ICE or J-Link CAN SAM-BA Boot 4 CAN * PC CAN adapter * SAM-BA Boot 4 CAN is the dedicated CAN port of SAM-BA Boot ARM-Based Products Group 14
Flash Programming During Production Phase Small, Medium and High Volume Programming ARM-Based Products Group 15
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. ARM-Based Products Group 16
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 ARM-Based Products Group 17
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) ARM-Based Products Group 18
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 AT 91 * For Customer Boards Design, See FFPI Hardware Constraints in the corresponding product datasheet ARM-Based Products Group 19
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). 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. BPMicro 4710 Programming Station ARM-Based Products Group 20
Appendix A Programming Vendor Tools List vs. Supported Devices
http: //www. bpmicro. com Type Of Equipment supporting Products AT 91 Supported AT 91 SAM 7 P/N Number of Sockets Max speed (devices/h) 44 - 11 1200 16 - 4 700 24 - 6 - Engineering Programmer 1 - S 128 S 256 X 128 4600 3710 / 3700 3600 Gang Programmer S 64 4710 / 4700 Auto Gang Programmer (Automated Hi. Volume) S 32 X 256 X 512 2710 / 2700 2600 1700 / 1710 1600 : Supported * : Not yet Supported ARM-Based Products Group 22
http: //www. dataio. com Type Of Supporting Products AT 91 Supported AT 91 P/N Equipment Max speed S 32 S 64 S 128 S 256 X 128 X 256 SE 512 Number of Sockets PS 288 FC * 16 - PS 300 16 - PS Infinity * * - 5000 * * * 32 - - - Auto Gang Programmer Multisyte Flash PAK (devices/h) : Supported * : Not yet Supported ARM-Based Products Group 23
http: //www. sg. com. tw/Index_I_E. asp Type Equipment Of Supporting Products AT 91 Auto Gang Programmer Engineering Programmer Supported AT 91 P/N S 32 S 64 AP 600 * T 9600 Power Lab Number X 256 SE 512 Of Max speed S 128 S 256 X 128 * * * 36 (4) - 24 (1) - * 1 - Sockets (devices/h) : Supported * : Not yet Supported ARM-Based Products Group 24
http: //www. xeltek. com Supported AT 91 SAM 7 P/N Type Equipment Number Of Supporting Of Products AT 91 S 321 S 64 S 128 S 256 X 128 X 256 SE 512 Sockets Max speed (devices/h) Auto Gang Programmer Superpro 9000 U 4 - Programmer Superpro 3000 U 1 - : Supported * : Not yet Supported ARM-Based Products Group 25
http: //www. hilosystems. com. tw/ Type Of Supported AT 91 SAM 7 P/N Equipment Supporting Products Auto Gang Programmer Engineering Programmer Number Of Max speed AT 91 S 32 S 64 S 128 S 256 X 128 X 256 SE 512 Sockets (devices/ h) AT 3 -300 * * * * 32 1000 ALL-100 G 4 4 - ALL-GANG 08 P 2 * * * * 8 - 1 - * * - * * 1 - ALL-100 ALL-11 P 3 ALL-11 C 2 : Supported * : Not yet Supported ARM-Based Products Group 26