T89C51CC01CA-7CTIM Atmel, T89C51CC01CA-7CTIM Datasheet

IC 8051 MCU FLASH 32K 64BGA

T89C51CC01CA-7CTIM

Manufacturer Part Number
T89C51CC01CA-7CTIM
Description
IC 8051 MCU FLASH 32K 64BGA
Manufacturer
Atmel
Series
AT89C CANr

Specifications of T89C51CC01CA-7CTIM

Core Processor
8051
Core Size
8-Bit
Speed
40MHz
Connectivity
CAN, UART/USART
Peripherals
POR, PWM, WDT
Number Of I /o
34
Program Memory Size
32KB (32K x 8)
Program Memory Type
FLASH
Eeprom Size
2K x 8
Ram Size
1.25K x 8
Voltage - Supply (vcc/vdd)
3 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
External
Operating Temperature
-40°C ~ 85°C
Package / Case
64-BGA
For Use With
AT89STK-06 - KIT DEMOBOARD 8051 MCU W/CAN
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Other names
T89C51CC01CA7CTIM

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
T89C51CC01CA-7CTIM
Manufacturer:
Atmel
Quantity:
10 000
Features
Description
This document describes the UART bootloader functionalities as well as the serial
protocol to efficiently perform operations on the on chip Flash (EEPROM) memories.
Additional information on the T89C51CC01 product can be found in the T89C51CC01
Data sheet and the T89C51CC01 Errata sheet available on the Atmel web site,
www.atmel.com.
The bootloader software package (source code and binary) currently used for produc-
tion is available from the Atmel web site.
Bootloader Revision
Revision 1.2.0
Revisions 1.4.0
Revision 1.4.1
Protocol
In-System Programming
In-Application Programming/Self Programming
– UART used as Physical Layer
– Based on the Intel Hex-type Records
– Autobaud
– Read/Write Flash and EEPROM memories
– Read Device ID
– Full chip Erase
– Read/Write configuration bytes
– Security setting from ISP command
– Remote application start command
– Read/Write Flash and EEPROM memories
– Read Device Id
– Block Erase
– Read/Write configuration bytes
– Bootloader start
Purpose of Modifications
First release
New command supported
- EEPROM access
- Start application
- Extra Byte access
128 bytes page Flash programming
New boot process
Standardization of tasks in source
program.
Date
23/04/2001
02/11/2001
19/03/2007
CAN
Microcontrollers
T89C51CC01
UART
Bootloader

Related parts for T89C51CC01CA-7CTIM

T89C51CC01CA-7CTIM Summary of contents

Page 1

... Flash (EEPROM) memories. Additional information on the T89C51CC01 product can be found in the T89C51CC01 Data sheet and the T89C51CC01 Errata sheet available on the Atmel web site, www.atmel.com. The bootloader software package (source code and binary) currently used for produc- tion is available from the Atmel web site ...

Page 2

Functional The T89C51CC01 Bootloader facilitates In-System Programming and In-Application Programming. Description In-System In-System Programming allows the user to program or reprogram a microcontroller on-chip Flash memory without removing it from the system and without the need of a pre-programmed Programming ...

Page 3

ISP Communication The purpose of this process is to manage the communication and its protocol between the on- Management chip bootloader and an external device (host). The on-chip bootloader implements a Serial pro- tocol (see Section “Protocol”). This process translates ...

Page 4

Mapping and Default The 4 MSB of the Hardware Byte can be read/written by software (this area is called Fuse bits). Value of Hardware The 4 LSB can only be read by software and written by hardware in parallel mode ...

Page 5

... The way to start this user bootloader is described in the section “Boot Process”. Application FLIP Software FLIP software program running under Windows and LINUX that sup- ports all ATMEL Flash microcontroller. Program This free software profgram is available from the Atmel web site. 4211C–CAN–03/08 T89C51CC01 UART Bootloader User Bootloader [SBV]00h FM0 ...

Page 6

In-System The ISP allows the user to program or reprogram a microcontroller’s on-chip Flash memory through the serial line without removing it from the system and without the need of a pre-pro- Programming grammed application. This section describes how to ...

Page 7

Regular Boot Process 0000h lica tio n 4211C–CAN–03/08 T89C51CC01 UART Bootloader bit ...

Page 8

Physical Layer The UART used to transmit information has the following configuration: • Character: 8-bit data • Parity: none • Stop: 2 bit • Flow control: none • Baud rate: autobaud is performed by the bootloader to compute the baud ...

Page 9

Protocol Overview An initialization step must be performed after each Reset. After microcontroller reset, the boot- loader waits for an autobaud sequence (see Section “Autobaud Performances”). When the communication is initialized the protocol depends on the record type issued by ...

Page 10

Frequency (MHz) Baudrate (Bauds 38400 - - 57600 - - 115200 - - Command Data Stream Protocol All commands are sent using the same flow. Each frame sent by the host is echoed by the bootloader. Figure 3. ...

Page 11

Programming the The flow described below shows how to program data in the Flash memory or in the EEPROM Flash or EEPROM data data memory. The bootloader programs on a page of 128 bytes basis when it is possible. The ...

Page 12

Read the Flash or The flow described below allows the user to read data in the Flash memory or in the EEPROM EEPROM Data data memory. A blank check command is possible with this flow. The device splits into blocks ...

Page 13

Example Flow Description: read command Host Send Display Command OR Wait Checksum Error COMMAND ABORTED OR Wait Security Error COMMAND ABORTED Wait Display Data All data read COMMAND FINISHED 4211C–CAN–03/08 T89C51CC01 UART Bootloader Blank Check 0000 04 ...

Page 14

Example T89C51CC01 UART Bootloader 14 Display data from address 0000h to 0020h HOST : 05 0000 04 0000 0020 0000 04 0000 0020 00 D7 BOOTLOADER BOOTLOADER 0000=-----data------ CR LF BOOTLOADER 0010=-----data------ CR LF BOOTLOADER 0020=data ...

Page 15

Program The flow described below allows the user to program Configuration Information regarding the Configuration bootloader functionality. Information The Boot Process Configuration: BSB SBV Fuse bits (BLJB and X2 bits) (see Section “Mapping and Default Value of Hardware Security Byte”) ...

Page 16

... Wait COMMAND_OK COMMAND FINISHED Example T89C51CC01 UART Bootloader 16 Write Command ’X’ & CR & LF ’P’ & CR & LF ’.’ & CR & LF Programming Atmel function (write SSB to level 2) HOST : 02 0000 0000 F5 BOOTLOADER Writing Frame (write BSB to 55h 0000 HOST BOOTLOADER : 03 0000 ...

Page 17

Read Configuration The flow described below allows the user to read the configuration or manufacturer information. Information or Manufacturer Information Requests From Host Read Manufacturer Code Read Product Name Read Product Revision Read HSB (Fuse bit) Read Bootloader version Note: ...

Page 18

... CR & LF ’L’ & CR & LF ’value’ & ’.’ & CR & LF Read function (read SBV 0000 HOST BOOTLOADER : 02 0000 Value . CR LF Atmel Read function (read Bootloader version) HOST : 02 0000 BOOTLOADER : 02 0000 Value . CR LF Bootloader Wait Read Command Checksum error ...

Page 19

Erase the Flash The flow described below allows the user to erase the Flash memory. Two modes of Flash erasing are possible: • Full Chip erase • Block erase The Full Chip erase command erases the whole Flash (32 Kbytes) ...

Page 20

Flow Description Host Send Erase Command OR Wait Checksum Error COMMAND ABORTED OR Wait Security Error COMMAND ABORTED Wait COMMAND_OK COMMAND FINISHED Example T89C51CC01 UART Bootloader 20 Erase Command ’X’ & CR & LF ’P’ & CR & LF ’.’ ...

Page 21

Start the Application The flow described below allows to start the application directly from the bootloader upon a spe- cific command reception. Two options are possible: • Start the application with a reset pulse generation (using watchdog). When the device ...

Page 22

... Programming To call the corresponding API, the user must use a set of Flash_api routines which can be linked with the application. Example of Flash_api routines are available on the Atmel web site on the software application note: C Flash Drivers for the T89C51CC01UA The flash_api routines on the package work only with the UART bootloader. ...

Page 23

API Commands Several types of APIs are available: • Read/Program Flash and EEPROM Data memory • Read Configuration and Manufacturer Information • Program Configuration Information • Erase Flash • Start bootloader Read/Program Flash All routines to access EEPROM Data are ...

Page 24

Instruction: LCALL FFF0h. • At the complete API execution by the bootloader, the value to read is in the api_value variable. Note: Program • Parameter settings Configuration API Name Information __api_set_X2 __api_clr_X2 __api_set_BLJB __api_clr_BLJB __api_wr_BSB __api_wr_SBV __api_wr_EB __api_wr_SSB_LEVEL0 ...

Page 25

Erase Flash The T89C51CC01 flash memory is divided in several blocks: Block 0: from address 0000h to 1FFFh Block 1: from address 2000h to 3FFFh Block 2: from address 4000h to 7FFFh These three blocks contain 128 pages. • Parameter ...

Page 26

Appendix-1 Table 3. Summary of frames from Host Command Program Nb Data Byte in Flash. Erase block0 (0000h-1FFFh) Erase block1 (2000h-3FFFh) Erase block2 (4000h-7FFFh) Start application with a reset pulse generation Start application with a jump at “address” Erase SBV ...

Page 27

Appendix-2 Table 4. API Summary Function name __api_rd_code_byte __api_wr_code_byte __api_wr_code_page __api_erase_block0 __api_erase_block1 __api_erase_block2 __api_rd_HSB __api_set_X2 __api_clr_X2 __api_set_BLJB __api_clr_BLJB __api_rd_BSB __api_wr_BSB __api_rd_SBV __api_wr_SBV __api_erase_SBV __api_rd_SSB __api_wr_SSB_level0 __api_wr_SSB_level1 __api_wr_SSB_level2 __api_rd_EB __api_wr_EB __api_rd_manufacturer __api_rd_device_id1 __api_rd_device_id2 __api_rd_device_id3 __api_rd_bootloader_version __api_eeprom_busy __api_rd_eeprom_byte __api_wr_eeprom_byte 4211C–CAN–03/08 T89C51CC01 UART ...

Page 28

Table 4. API Summary Function name __api_start_bootloader Datasheet Change Log 4211A - 12/ Bit stop for the UART protocol added. 4211B - 12/03 4211B - 12/ Updated of bootloader version. 4211C - 03/08 T89C51CC01 UART Bootloader ...

Page 29

... Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL’S TERMS AND CONDI- TIONS OF SALE LOCATED ON ATMEL’S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ...

Related keywords