Accessing On-Chip and Off-Chip Peripherals