ATmega32A Datasheet - Sunrom Technologies
ATmega32A Datasheet - Sunrom Technologies ATmega32A Datasheet - Sunrom Technologies
ATmega32A• 2 single Program Memory Break Points + 2 single Data Memory Break Points• 2 single Program Memory Break Points + 1 Program Memory Break Point with mask (“rangeBreak Point”)• 2 single Program Memory Break Points + 1 Data Memory Break Point with mask (“rangeBreak Point”)A debugger, like the AVR Studio, may however use one or more of these resources for its internalpurpose, leaving less flexibility to the end-user.A list of the On-chip Debug specific JTAG instructions is given in “On-chip Debug Specific JTAGInstructions” on page 231.The JTAGEN Fuse must be programmed to enable the JTAG Test Access Port. In addition, theOCDEN Fuse must be programmed and no Lock bits must be set for the On-chip Debug systemto work. As a security feature, the On-chip Debug system is disabled when any Lock bits are set.Otherwise, the On-chip Debug system would have provided a back-door into a secured device.The AVR JTAG ICE from Atmel is a powerful development tool for On-chip Debugging of allAVR 8-bit RISC Microcontrollers with IEEE 1149.1 compliant JTAG interface. The JTAG ICEand the AVR Studio user interface give the user complete control of the internal resources of themicrocontroller, helping to reduce development time by making debugging easier. The JTAGICE performs real-time emulation of the micrcontroller while it is running in a target system.Please refer to the Support Tools section on the AVR pages on www.atmel.com for a fulldescription of the AVR JTEG ICE. AVR Studio can be downloaded free from Software sectionon the same web site.All necessary execution commands are available in AVR Studio, both on source level and ondisassembly level. The user can execute the program, single step through the code either bytracing into or stepping over functions, step out of functions, place the cursor on a statement andexecute until the statement is reached, stop the execution, and reset the execution target. Inaddition, the user can have an unlimited number of code breakpoints (using the BREAK instruction)and up to two data memory breakpoints, alternatively combined as a mask (range) BreakPoint.23.7 On-chip Debug Specific JTAG InstructionsThe On-chip Debug support is considered being private JTAG instructions, and distributed withinATMEL and to selected third party vendors only. Instruction opcodes are listed for reference.23.7.1 PRIVATE0; $823.7.2 PRIVATE1; $923.7.3 PRIVATE2; $APrivate JTAG instruction for accessing On-chip Debug system.Private JTAG instruction for accessing On-chip Debug system.Private JTAG instruction for accessing On-chip Debug system.23.7.4 PRIVATE3; $BPrivate JTAG instruction for accessing On-chip Debug system.8155C–AVR–02/11232
ATmega32A23.8 Using the JTAG Programming CapabilitiesProgramming of AVR parts via JTAG is performed via the 4-pin JTAG port, TCK, TMS, TDI andTDO. These are the only pins that need to be controlled/observed to perform JTAG programming(in addition to power pins). It is not required to apply 12V externally. The JTAGEN fusemust be programmed and the JTD bit in the MCUSR Register must be cleared to enable theJTAG Test Access Port.23.9 Register Description23.9.1 OCDR – On-chip Debug RegisterThe JTAG programming capability supports:• Flash programming and verifying• EEPROM programming and verifying• Fuse programming and verifying• Lock bit programming and verifyingThe Lock bit security is exactly as in Parallel Programming mode. If the Lock bits LB1 or LB2 areprogrammed, the OCDEN Fuse cannot be programmed unless first doing a chip erase. This is asecurity feature that ensures no back-door exists for reading out the content of a secureddevice.The details on programming through the JTAG interface and programming specific JTAGinstructions are given in the section “Programming via the JTAG Interface” on page 284.Bit 7 6 5 4 3 2 1 0MSB/IDRD LSB OCDRRead/Write R/W R/W R/W R/W R/W R/W R/W R/WInitial Value 0 0 0 0 0 0 0 0The OCDR Register provides a communication channel from the running program in the microcontrollerto the debugger. The CPU can transfer a byte to the debugger by writing to thislocation. At the same time, an Internal Flag; I/O Debug Register Dirty – IDRD – is set to indicateto the debugger that the register has been written. When the CPU reads the OCDR Register the7 LSB will be from the OCDR Register, while the MSB is the IDRD bit. The debugger clears theIDRD bit when it has read the information.In some AVR devices, this register is shared with a standard I/O location. In this case, the OCDRRegister can only be accessed if the OCDEN Fuse is programmed, and the debugger enablesaccess to the OCDR Register. In all other cases, the standard I/O location is accessed.Refer to the debugger documentation for further information on how to use this register.23.10 BibliographyFor more information about general Boundary-scan, the following literature can be consulted:• IEEE: IEEE Std 1149.1-1990. IEEE Standard Test Access Port and Boundary-scanArchitecture, IEEE, 1993• Colin Maunder: The Board Designers Guide to Testable Logic Circuits, Addison-Wesley,19928155C–AVR–02/11233
- Page 181 and 182: ATmega32AFigure 20-6.Typical Data T
- Page 183 and 184: ATmega32AFigure 20-9.Overview of th
- Page 185 and 186: ATmega32A20.6 Using the TWIThe AVR
- Page 187 and 188: ATmega32AAssembly code example C ex
- Page 189 and 190: ATmega32ATable 20-2.Status Code(TWS
- Page 191 and 192: ATmega32AFigure 20-12. Formats and
- Page 193 and 194: ATmega32ATable 20-3.Status Code(TWS
- Page 195 and 196: ATmega32AThe upper seven bits are t
- Page 197 and 198: ATmega32AFigure 20-16. Formats and
- Page 199 and 200: ATmega32ATable 20-5.Status Code(TWS
- Page 201 and 202: ATmega32A4. The transfer must be fi
- Page 203 and 204: ATmega32A20.9.2 TWCR - TWI Control
- Page 205 and 206: ATmega32A20.9.5 TWAR - TWI (Slave)
- Page 207 and 208: ATmega32A21.3 Register Description2
- Page 209 and 210: ATmega32A22. Analog to Digital Conv
- Page 211 and 212: ATmega32AIf differential channels a
- Page 213 and 214: ATmega32Ain ADCSRA. The prescaler k
- Page 215 and 216: ATmega32ATable 22-1.ConditionADC Co
- Page 217 and 218: ATmega32AIf the user has a fixed vo
- Page 219 and 220: ATmega32AFigure 22-9.ADC Power Conn
- Page 221 and 222: INLATmega32AFigure 22-12. Integral
- Page 223 and 224: ATmega32ATable 22-2.Correlation bet
- Page 225 and 226: ATmega32ATable 22-4.MUX4:011010 ADC
- Page 227 and 228: ATmega32A22.9.4 SFIOR - Special Fun
- Page 229 and 230: ATmega32A• TMS: Test Mode Select.
- Page 231: ATmega32AThe TMS input must be held
- Page 235 and 236: ATmega32A24.3.1 Bypass RegisterThe
- Page 237 and 238: ATmega32AThe active states are:•
- Page 239 and 240: ATmega32AFigure 24-4. General Port
- Page 241 and 242: ATmega32AFigure 24-7.Boundary-scan
- Page 243 and 244: ATmega32ATable 24-4.SignalNameBound
- Page 245 and 246: ATmega32ATable 24-5.SignalNameBound
- Page 247 and 248: ATmega32ATable 24-6.Algorithm for U
- Page 249 and 250: ATmega32ATable 24-7. ATmega32A Boun
- Page 251 and 252: ATmega32ATable 24-7. ATmega32A Boun
- Page 253 and 254: ATmega32A25. Boot Loader Support -
- Page 255 and 256: ATmega32AFigure 25-1.Read-While-Wri
- Page 257 and 258: ATmega32Amemory by SPM instruction.
- Page 259 and 260: ATmega32ANotes: 1. The different va
- Page 261 and 262: ATmega32A25.8.8 EEPROM Write Preven
- Page 263 and 264: ATmega32Asbiw loophi:looplo, 2brne
- Page 265 and 266: ATmega32A25.9 Register Description2
- Page 267 and 268: ATmega32A26. Memory Programming26.1
- Page 269 and 270: ATmega32ATable 26-4.Fuse Low ByteFu
- Page 271 and 272: ATmega32ATable 26-7.Signal Name inP
- Page 273 and 274: ATmega32Achanged. A Chip Erase must
- Page 275 and 276: ATmega32AFigure 26-3. Programming t
- Page 277 and 278: ATmega32A3. Set BS1 to “0” and
- Page 279 and 280: ATmega32A26.7.14 Parallel Programmi
- Page 281 and 282: ATmega32A26.9 SPI Serial Programmin
<strong>ATmega32A</strong>23.8 Using the JTAG Programming CapabilitiesProgramming of AVR parts via JTAG is performed via the 4-pin JTAG port, TCK, TMS, TDI andTDO. These are the only pins that need to be controlled/observed to perform JTAG programming(in addition to power pins). It is not required to apply 12V externally. The JTAGEN fusemust be programmed and the JTD bit in the MCUSR Register must be cleared to enable theJTAG Test Access Port.23.9 Register Description23.9.1 OCDR – On-chip Debug RegisterThe JTAG programming capability supports:• Flash programming and verifying• EEPROM programming and verifying• Fuse programming and verifying• Lock bit programming and verifyingThe Lock bit security is exactly as in Parallel Programming mode. If the Lock bits LB1 or LB2 areprogrammed, the OCDEN Fuse cannot be programmed unless first doing a chip erase. This is asecurity feature that ensures no back-door exists for reading out the content of a secureddevice.The details on programming through the JTAG interface and programming specific JTAGinstructions are given in the section “Programming via the JTAG Interface” on page 284.Bit 7 6 5 4 3 2 1 0MSB/IDRD LSB OCDRRead/Write R/W R/W R/W R/W R/W R/W R/W R/WInitial Value 0 0 0 0 0 0 0 0The OCDR Register provides a communication channel from the running program in the microcontrollerto the debugger. The CPU can transfer a byte to the debugger by writing to thislocation. At the same time, an Internal Flag; I/O Debug Register Dirty – IDRD – is set to indicateto the debugger that the register has been written. When the CPU reads the OCDR Register the7 LSB will be from the OCDR Register, while the MSB is the IDRD bit. The debugger clears theIDRD bit when it has read the information.In some AVR devices, this register is shared with a standard I/O location. In this case, the OCDRRegister can only be accessed if the OCDEN Fuse is programmed, and the debugger enablesaccess to the OCDR Register. In all other cases, the standard I/O location is accessed.Refer to the debugger documentation for further information on how to use this register.23.10 BibliographyFor more information about general Boundary-scan, the following literature can be consulted:• IEEE: IEEE Std 1149.1-1990. IEEE Standard Test Access Port and Boundary-scanArchitecture, IEEE, 1993• Colin Maunder: The Board Designers Guide to Testable Logic Circuits, Addison-Wesley,19928155C–AVR–02/11233