ti 的 dsp 為了提高安全效能,將很多關鍵暫存器作了保護處理。通過狀態暫存器 1(st1)的位6設定與復位,來決定是否允許dsp指令對關鍵暫存器進行操作。
這些關鍵暫存器包括器件**暫存器、flash暫存器、csm暫存器、pie 向量表、系統控制暫存器、gpio mux 暫存器、ecan 暫存器的一部分。
dsp由於在上電復位之後,狀態暫存器基本上都是清零,而這樣的狀態下正是上述特殊暫存器禁止改寫的狀態。為了能夠對這些特殊暫存器進行初始化,所以在對上述特殊暫存器進行改寫之前,一定要執行彙編指令asm(「eallow」)或者巨集定義eallow來設定狀態暫存器1的c6位。在設定完暫存器之後,一定要注意執行彙編指令asm(「edis」)或者巨集定義edis來清除狀態暫存器1 的c6 位。
在 device.h檔案中可以找到#define eallow asm(" eallow")語句。
TMS320F2812的EALLOW和EDIS指令
1 巨集eallow和巨集edis一般是配套使用,在使用f2812的過程中,經常會看到main 函式的開頭使用eallow這個巨集。之所以使用它,是有原因的。因為f2812的一些配置暫存器是受保護的,無法直接寫操作,eallow巨集的使用相當於去掉了這些配置寄存的保護傘,是的可以直接寫操作,而後使用...
DSP TMS320F2812的SPI使用總結
1.spi速率不能超過15m,超過後會出現嚴重誤碼 2.如果接收方式為中斷接收,spiccr字元長度控制位決定了中斷的字長。如字長為8,中斷等級為1,則每接收乙個位元組產生一次中斷。如字長為16,中斷等級為1,則每接收2個位元組產生一次中斷。3.注意主模式和從模式的極性一定要相同。主模式為上公升沿取...
F 中關於遞迴的思考
做電腦錢整整幾個小時終於搞懂了f 中的遞迴!終點是要把當前獲得的值,加入到記錄中並且傳遞到下一次的遞迴中。附上一小段f let originlist newlist let rec checkelemet originlist newlist match originlist with head t...