廣州致遠(yuǎn)電子股份有限公司
初始化宏是嵌入式仿真經(jīng)常會(huì)遇到的問題。合適的初始化宏能夠快速、準(zhǔn)確地解決仿真過程中遇到的一些問題,例如正確的PLL設(shè)置、看門狗的關(guān)閉、內(nèi)存映射分配、快速Flash下載等問題。
TKScope仿真器是基于芯片為核心的仿真設(shè)計(jì)理念,已經(jīng)為數(shù)百種芯片提供了完善的初始化宏文件。TKScope采用的是圖形化的初始化宏配置界面,非常直觀,可操作性強(qiáng),用戶可以任意修改或者添加初始化宏文件。
TKScope內(nèi)置了全面的初始化文件解釋執(zhí)行器,提供了完善的初始化操作,可在復(fù)位前后/運(yùn)行前后/Flash下載前后/初始化時(shí)期進(jìn)行靈活
的系統(tǒng)設(shè)置,包括內(nèi)存讀寫/設(shè)置斷點(diǎn)/單步運(yùn)行/全速運(yùn)行/時(shí)鐘設(shè)置/ARM初始化/延時(shí)/信息提示等操作。
本文以TKScope仿真器如何設(shè)置內(nèi)存屬性為例,介紹初始化的各個(gè)設(shè)置界面以及操作方法。
TKScope仿真器的設(shè)置界面如圖1所示,點(diǎn)擊圖1中的[初始化宏]選項(xiàng)即可進(jìn)入到初始化宏界面,如圖2所示。
TKScope已經(jīng)為數(shù)百種芯片提供了常用的初始化宏文件,用戶可以直接使用,也可以在此基礎(chǔ)上添加或修改,或者加載其他的初始化文件。
圖1 TKScope仿真器設(shè)置界面
圖2 初始化宏界面
如圖2所示,TKScope仿真器的初始化宏界面是圖形化界面,操作非常直觀、簡(jiǎn)捷。TKScope提供了[添加]、[刪除]、[插入]、[更新]等選項(xiàng),方便用戶添加、修改、刪除初始化操作。初始化操作的時(shí)期和類型是可選的,具體的地址、數(shù)據(jù)等信息用戶自行填寫。
例如,用戶需要在復(fù)位后寫數(shù)據(jù)到BCFG3寄存器,那么用戶在[時(shí)期]欄內(nèi)選擇復(fù)位后,[類型]欄內(nèi)選擇寫32位,[地址]欄內(nèi)輸入BCFG3寄存器的地址,[數(shù)據(jù)]欄內(nèi)輸入具體寫入的數(shù)值,[注解]欄內(nèi)可以寫入備注信息。初始化操作信息全部填寫完成后,如圖3所示。此時(shí),點(diǎn)擊[添加]即可添加到初始化宏界面的信息欄內(nèi)。
圖3 初始化操作信息
如果用戶需要修改某個(gè)初始化操作信息,那么在信息欄內(nèi)選中相應(yīng)的信息條目,然后在圖3的界面中修改,之后點(diǎn)擊[更新]即可完成修改。同時(shí),TKScope初始化界面提供了[上升]、[下降]操作,便于用戶排序。
用戶在使用TKScope仿真器進(jìn)行仿真的時(shí)候,芯片上往往會(huì)存在一些不可訪問的資源,如不存在的地址(訪問了可能會(huì)引起異常),F(xiàn)IFO(訪問了會(huì)改變FIFO的狀態(tài)),讀取自動(dòng)清零的標(biāo)志位(訪問了會(huì)破壞用戶原先的狀態(tài))。通常我們使用的32位芯片,可能會(huì)存在一些外置等資源只能使用32位、16位或8位方式去訪問。對(duì)于以上兩個(gè)問題,TKScope仿真器為用戶提供了完善的解決方案,保證仿真過程中系統(tǒng)的正常運(yùn)作。
用戶可以在初始化宏界面進(jìn)行內(nèi)存屬性的設(shè)置,這樣就可以避免上述問題的出現(xiàn)。打開初始化宏界面,[時(shí)期]欄內(nèi)選擇初始化,[類型]欄內(nèi)選擇內(nèi)存屬性,[地址]和[尺寸]根據(jù)實(shí)際情況填寫,然后選擇相應(yīng)的屬性和讀寫尺寸,如圖4所示。
圖4 內(nèi)存屬性設(shè)置
關(guān)于讀寫屬性和讀寫尺寸的意義詳見表1和表2。
表1 讀寫屬性的意義
表2 讀寫尺寸的意義
如圖5所示是最終完成的內(nèi)存屬性設(shè)置界面,內(nèi)存屬性指定為以下各個(gè)選項(xiàng):
◆定義區(qū)域0x00000000~0x00004000為RAM,可以任意位訪問,在硬件自檢的時(shí)候?qū)Υ藚^(qū)域進(jìn)行檢查;
◆定義區(qū)域0x20000000~0x20010000為只讀屬性,只能8位讀取,仿真器只可以對(duì)此區(qū)域進(jìn)行8位方式讀取;
◆定義區(qū)域0x40000000~0x40010000為只寫屬性,只能16位寫入,仿真器只可以對(duì)此區(qū)域按16位方式寫入;
◆定義區(qū)域0x60000000~0x60010000為讀寫屬性,只能32位寫入,仿真器對(duì)此操作訪問時(shí)將按照32位方式進(jìn)行;
◆定義區(qū)域0x80000000~0x80080000為讀寫屬性,可以任意位訪問,硬件自檢不對(duì)此區(qū)域進(jìn)行檢查。
圖5 內(nèi)存屬性設(shè)置界面
TKScope初始化宏操作提供了很多實(shí)用性的功能設(shè)置,類似內(nèi)存屬性設(shè)置功能,比如設(shè)置JTAG頻率,寫IR、DR寄存器等。用戶可以選擇[時(shí)期]內(nèi)的各個(gè)時(shí)期,然后在[類型]內(nèi)查看相應(yīng)時(shí)期對(duì)應(yīng)的各種類型操作,相信一定有您需要的。TKScope在保證整體仿真效果的同時(shí),非常注重細(xì)節(jié)的設(shè)計(jì),讓用戶在仿真過程中的細(xì)微處體驗(yàn)到我們的用心和專心。