Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 1.56 KB | None | 0 0
  1.     b reset
  2.     b hang
  3.     b hang
  4.     b hang
  5.  
  6.     b hang
  7.     b hang
  8.     b hang
  9.     b hang
  10.  
  11.     b hang
  12.     b hang
  13.     b hang
  14.     b hang
  15.  
  16.     b hang
  17.     b hang
  18.     b hang
  19.     b hang
  20.  
  21.     TIMER_CR     EQU 8   ; Control Register, TimerXControl
  22.     TIMER_INTCLR EQU 0xC ; Interrupt Clear Register, TimerXIntClr
  23. reset:
  24.     mov sp, #0x20000
  25. ;****************************************
  26. ;*         Enable Timer0 and IRQs       *
  27. ;****************************************
  28.     ldr r1, [TIMER_BASE]
  29.     add r1, TIMER_CR
  30.     mov r0, #0
  31.     str r0, [r1]
  32.  
  33.     ldr r0, [TIMER_COUNT]
  34.     ldr r1, [TIMER_BASE]
  35.     str r0, [r1]
  36.     ldr r1, [TIMER_BASE]
  37.     add r1, TIMER_INTCLR
  38.     mov r2, #0
  39.     str r2, [r1]
  40.  
  41.     mov r0, #0xE2 ; Timer Enable, Periodic Mode, IRQ ON, Prescale = 0, 32 bit, Wrapping Mode
  42.     ldr r1, [TIMER_BASE]
  43.     add r1, TIMER_CR
  44.     str r0, [r1]
  45.  
  46.     mrs r0, cpsr
  47.     bic r0, r0, #0x80 ; Clear IRQ Disable
  48.     msr cpsr_c, r0
  49.  
  50.     b  mainloop
  51.     TIMER_BASE: dd 0x101E2000
  52.     TIMER_COUNT: dd 1000000
  53. hang:
  54.     b hang
  55. ;****************************************
  56. ;*            Kernel Mainloop           *
  57. ;****************************************
  58. mainloop:
  59.     ldr r1, [pc, 4]
  60.     bl uart_put32
  61.     b mainloop
  62.     dd 0x50505050
  63. ;****************************************
  64. ;* UART Write 32 Bit Value              *
  65. ;* Input: R1 Value to be written        *
  66. ;* Output: None                         *
  67. ;****************************************
  68. uart_put32:
  69.     ldr r0, [pc, 4]   ; PC + 16
  70.     str r1, [r0]
  71.     bx lr
  72.     dd 0x101f1000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement