歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Realview MDK 中調試腳本的詳細解析

Realview MDK 中調試腳本的詳細解析

日期:2017/3/1 10:20:13   编辑:Linux編程
和其他集成開發環境一樣,Realview MDK 中也使用了調試腳本。調試腳本除了可以初始化軟硬件的調試環境以外,還可以初始化Flash 的燒寫環境,甚至可以提供信號函數模擬片上外圍設備。所以在使用Realview MDK 調試和燒寫的過程中,到處都有調試腳本的身影。下面將分三個方面詳細地研究調試腳本的編寫和使用。在介紹調試腳本之前,先必須了解Realview MDK 預定義的一些常用命令和函數的用法。

1. 常用預定義命令的說明及注意事項:
下表是一些常用的預定義命令和函數的語法格式及說明。

預定義的命令語法

描述

MAP

開始地址, 結束地址 在內存中映射一段存儲區域

Go

開始地址,結束地址 程序從開始地址運行,到結束地址停止

DIR VTREG

顯示所有的CUP 引腳寄存器

預定義的函數

描述

void rwatch (ulong address)

信號函數被延時,直到函數參數地址被讀取

void wwatch (ulong address)

信號函數被延時,直到函數參數地址被寫入

void swatch (float seconds)

信號函數延時參數指定的時間,單位為S

void twatch (ulong states)

信號函數延時參數指定的CUP 周期

uchar _RBYTE (address)

在參數指定的地址處讀取1 個字節的數據

ulong _RWORD (address)

在參數指定的地址處讀取1 個整型的數據

ulong _RDWORD (address)

在參數指定的地址處讀取1 個長整型的數據

uchar _WBYTE (address, uchar val)

向參數指定的地址處寫入1 個字節的數據

void _WWORD (address, uint val)

向參數指定的地址處寫入1 個整型的數據

void _WDWORD (address, ulong val)

向參數指定的地址處寫入1 個長整型的數據


2. 調試腳本在硬件仿真中的應用

Realview MDK 編譯鏈接好的程序在硬件上運行之前,要求硬件具有合適的環境(例如,時鐘的配置、存儲控制的配置等),一般這些工作是由啟動代碼完成
的。在Realview MDK 中,通過調試腳本使用MDK 預先定義好的寄存器讀寫命名設置硬件環境。這一工作在硬件調試之前是必須進行的。下面是一個初始化硬

件環境的調試腳本函數:

FUNC void Setup (void)
{
_WWORD(0xfffffd44 ,0x00008000); // 配置看門狗模式寄存器;
_WWORD(0xfffffd60 ,0x00320100); // 配置電壓效驗模式寄存器;
_WWORD(0xfffffc20 ,0x00000601); // 配置主晶振寄存器;
_WWORD(0xfffffc2c ,0x00191C05); // 配置鎖相環寄存器;
_WWORD(0xfffffc30 ,0x00000007); // 配置主時鐘寄存器;
_WWORD(0xfffffd08 ,0xa5000001); // 配置復位控制模式寄存器;
pc = 0x200000; // 設置PC 的值。
}

Copyright © Linux教程網 All Rights Reserved