new
Dependencies: SDFileSystem TextLCD mbed-rtos mbed wave_player
setup.s@0:5d1489eaa51a, 2013-11-11 (annotated)
- Committer:
- ndiaz6
- Date:
- Mon Nov 11 18:34:11 2013 +0000
- Revision:
- 0:5d1489eaa51a
Yes;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ndiaz6 | 0:5d1489eaa51a | 1 | AREA setup, CODE, READONLY |
ndiaz6 | 0:5d1489eaa51a | 2 | ;--------------------OVERVIEW------------------------ |
ndiaz6 | 0:5d1489eaa51a | 3 | ; This file contains ARM Assembly language functions to |
ndiaz6 | 0:5d1489eaa51a | 4 | ; initialize select registers/memory-locations in the |
ndiaz6 | 0:5d1489eaa51a | 5 | ; LPC1768 to predetermined values. This startup sequence |
ndiaz6 | 0:5d1489eaa51a | 6 | ; will be used to test the integrity of your program, and |
ndiaz6 | 0:5d1489eaa51a | 7 | ; IT SHOULD NOT BE ALTERED BY ANY MEANS. Any student |
ndiaz6 | 0:5d1489eaa51a | 8 | ; attempting to alter this file will be subject to academic |
ndiaz6 | 0:5d1489eaa51a | 9 | ; dishonesty and any disciplinary actions pertaining |
ndiaz6 | 0:5d1489eaa51a | 10 | ; thereto. |
ndiaz6 | 0:5d1489eaa51a | 11 | ;------------------------------------------------------ |
ndiaz6 | 0:5d1489eaa51a | 12 | ; Export function location so that C compiler can find it and link |
ndiaz6 | 0:5d1489eaa51a | 13 | EXPORT setup_sequence |
ndiaz6 | 0:5d1489eaa51a | 14 | setup_sequence |
ndiaz6 | 0:5d1489eaa51a | 15 | ;PUSH LINK REGISTER TO STACK |
ndiaz6 | 0:5d1489eaa51a | 16 | PUSH {LR} |
ndiaz6 | 0:5d1489eaa51a | 17 | |
ndiaz6 | 0:5d1489eaa51a | 18 | ;INIT PINSEL0 |
ndiaz6 | 0:5d1489eaa51a | 19 | LDR R0, =0x4002C000 ;LOAD ADDRESS OF PINSEL0 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 20 | LDR R1, =0x40000000 ;LOAD BITMASK FOR PINSEL0 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 21 | LDR R2, [R0] ;\ |
ndiaz6 | 0:5d1489eaa51a | 22 | ORR R2, R1 ;- APPLY BITMASK |
ndiaz6 | 0:5d1489eaa51a | 23 | STR R2, [R0] ;/ |
ndiaz6 | 0:5d1489eaa51a | 24 | |
ndiaz6 | 0:5d1489eaa51a | 25 | ;INIT PINSEL1 |
ndiaz6 | 0:5d1489eaa51a | 26 | LDR R0, =0x4002C004 ;LOAD ADDRESS OF PINSEL1 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 27 | LDR R1, =0x00054015 ;LOAD BITMASK FOR PINSEL1 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 28 | LDR R2, [R0] ;\ |
ndiaz6 | 0:5d1489eaa51a | 29 | ORR R2, R1 ;- APPLY BITMASK |
ndiaz6 | 0:5d1489eaa51a | 30 | STR R2, [R0] ;/ |
ndiaz6 | 0:5d1489eaa51a | 31 | |
ndiaz6 | 0:5d1489eaa51a | 32 | ;INIT PINSEL3 |
ndiaz6 | 0:5d1489eaa51a | 33 | LDR R0, =0x4002C00C ;LOAD ADDRESS OF PINSEL3 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 34 | LDR R1, =0x00004510 ;LOAD BITMASK FOR PINSEL4 REGISTER |
ndiaz6 | 0:5d1489eaa51a | 35 | LDR R2, [R0] ;\ |
ndiaz6 | 0:5d1489eaa51a | 36 | ORR R2, R1 ;- APPLY BITMASK |
ndiaz6 | 0:5d1489eaa51a | 37 | STR R2, [R0] ;/ |
ndiaz6 | 0:5d1489eaa51a | 38 | |
ndiaz6 | 0:5d1489eaa51a | 39 | ;RETURN TO MAIN |
ndiaz6 | 0:5d1489eaa51a | 40 | POP {LR} |
ndiaz6 | 0:5d1489eaa51a | 41 | BX LR |
ndiaz6 | 0:5d1489eaa51a | 42 | END |