From CVL Wiki
(Difference between revisions)
Revision as of 09:42, 30 April 2007
A typical microcontroller
The programming model
Memory
ROM
PROM
EPROM
EEPROM
Flash EEPROM
RAM
Central Processor Unit (CPU)
The I/O interface
The address, data, and control buses
Microprocessors vs microcontrollers
Hardware architecture
Applications
Instruction set features
MicroBlaze architecture
Data types and endianness
Registers (general-purpose and special-purpose)
Pipeline architecture
Memory architecture
Instruction cache
Data cache
Floating Point Unit
Fast Simplex Link
MicroBlaze instruction set architecture
Instruction set summary
Instruction and operand syntax
Instructions
Load/store instructions
Arithmetic instructions
Logical instructions (including barrel shifts)
Comparisons and conditional branches
Unconditional branches, subroutines/exceptions, and returns
All other MicroBlaze instructions
Assembly language and C programming for the MicroBlaze
Using MicroBlaze tools for assembly and linking
Elements of a program: header, assembler directives, and conventions
Steps for writing an assembler program
Assembly source file, listing file, object file, and executable (elf) file
MicroBlaze C compiler
Downloading machine code into MicroBlaze memory
System stack and subroutines
Debugging techniques
Assembly program examples
C program examples
Overview of MicroBlaze peripherals
On-chip memory
DDR SDRAM
OPB GPIO peripherals: LEDs, switches, LCD, ADC start, and SPI interface
Interrupt controller
Debug module
10/100 Ethernet MAC
VGA video interface
Programmable Timer/Counter
DMA controller
Bus Masters, Slaves, and OPB Bus Arbitration
OPB Timer/Counter
Generate mode
Capture mode
PWM mode
Interrupts
Reset, Interrupts, Exceptions and Break
OPB interrupt controller
Interrupts with OPB GPIO
Serial data link protocols
SPI Protocol
I2C Protocol
RS-232 Protocol
USB Protocol
Firewire Protocol
CAN Bus Protocol
Source-Synchronous and Self-Synchronous protocols
Analog converter subsystem
Concepts and terminology
Analog-to-digital (A/D) converters
A/D input synchronization
A/D interrupts
A/D programming
Example of A/D programs
Appendix A: List of microcontrollers and microprocessors that are widely used today
Appendix B: Glossary