NEW DATABASE - 350 MILLION DATASHEETS FROM 8500 MANUFACTURERS
T89C5115 T89C51CC02 T89C51AC2 T89C51CC01 T89C51RB2 T89C51RC2 T89C51IC2 - Datasheet Archive
Atmel T89C51xx Using Hitex DProbeHS Emulator Atmel C51 In-Sytem Programmable (ISP) Flash Microcontrollers embed a bootloader
How to Emulate Read/Write Code Access To Atmel T89C51xx Using Hitex DProbeHS Emulator Atmel C51 In-Sytem Programmable (ISP) Flash Microcontrollers embed a bootloader memory sector that enables users to perform self-programming in the Application Flash Memory area. C51 Flash Microcontrollers This application note explains emulation of the (read/write) code access to Atmel T89C51xx microcontrollers using the Hitex DProbeHS Emulator. This application note applies to the following products: T89C5115 T89C5115, T89C51CC02 T89C51CC02, T89C51AC2 T89C51AC2, T89C51CC01 T89C51CC01, T89C51RB2 T89C51RB2, T89C51RC2 T89C51RC2, T89C51IC2 T89C51IC2, T89C51RD2 T89C51RD2. ApplicationNote Rev. 4124A805105/02 1 T89C51xx Memory Mapping Using the T89C51xx microcontroller, the bootloader program can be either located in a separate area (ROM or Flash), or in the user area. The following diagrams provide a memory mapping description for the T89C51xx. Figure 1. T89C51RD2 T89C51RD2 Memory Mapping FFFFh FC00h Bootloader + IAP Routines User Application 0000h Figure 2. Other Products Memory Mapping FFFFh F800h Bootloader + IAP Routines 2K Bytes in separate ROM or Flash 7FFFh User Application 0000h 2 Flash Emulation 4124A805105/02 Flash Emulation Flash Access Mechanism Using IAP Routines Users can easily call IAP routines in the bootloader programs directly from their application code. The following diagram describes how to rewrite on the Flash memory. Figure 3. T89C51RD2 T89C51RD2 Flash Rewrite Description FFFFh FC00h Bootloader + IAP Routines 1 2 Modified Area User Application 3 0000h Subroutine call Flash modification Figure 4. Other Device Flash Rewrite Description FFFFh Bootloader + IAP Routines 1 F800h 2 7FFFh Modified Area 3 User Application 0000h To perform On-chip Flash modification, proceed as follows: 1. Call the IAP routine from the user program. 2. The IAP routine will modify the specified address with a user defined value. 3. The IAP routine ends and program returns to the user program. 3 4124A805105/02 On-chip Flash Emulation Description The appropriate Hitex emulator for C51 Flash ISP Microcontrollers, is the DProbeHSTEH. The Hitex emulator provides the capability to emulate, write, and read operations from the on-chip Flash. Users use the IAP routines provided by Atmel in their own code. The Hitex emulator will be able to properly emulate the program behavior when write or read operations in the on-chip Flash occur. Write access occurs in the IAP using MOVX @DPTR, A and read access using MOVC A, @A+DPTR. Caution: The T89C51RD2 T89C51RD2 does not yet provide mechanisms for emulation of internal write Flash access, it is mandatory to use a T89C51RC2/RB2/IC2 T89C51RC2/RB2/IC2 to emulate these On-Chip Flash access of T89C51RD2 T89C51RD2. Setup Procedure The following steps indicate the procedure to emulate read and write access in the onchip Flash: 1. Identify whether the bootloader software is located in Flash or in ROM for the dedicated Atmel Flash C51 that is used. 2. If the bootloader program is located in Flash (T89C51RD2 T89C51RD2, T89C51CC01/CC02 T89C51CC01/CC02, T89C51AC2 T89C51AC2, T89C5115 T89C5115), download the latest software release from the Atmel website www.atmel.com. If the bootloader program is located in ROM (T89C51RC2/RB2/IC2 T89C51RC2/RB2/IC2), the bootloader program is joined to this application note. 3. Run the Hitex emulator as specified in the user manual with or without target board. 4. Define the memory mapping of the Atmel Flash C51 product (16/32/64K 16/32/64K Bytes). 5. If the product has less than 64K bytes defined bootloader memory mapping, mapping will depend of the size of the bootloader program: Start address of the bootloader program will be the upper address of the 64K address space when taking into account its size. 1K Byte size: Start address: FC00h 2K Bytes size: Start address: F800h 4K Bytes size: Start address: F000h etc. 6. Load the bootloader program in Intel HEX format in the emulation code memory. 7. Load the user application program htx file and its associated symbol file. 8. Emulator is now ready to properly emulate write and read accesses to the OnChip Flash memory. 4 Flash Emulation 4124A805105/02 Flash Emulation Example User code is implemented in a T89C51RC2 T89C51RC2 product featuring 16K Bytes Flash and 2K Bytes bootloader program in ROM. This example writes and reads AAh value from address 3F00h to 3F0Fh in the user code memory. 1. Run the Hitex emulator as specified in the user manual with or without target board. 2. This example will use the T89C51RC2/RB2/IC2 T89C51RC2/RB2/IC2 bootloader program joined to this application note. 3. Bootloader size is 2K Bytes, so it will be located at F800h address. Mapping for the user code and bootloader program will be the following: Figure 5. User Memory Mapping Figure 6. Bootloader Memory Mapping 5 4124A805105/02 Figure 7. Final Complete Memory Mapping 4. Load the bootloader program in Intel HEX format. Figure 8. Load Bootloader Program 5. Load the user application program htx file and its associated symbol file. Figure 9. Load Bootloader Program 6. Emulator is now ready to properly emulate write and read access to the On-chip Flash memory. 6 Flash Emulation 4124A805105/02 Flash Emulation Trace and Trigger Conditions Trace Without Trigger Condition Since write access to On-chip Flash is based on MOVX instruction, trace can be performed on the On-chip Flash access. Trace buffer with no specific trigger condition for Code Write access will be the following for this dedicated code: Figure 10. Source Code With Flash Code Write Access Figure 11. Trace Buffer 7 4124A805105/02 Code Write access to the Flash is mentioned in the trace buffer by the keyword "CW" (for Code Write) in the state column. Trace Trigger Condition for Code Write Access To be able to trace only Code write to check a memory array, a specific trigger can be defined: Figure 12. Trigger Definition for Code Write Access Trace buffer with this trigger condition for Code Write access will be the following: 8 Flash Emulation 4124A805105/02 Flash Emulation Figure 13. Trace With Only Flash Code Write Access 9 4124A805105/02 Trace Trigger Condition For Code Read Access Flash read access is done using MOVC A, @A+DPTR. Thus trigger and trace are done using standard trigger definition for MOVC instruction. To be able to trace only Code read access to check a memory array a specific trigger can be defined: · Choose MovcFtch in the Bus State selection to be able to trace code access · Choose Filter in the Trace recording selection to trace only Code read access Figure 14. Trigger Definition for Code Read Access Trace buffer with this trigger condition for Code Read access will be the following: 10 Flash Emulation 4124A805105/02 Flash Emulation Figure 15. Trace With Only Flash Code Read Access Code Read access to the Flash is mentioned in the trace buffer by the keyword "F" (for Fetch) in the state column. Data read Code Memory View Once the program is stopped or when a breakpoint occurs, code memory is visualized using the View Memory menu: 11 4124A805105/02 References Product datasheets In-System Programming: Flash API Rev 1.0.0 for T89C51RB2/RC2 T89C51RB2/RC2 Abbreviations ISP: In-System Programming Bootloader: Atmel dedicated program located inside the T89C51xx to perform In-System Programming HSB: Hardware configuration byte IAP: In-Application Programming 12 Flash Emulation 4124A805105/02 Atmel Headquarters Atmel Operations Corporate Headquarters Memory 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 487-2600 Europe Atmel Sarl Route des Arsenaux 41 Case Postale 80 CH-1705 CH-1705 Fribourg Switzerland TEL (41) 26-426-5555 FAX (41) 26-426-5500 Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimhatsui East Kowloon Hong Kong TEL (852) 2721-9778 FAX (852) 2722-1369 Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan TEL (81) 3-3523-3551 FAX (81) 3-3523-7581 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 RF/Automotive Theresienstrasse 2 Postfach 3535 74025 Heilbronn, Germany TEL (49) 71-31-67-0 FAX (49) 71-31-67-2340 Microcontrollers 2325 Orchard Parkway San Jose, CA 95131 TEL 1(408) 441-0311 FAX 1(408) 436-4314 La Chantrerie BP 70602 44306 Nantes Cedex 3, France TEL (33) 2-40-18-18-18 FAX (33) 2-40-18-19-60 ASIC/ASSP/Smart Cards Zone Industrielle 13106 Rousset Cedex, France TEL (33) 4-42-53-60-00 FAX (33) 4-42-53-60-01 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Biometrics/Imaging/Hi-Rel MPU/ High Speed Converters/RF Datacom Avenue de Rochepleine BP 123 38521 Saint-Egreve Cedex, France TEL (33) 4-76-58-30-00 FAX (33) 4-76-58-34-80 1150 East Cheyenne Mtn. Blvd. Colorado Springs, CO 80906 TEL 1(719) 576-3300 FAX 1(719) 540-1759 Scottish Enterprise Technology Park Maxwell Building East Kilbride G75 0QR, Scotland TEL (44) 1355-803-000 FAX (44) 1355-242-743 e-mail literature@atmel.com Web Site http://www.atmel.com © Atmel Corporation 2002. Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company's standard warranty which is detailed in Atmel's Terms and Conditions located on the Company's web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are granted by the Company in connection with the sale of Atmel products, expressly or by implication. Atmel's products are not authorized for use as critical components in life support devices or systems. ATMEL ® is a registered trademark of Atmel. Other terms and product names may be the trademarks of others. Printed on recycled paper. 4124A805105/02 /0M