【DSP】DSP2833x.h中定義的指令EINT、DINT、ERTM、DRTM、EALLOW、EDIS、ESTOP0的含義

今天接觸了DSP中一些特殊的指令,在此總結一下:

首先意識到,這些其實是彙編指令

1、EINT、DINT

作用:EINT開中斷,DINT關中斷

2、ERTM、DRTM

作用:ERTM使能調試事件,DRTM禁止調試事件

3、ESTOP0

這是一個彙編指令,是用於DSP仿真的,它有兩個方面的知識:

(1)當用仿真器連接時如果ESTOP0置位(ESTOP0=1),那麼整個DSP停止運行(相當於斷電指令,程序跑到這裏就會停止)。(2)當不用仿真程序時,在程序中寫這條指令相當於NOP(空指令),只是佔了CPU的一個週期而已

4、EALLOW和EDIS

作用:EALLOW設置狀態寄存器1的C6位,此時處於禁寫狀態的寄存器解禁

           EDIS清除狀態寄存器1的C6位,寄存器重新恢復禁止寫入狀態

詳解:DSP由於在上電覆位之後,狀態寄存器基本上都是清零,而這樣的狀態下正是上述特殊寄存器禁止改寫的狀態。爲了能夠對這些特殊寄存器進行初始化,所以在對上述特殊寄存器進行改寫之前,一定要執行彙編指令asm(“EALLOW”)或者宏定義EALLOW來設置狀態寄存器1的C6位,在設置完寄存器之後,一定要注意執行彙編指令asm(“EDIS”)或者宏定義EDIS來清除狀態寄存器1的C6位,來防止雜散代碼或指針破壞寄存器內容。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章