1. 程式人生 > >2018-2019-1 20165313 20165212 20165222 實驗二 韌體程式設計

2018-2019-1 20165313 20165212 20165222 實驗二 韌體程式設計

韌體程式設計-1-MDK

任務詳情:

參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.1-1.5安裝MDK,JLink驅動,注意,要用系統管理員身分執行uVision4,破解MDK(破解程式中target一定選ARM)

提交破解程式中產生LIC的截圖提交破解成功的截圖

實驗步驟:

這一步相當簡單,先根據實驗指導書安裝好MDK,再用註冊機生成LIC,複製貼上上去即可。

結果如下:

韌體程式設計-2-LED

1參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
2參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.9”完成LED實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
3實驗報告中分析程式碼

 結果截圖:

程式碼分析:

1, 系統初始化,中斷設定,使能所有中斷;

2,判斷按鍵,返回 boot 條件,確認是否進行程式下載;

3 ,GPIO_PuPdSel(0,0);將0號引腳設定為上拉,即在無輸入的情況下為0為高電平。GPIO_InOutSet(0,0);再將0號引腳設定為0,即為輸出引腳。然後是一個迴圈,使燈不停閃爍。在這迴圈裡包含了一個時延函式delay,包含了引數ms和i,當引數變化100*950時,即系統內i從0到949執行100次時,執行一次GPIO_SetVal(0,0);使0號引腳電平變為低電平,燈亮,在經過一個同樣的時延函式,執行GPIO_SetVal(0,1),使0號引腳電平為1,即為高電平,燈滅。因此就能形成led燈不斷閃爍。

 

韌體程式設計-3-UART

1.參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
2.參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.0”完成UART傳送與中斷接收實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
3.實驗報告中分析程式碼

實驗結果截圖:

程式碼分析:

1, 系統初始化,中斷設定,使能所有中斷;

2,判斷按鍵,返回 boot 條件,確認是否進行程式下載;

3,UART_Init(); 初始化uart。

4,UART_SendByte傳送一個字元,UART_SendString傳送字元,UART_SendNum傳送十進位制數,UART_SendHex傳送16進位制數。

5,進入迴圈程式,等待串列埠中斷到來並判斷資料是否接受完畢,若中斷到來,轉入執行串列埠中斷服務程式,待接收資料完畢,Z32將資料發回串列埠助手。