智慧復位——程式控制MCU復位
微處理器復位方法:
硬體引腳RESET復位; 用看門狗復位; 程式控制復位。
軟體復位實現方法
首先宣告一個函式指標,指向復位後要開始執行指令的位置:
void (*app_start)(void) = 0x0000;
之後,在自己的程式中想復位的地方呼叫app_start();也就是跳到0x0000位置執行指令。
可以根據不同MCU復位的地址,修改上邊的地址(0x0000)。
實際上你可以跳到任何位置執行或呼叫相應指令或函式。
例項測試
老套路,發煙測試:以Arduino為開發環境來測試。
注意:在AVR微處理器中,為了使Arduino復位時不再進入引導區,使AVR將BOOTRST設定為1。
使用函式指標進行軟體復位的程式碼如下,你能想象到下邊的程式會使LED燈閃亮嗎?
// 0. 引腳定義const int LED_PIN 13 // 定義LED引腳為13號資料引腳(DIG13)static void (*reset_this_CPU)(void) = 0x0000; // 復位本CPU函式指標// 1. 初始化void setup() { pinMode(LED_PIN, OUTPUT); // 初始化D13為輸出 digitalWrite(LED_PIN, HIGH); // D13輸出高電平 delay(1000); // 延時1秒 digitalWrite(LED_PIN, LOW); // D13輸出低電平 delay(1000); // 延時1秒 reset_this_CPU(); // 跳到0x0000地址指標,也就是復位}// 2. 迴圈void loop() { // 此處什麼也沒有啊!}
結論
透過本方法,可以透過軟體方式進行復位,也可以用這個函式指標的方法呼叫任何函式。(實在不理解,請翻一下《微機原理》,謝謝。。。)
感謝一直關注著禾灮成長進步的朋友們。你們的信任、支援和鼓勵,鞭策著我們一路走到了今天。 感謝所有的合作伙伴,我們相互促進,共同見證了彼此的成長。 感謝所有曾經在禾灮彼此倚靠、相互鼓勵、攜手同心、砥礪同行的兄弟姐妹。這裡承載了我們的青春與熱血。 禾灮,感謝有你。 未來,我們將一如既往,砥礪前行。 禾灮·小楊 2018.08.06
作者:禾灮
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4798/viewspace-2816741/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- UFS之復位
- AT89S52微控制器復位電路理解
- 復位電路的設計
- 就像MCU有8位和16位 如果執行緒以執行緒
- STM32G081KBU6 32位微控制器 (MCU)應用
- 32位 雙核 LPC4357FET256 微控制器 MCU引數
- 從CVE復現看棧溢位漏洞利用
- (6)同步復位非同步釋放電路非同步
- MT2502智慧穿戴模組上按PWRKEY關機和復位問題
- 汽車微控制器SPC5744PFK1AMLQ9 32位雙核MCU
- 嵌入式STM32F098RCH6 ARM 32 位 MCU 微控制器
- 32位微控制器 STM32F072R8T6 嵌入式MCU
- 嵌入式應用,LPC51U68JBD64 32位 MCU 微控制器
- 32 位 Cortex-M4,STM32F407VGT6TR微控制器(MCU)
- 自動化,如何無埋點形式復位場景
- 從TCP協議的原理論rst復位攻擊TCP協議
- 二進位制修復中文亂碼的問題
- CODESYS V3遠端堆溢位漏洞復現(環境配置+復現過程)
- 兩行程式碼修復瞭解析MySQL8.x binlog錯位的問題!!行程MySql
- 李開復:AI能在15年內取代40%~50%崗位AI
- DDL操作導致欄位長度變更修復方案
- 從零開始復現 DIR-815 棧溢位漏洞
- TechInsights:預計2024年全球智慧手機市場將恢復低個位數增長
- redis cluster 故障後,主從位於不同節點的修復。Redis
- 物聯網多應用刺激32位MCU迅猛增長
- DLink 815路由器棧溢位漏洞分析與復現路由器
- 非同步復位同步釋放在實際專案中的應用非同步
- 傑裡之.AC696 系列測試盒修改復位腳【篇】
- java水仙花數程式碼,三位四位五位Java
- 聊聊如何修復springboot使maven-resources-plugin佔位符失效問題Spring BootMavenPlugin
- 家電電動控制MCU
- Xilinx-ZYNQ7000系列-學習筆記(3):系統復位與啟動筆記
- vue 輸入框輸入4位一空格,控制16位有效字元Vue字元
- 亞馬遜修復智慧家居13個漏洞:防止黑客完全控制裝置亞馬遜黑客
- 李開復、LeCun、喬丹三位AI大牛談AI現狀與未來LeCunAI
- Android熱修復原理(一)熱修復框架對比和程式碼修復Android框架
- 與控制檔案有關的恢復
- 控制資料的小數位數 java / jsJavaJS