init.s
Upload User: yzchenlin
Upload Date: 2022-03-09
Package Size: 712k
Code Size: 1k
Development Platform:

C/C++

  1. ;=========================================
  2. ; NAME:  INIT.S
  3. ; DESC:  C start up codes      
  4. ; HISTORY: 2007.02.14
  5. ;=========================================
  6. IMPORT  testMain    ; The main entry of C program 
  7. AREA    Init,CODE,READONLY
  8. ENTRY 
  9.     b ResetHandler ;
  10. HandlerUndef      
  11. b HandlerUndef ;handler for Undefined mode
  12. HandlerSWI
  13. b HandlerSWI ;handler for SWI interrupt
  14. HandlerPabort
  15. b HandlerPabort ;handler for PAbort
  16. HandlerDabort
  17. b HandlerDabort ;handler for DAbort
  18. b . ;reserved
  19. HandlerIRQ
  20. b HandlerIRQ ;handler for IRQ interrupt
  21. HandlerFIQ  
  22. b HandlerFIQ ;handler for FIQ interrupt
  23. ResetHandler
  24.   
  25. ldr r0,=0x53000000       ;Watch-dog timer mode                              
  26. ldr r1,=0x0         
  27. str r1,[r0]
  28. ldr r0,=0x4a000008     ;Interrupt mask control
  29. ldr r1,=0xffffffff   ;all interrupt disable
  30. str r1,[r0]
  31. ldr r0,=0x4a00001c    ;Interrupt sub mask
  32. ldr r1,=0x7ff ;all sub interrupt disable
  33. str r1,[r0]
  34. ldr r0,=0x4c000000      ;PLL lock time counter
  35. ldr r1,=0xffffff ;To adjust the LOCKTIME register
  36. str r1,[r0]
  37.         
  38. ldr r0,=0x4c000004      ;MPLL Control          
  39. ldr r1,=((0x5c <<12)+(0x4<<4)+0x2)  ;Fin=12MHz,Fout=50MHz
  40. str r1,[r0]
  41. bl testMain         ;c program.
  42.     b .
  43.    
  44.     END