這是手冊的資料,我們看到,要設置svc模式,就是要把我們的cpsr的后五位設置為0b10011即可。Cpsr的結構:
接下來,我們就來把cpsr的后五位設置為0b10011.
設置的思路:
首先把這五位清零(bic指令),使用orr往這五位寫入0b10011.當然,這些操作的實現必須借助mrs和msr兩個指令來完成(cpsr和spsr不能直接訪問).
操作如下:
看運行的結果,設置成功。
看門狗實現
看門狗的結構圖:
6410的看門狗的資料:
我們通過上面的看門狗的控制寄存器的設置就可以關閉看門狗。【0】位的說明,我們只要把WTCON的第0位設置為0,就能關閉看門狗。【2】位是看門狗超時產生中斷的,設置為0,超時也就不會產生中斷了。
接下來是代碼實現:
三、關閉中斷
要關閉中斷,就是把cpsr對應的中斷位:7和6位的中斷位I和F設置為1.即可。還有就是設置中斷屏蔽寄存器,把中斷給屏蔽掉。
在我們的6410的芯片手冊里12章:interrupt controller里有這樣的一個寄存器:
最后一個,他是使能中斷的。我們接下去看看他有沒屏蔽作用的設置。
我們從上面看到,中斷源被分為了兩組。然后我們還注意到方框的description里的中間的內容,知道這寄存器只是使能,屏蔽必須使用VICINTENCLEAR Register.接下來看該寄存器。
我們可以看到,他也有兩組中斷。當我們往里面寫入0的時候是沒有影響的。寫入全1的時候才能關閉中斷。
4、關閉mmu和cache
Cache是一種容量小但是存取速度非常快的存儲器,它是保存最近用到的存儲器中數據的拷貝。對于程序員來說,Cache是透明的。它自動決定要保存哪些數據,覆蓋哪些數據。按照功能劃分:
*I-Cache:指令Cache,用于存放指令。
*D-Cache:數據Cache,用于存放數據。
在我們的OK6410芯片上面同樣有cache結構:
從上圖知道,I-cache和D-cache都是16KB的。
Mmu的作用是虛擬地址到物理地址的轉換。
上一篇:7.點亮led的操作
下一篇:4.協處理器訪問指令
推薦閱讀最新更新時間:2025-04-19 19:44
設計資源 培訓 開發板 精華推薦
- 使用 Analog Devices 的 LTC3526BEDC-2 的參考設計
- LTC3350IUHF 25V 至 35V、6.4A 超級電容器充電器的典型應用電路,具有 2A 輸入電流限制和 28V、50W 備份模式
- LT5554 演示板,寬帶超低失真數字可編程 VGA
- CN0243
- 使用 ROHM Semiconductor 的 BD33GA5WEFJ 的參考設計
- EVAL-AD7606-4SDZ,用于評估 AD7606-4、16 位同步采樣、4 通道、SAR ADC 的評估板
- 顏色傳感器TCS230模塊(程序+芯片資料+原理圖)
- 使用 Richtek Technology Corporation 的 RT8536 的參考設計
- 使用 MaxLinear, Inc 的 SP6122 的參考設計
- 用于便攜式的 1.2V DC 到 DC 單路輸出電源