Hello welcome back. So in this lesson we'll shall talk about the generic architecture behind interfacing peripherals to the ARM processor. As you may know, embedded systems that interact with the outside world need some form of peripheral device. In a sense the set of peripherals attached to the embedded device determines the uniqueness of that device. All ARM peripherals are memory mapped and this means the programming interface is a set of memory addressed registers and as we shall see when we begin coding the address of these registers is an offset from a specific peripheral base address. Our simplified ARM embedded device over here still shows two items we've not talked about. We've explained the ARM processor. We have explained the AHB and the APB buses we've talked about memory we've said the green rectangles are just examples of some peripherals that can be connected to the ARM embedded device. We are left with the memory controller and the interrupt controller the memory controller simply connects the different types of memory we talked about to the processor. For example when the power is turned on the memory controller may be configured in hardware to allow certain memory devices to be active. These memory devices allow the initialization code to be executed. Some memory devices must be set up in software though something like that DRAM. We first have to set up the memory timings and the refresh rates using software before it can be accessed. Now about the interrupt controller, it basically determines which peripheral can access the processor at specific times. There are two types of interrupt controllers available in ARM. The standard interrupt control and the vectored interrupt controller. I shall leave the discussions on interrupt controllers for the future lessons when we are talking about interrupt only. So this is all there is to it and I shall see you in the next lesson.