AT89C51CC03C-7CTIM Atmel, AT89C51CC03C-7CTIM Datasheet
AT89C51CC03C-7CTIM
Specifications of AT89C51CC03C-7CTIM
Available stocks
Related parts for AT89C51CC03C-7CTIM
AT89C51CC03C-7CTIM Summary of contents
Page 1
... Flash (EEPROM) memories. Additional information on the AT89C51CC03 product can be found in the AT89C51CC03 datasheet and the AT89C51CC03 errata sheet available on the Atmel web site. The bootloader software package (source code and binary) currently used for produc- tion is available from the Atmel web site ...
Page 2
Functional The AT89C51CC03 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 CAN proto- col (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
... FLIP software program running under Windows and LINUX that sup- ports all Atmel Flash microcontroller and CAN protocol communication media. Program Several CAN dongles are supported by FLIP (for Windows). This free software program is available from the Atmel web site. 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader User Bootloader ...
Page 6
In-System ISP allows the user to program or reprogram a microcontroller’s on-chip Flash memory through the CAN network without removing it from the system and without the need of a pre-pro- Programming grammed application. This section describes how to start ...
Page 7
Regular Boot Process 0000h lica tio n 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader bit ...
Page 8
Physical Layer The CAN is used to transmit information has the following configuration: • Standard Frame CAN format 2.0A (identifier 11-bit) • Frame: Data Frame • Baud rate: autobaud is performed by the bootloader CAN Controller Two ways are possible ...
Page 9
CAN Autobaud The table below shows the autobaud performance for a point to point connection in X1 mode. Note: CAN Autobaud The CAN autobaud implemented in the bootloader is efficient only in point-to-point connection. Limitation Because in a point to ...
Page 10
Protocol Generic CAN Frame Description • Identifier: Identifier identifies the frame (or message). Only the standard mode (11-bit) is used. • Control: Control contains the DLC information (number of data in Data field) 4-bit. • Data: Data field consists of ...
Page 11
Figure 3. Identifier Remapping Communication The communication with a device (CAN node) must be opened prior to initiate any ISP Initialization communication. To open communication with the device, the Host sends a “connecting” CAN message (Id_select_node) with the node number ...
Page 12
Request From Host Note: Answers From Bootloader Note: If the communication is closed then all the others messages won’t be managed by bootloader. Flow Description Host Send Select Node message with node number in parameter OR Time-out 10 ms COMMAND ...
Page 13
Programming the The flow described below shows how to program data in the Flash memory or in the EEPROM Flash or EEPROM data memory. This operation can be executed only with a device previously opened in Data communication. 1. The ...
Page 14
If the device has finished the programming, it sends a “programming data” CAN message (Id_prog_data) with the result Command_ok passed in parameter. Flow Description Host Send prog_start message with addresses OR Wait ERROR COMMAND ABORTED Wait ProgStart Send prog_data ...
Page 15
Example Programming Data (write 55h from 0000h to 0008h in the flash) HOST BOOTLOADER HOST BOOTLOADER HOST BOOTLOADER Programming Data (write 55h from 0000h to 0008h in the flash), with SSB i HOST BOOTLOADER Reading the Flash or The flow ...
Page 16
Answer to a blank check command: Flow Description Host Send display_data message with addresses or blank check OR Wait ERROR COMMAND ABORTED OR Wait Data Display All data read COMMAND FINISHED OR Wait COMMAND_KO COMMAND FINISHED Wait COMMAND_OK COMMAND FINISHED ...
Page 17
Example Display Data (from 0000h to 0008h) HOST BOOTLOADER BOOTLOADER Blank Check HOST BOOTLOADER Programming The flow described below allows the user to program Configuration Information regarding the Configuration bootloader functionality. Information This operation can be executed only with a ...
Page 18
Requests From Host Answers From The device has two possible answers: Bootloader • If the chip is protected from program access a “Error” CAN message is sent (see Section “Error Message Description”). • Otherwise an acknowledge “Command ok“ is sent. ...
Page 19
Example Write BSB at 88h HOST BOOTLOADER Write Fuse bit at Fxh HOST BOOTLOADER Reading Configuration The flow described below allows the user to read the configuration or manufacturer information. Information or This operation can be executed only with a ...
Page 20
Answers From The device has two possible answers: Bootloader • If the chip is protected from read access an “Error” CAN message is sent (see Section “Error Message Description”). • Otherwise: the device answers with a Read Answer CAN message ...
Page 21
Erasing the Flash The flow described below allows the user to erase the Flash memory. This operation can be executed only with a device previously opened in communication. Two modes of Flash erasing are possible: • Full Chip erase • ...
Page 22
Example Full Chip Erase HOST BOOTLOADER Starting the The flow described below allows to start the application directly from the bootloader upon a spe- Application cific command reception. This operation can be executed only with a device previously opened in ...
Page 23
... 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 package: C Flash Drivers for the AT89C51CC03CA for Keil Compilers The flash_api routines on the package work only with the CAN bootloader. The flash_api routines are listed in APPENDIX-2. ...
Page 24
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 25
Instruction: LCALL FFC0h. • At the complete API execution by the bootloader, the value to read is in the api_value variable. Note: Program • Parameter settings Configuration Information • instruction: LCALL FFC0h. Note: Erasing the Flash The AT89C51CC03 Flash ...
Page 26
Parameter settings • instruction: LCALL FFC0h. Note: Starting the There are two start bootloader routines possible: Bootloader This routine allows to start at the beginning of the bootloader as after a reset. After calling this routine the regular boot ...
Page 27
Appendix-1 Table 1. Summary of Frames from Host Identifier length Id_select_node 1 (CRIS:0h) Id_prog_start 5 (CRIS:1h) Id_prog_data n (CRIS:2h) Id_display_data 5 (CRIS:3h) 2 Id_write_command (CRIS:4h 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader data[0] data[1] data[2] num node - - ...
Page 28
Table 1. Summary of Frames from Host (Continued) Identifier length 2 Id_read_command (CRIS:5h Table 2. Summary of Frames from Target (Bootloader) Identifier length Id_select_node 2 (CRIS:0h) Id_prog_start 0 (CIRS:1h) Id_prog_data 1 (CRIS:2h) n Id_display_data 0 (CRIS:3h) 2 Id_write_command ...
Page 29
Table 2. Summary of Frames from Target (Bootloader) (Continued) Identifier length Id_error 1 (CRIS:6h) 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader data[0] data[1] data[2] 00h - - data[3] data[4] Description - - Software Security Error 29 ...
Page 30
Appendix-2 Table 3. 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_erase block3 __api_erase block4 __api_rd_HSB __api_clr_BLJB __api_set_BLJB __api_clr_X2 __api_set_X2 __api_rd_BSB __api_wr_BSB __api_rd_SBV __api_wr_SBV __api_erase_SBV __api_rd_SSB __api_wr_SSB __api_rd_EB __api_wr_EB __api_rd_CANBTC1 __api_wr_CANBTC1 __api_rd_CANBTC2 __api_wr_CANBTC2 __api_rd_CANBTC3 __api_wr_CANBTC3 ...
Page 31
Table 3. API Summary Function Name __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 __api_start_bootloader __api_start_isp 4251B–CAN–03/08 AT89C51CC03 CAN Bootloader Bootloader Execution api_command yes 05h yes 05h yes 05h yes 05h yes 0Eh ...
Page 32
... 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 ...