DSP281x_CodeStartBranch.asm
上传用户:qingfan3
上传日期:2014-10-27
资源大小:31439k
文件大小:2k
源码类别:

DSP编程

开发平台:

C/C++

  1. ;//###########################################################################
  2. ;//
  3. ;// FILE:  DSP281x_CodeStartBranch.asm
  4. ;//
  5. ;// TITLE: Branch for redirecting code execution after boot. 
  6. ;//
  7. ;//###########################################################################
  8. ;//
  9. ;//  Ver | dd mmm yyyy | Who  | Description of changes
  10. ;// =====|=============|======|===============================================
  11. ;//  1.00| 11 Sep 03   | L.H. | Updated based on D.A source to allow 
  12. ;//      |             |      | disabling the watchdog before branching to
  13. ;//      |             |      | the C init routine.  This is useful if the
  14. ;//      |             |      | watchdog is timing out before main() is reached.
  15. ;//########################################################################### 
  16. ***********************************************************************
  17. WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0
  18.     .ref _c_int00
  19. ***********************************************************************
  20. * Function: codestart section
  21. *
  22. * Description: Branch to code starting point
  23. ***********************************************************************
  24.     .sect "codestart"
  25. code_start:
  26.     .if WD_DISABLE == 1
  27.         LB wd_disable       ;Branch to watchdog disable code
  28.     .else
  29.         LB _c_int00         ;Branch to start of boot.asm in RTS library
  30.     .endif
  31. ;end codestart section
  32. ***********************************************************************
  33. * Function: wd_disable
  34. *
  35. * Description: Disables the watchdog timer
  36. ***********************************************************************
  37.     .if WD_DISABLE == 1
  38.     .text
  39. wd_disable:
  40.     SETC OBJMODE        ;Set OBJMODE for 28x object code
  41.     EALLOW              ;Enable EALLOW protected register access
  42.     MOVZ DP, #7029h>>6  ;Set data page for WDCR register
  43.     MOV @7029h, #0068h  ;Set WDDIS bit in WDCR to disable WD
  44.     EDIS                ;Disable EALLOW protected register access
  45.     LB _c_int00         ;Branch to start of boot.asm in RTS library
  46.     .endif
  47. ;end wd_disable
  48. .end
  49. ; end of file CodeStartBranch.asm