Lab2_Interrupt

Lab2_Interrupt - Embedded systems Laboratory 2 - Interrupt1...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Embedded systems Laboratory 2 - Interrupt 1 1 Introduction 1.1 Goals After this lab you should understand polling, unsigned and signed arithmetic and basic interrupt handling. 1.2 Literature Chapters 3.1-3.3 in: Wolf, Computers as Components. ARM Application Note 25: “Exception Handling on the ARM” 2 Preparations Read the required literature and this lab manual in detail and then solve the home assignments. Note that this lab requires more home preparations than the first one. 3 The ARM modes An ARM processor can be in any of seven different modes. The user mode has the normal 16 registers and the status register CPSR. The other modes are privileged modes where there is no restriction on the kinds of instructions that may be executed. Except from the System mode, all other modes define a number of additional registers that are accessible only in these modes. The other modes are: System mode: Running privileged operating system tasks. Fast interrupt (FIQ) mode: Processing fast interrupts. Supervisor (SVC) mode: Processing software interrupts (system calls). 1 Edited for the course year 2004/2005 by Ingo Sander based on the earlier version of Mats Brorsson, Nguyen Phan Nguyen Thai and Mladen Nikitovic
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Abort mode: Processing memory faults. Interrupt (IRQ) mode: Processing normal interrupts. Undefined (Undef) mode: Processing undefined instruction traps. All of these modes (except System mode) define their own registers r13 and r14. In addition, the FIQ mode also defines its own r8-r12 so that it has some extra registers to work with. If the user level registers need to be accessed when you are in one of the privileged modes, you first have to enter System mode and then transfer them through other registers which are visible in both modes. More information can be found in the ARM Application Note 25 about exception processing. 4 The (modified) ARMulator For this lab, a modified version of the ARM simulator, the ARMulator, will be used. In order to use this version of the ARMulator, perform the following actions: Start the ARM debugger (ADW). Select “Options -> Configure Debugger…” Press the Add button in “Target Environment” Find the file “thaimulate.dll” and open it in the dialog window Make sure thaimulate has been selected as target environment Press configure and make sure that the processor variant ARM9TDMI This model has a simple I/O device as shown in Figure 1. It consists of the following items: A row of switches which constitute an eight-bit inport connected to address 0x70001000. A row of LEDs which constitute an eight-bit outport connected to address 0x70001004. Two push-buttons; K1 and K2 and a timer which forms an interrupt control port at address 0x70001008. The timer has a special control port at address 0x7000100c.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/19/2010 for the course ADA 1234 taught by Professor Stud during the Spring '10 term at Acadia.

Page1 / 10

Lab2_Interrupt - Embedded systems Laboratory 2 - Interrupt1...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online