<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一種基于MCU內部Flash的在線仿真器設計方法

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-25 16:36 ? 次閱讀

摘要:提出了一種基于MCU內部Flash的仿真器設計方法,并完成了設計和仿真。

關鍵詞:微控制器 在線仿真 開發系統 Flash SRAM

由于市場對MCU功能的要求總是不斷變化和升級,MCU應用的領域也不斷擴展, 因此往往需要對最初的設計進行修改。Flash MCU與以往OTP/MASK MCU相比,最大的優點就在于可進行高達上萬次的擦寫操作,順應了MCU功能不斷修改的需求;另一方面,Flash MCU市場價格也在不斷下降。因此,許多OEM已將Flash MCU用于產品的批量生產。對于Flash MCU,基于內部Flash的在線仿真器更接近于程序真實的運行特性,程序調試的效果更好,效率更高。實際上,Flash MCU工作時Flash的延時、讀寫時充等特性是非常,程序存儲在MCU外部仿真板上的SRAM中,由額外的硬件邏輯來模擬Flash的這些特性是費時低 效的;同時將Flash和MCU內嵌的其他類型存儲器如SRAM、ROM等區分開來也是十分重要的。如果在程序的調試階段就可以反映出這特性,有且于實現 程序從仿真器到商用MCU芯片的無縫轉移。

1 關于Flash MCU

Flash MCU的構成如圖1所示,主要由CPU核、Flash IP及其控制模塊、SRAM IP及基控制模塊、WatchDog、PMU(Power Manage Unit,功耗管理單元)、I/O端口以及ISP在線編程接口等組成。不同功能的Flash MCU還包含一些各自獨特的應用模塊單元,如用于尋呼的Flash MCU所包含的解碼模塊。對于用來構成在線仿真器的Flash MCU還可能包括仿真接口單元。本文在討論Flash MCU的在線仿真時,指的都是包含仿真接口的Flash MCU。

Flash存儲器幾乎擁有現今追求個性化的用戶所需要的所有優點:掉電數據不丟失、快速的數據存取時間、電可擦除、容量大、在線(系統)可編程、價格低廉以及足夠多的擦寫次數的高可靠性等,已成為新一代嵌入式應用的首選存儲器。與Flash MCU相比,MASK(掩膜)MCU盡管在大指生產時仍具備一定價格優勢,但其升級不便的缺點,隨著今后Flash成本的進步降低和MCU功能需求的逐漸增多,將表現得更為顯著。

2 基于外部SRAM的MCU在線仿真器

MCU仿真器的一種常見做法是,將用戶的待調試程序(以下簡稱用戶程序)存儲在 MCU外部仿真板的SRAM(以下簡稱外部SRAM)中,在bond-out MCU的外部結構仿真監控硬件(以下簡稱外部仿真邏輯),通過監視和控制仿真接口信號即bond-out的信號,來獲取MCU的狀態,是指將MCU內部的 某種信號連接到封裝的管腳上,使得外部仿真邏輯可以監視和控制MCU內部的狀態。這種非商用芯片專用于構成在線仿真器,當用戶程序在仿真器中調試完成后, 編程到商用MCU芯片中,應用到用戶系統。在商用MCU中,這些仿真接口信號不會出現在芯片封裝的管腳上。

在Flash MCU沒有被廣泛應用之前,仿真器設計公司通常將用戶程序和監控程序都存儲在外部SRAM中,這種做法基本上可以反映SRAM MCU真實的運行情況,對用戶程序的調度效果影響不大。但是對于Flash MCU而言,則存在一定的問題。畢競SRAM和Flash在工藝和讀寫時序上相去甚遠,CPU運行存儲在SRAM和Flash中的程序,情況是完全不同 的。有可能出現程序存儲的仿真器的外部SRAM中運行良好,但是編程到商用MCU中工作起來卻不正常。隨著Flash MCU在 MCU市場中的比重越來越大,這一問題顯得越來越突出,有必要加以重視。

本文介紹的Flash MCU仿真器的設計方法,幾乎不增加MCU的仿真接口信號和芯片設計的復雜程度,就可以接近程序在商用MCU中的運行情況,實現用戶程序從仿真器到商用MCU的良好轉移。

3 基于MCU內部Flash的在線仿真器的一種設計方法

圖2是Flash MCU仿真器系統構成示意圖,其中的虛線接口信號是MCU的仿真接口,通常包括仿真使能信號,bond-out MCU中的CPU的地址、數據、讀/寫和取指等信號,以及少數幾個用于仿真的控制信號。仿真接口是Flash MCU與外部仿真邏輯之間的橋梁,使得外部仿真邏輯能夠監控MCU的內部狀態。

3.1 仿真器的工作原理

仿真器復位后,CPU開始運行存儲在MCU內部Flash(以下簡稱內部 Flash)中的用戶程序,外部仿真邏輯實時監測仿真接口信號,取得當前CPU運行指令的地址,判斷是否斷點。一旦遇到斷點,外部仿真邏輯停止用戶程序的 運行,切換程序運行的地址空間,開始運行存儲在外部SRA模塊的監控程序。監控程序取得MCU的當前狀態,并根據軟件的調試要求,改變MCU內部的一個或 多個寄存器的值,控制MCU的下一步運行。當監控程序完成使命,需要將程序的運行空間切換回用戶程序空間,CPU取指從外部回到內部,繼續運行用戶程序。 在用戶程序運行過程中,軟件通過并口發送的調試指令可以控制外部仿真邏輯,隨時打斷程序運行,或者單步調試,工作的過程與斷點相心。斷點、單步及軟件中斷 在下文中斷稱為程序中斷事件。

仿真器工作時,CPU的取指空間需要在內外存儲器之間反復切換。CPU地址空間劃分示意圖如圖3所示??傮w上,仿真器的工作受圖4所示的狀態機控制。該狀態機共有四個狀態:

·用戶程序運行態(簡稱用戶態)

仿真器復位后,處在運行用戶程序的狀態。在該狀態下,CPU運行存儲在內部Flash中的用戶程序;外部仿真邏輯實時監測仿真接口,等待程序中斷事件的發生,進入下一狀態-跳轉態。
審核編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16100

    瀏覽量

    344555
  • FlaSh
    +關注

    關注

    10

    文章

    1562

    瀏覽量

    146818
  • 存儲
    +關注

    關注

    12

    文章

    3892

    瀏覽量

    84795
  • 仿真器
    +關注

    關注

    14

    文章

    994

    瀏覽量

    83124
  • 芯片封裝
    +關注

    關注

    10

    文章

    413

    瀏覽量

    30194
收藏 人收藏

    評論

    相關推薦

    為什么需要仿真器

    為什么需要仿真器  軟件模擬和目標 Monitor提供了一種經濟的調試手段,對于很多設計來說已經足夠。但是也有很多場合,需要利用仿真器來找到程序錯誤。 無論在哪
    發表于 08-11 14:18

    ARM仿真器內部和外部模式

    ROM中。為了有效地仿真這種芯片,要求仿真器使用bondout或增強型Hooks芯片?! ⊥獠磕J绞钱敵绦虼鎯?b class='flag-5'>器,可能還有部分數據存儲,位于MCU
    發表于 08-11 14:19

    基于外部SRAM的MCU在線仿真器

    基于外部SRAM的MCU在線仿真器MCU 仿真器一種常見做法是,將用戶的待調試程序(以下簡稱用
    發表于 03-29 16:09

    基于外部SRAM的MCU在線仿真器

    基于外部SRAM的MCU在線仿真器MCU 仿真器一種常見做法是,將用戶的待調試程序(以下簡稱用
    發表于 03-29 16:14

    CC DeBuger 仿真器是如何往CC1110中的Flash寫入固件文件的?

    和CPU SFR方式,但其都是用代碼實現這個過程的。我想知道仿真器是以一種什么樣的方式將固件文件寫入Flash的。(數據手冊中說是以一種類似SPI的協議方式燒錄)求講解?我用邏輯分析儀
    發表于 11-03 16:59

    新手入門必備:ARM仿真器是干啥用的?

    編譯,以一種標準格式生成目標代碼文件,比如Intel HEX。這個目標代碼將被存儲在最終產品的非揮發存儲,比如EPROM或FLASH中。2.仿真器是什么?
    發表于 08-27 09:45

    哪里有51在線仿真器教程

    ①是51單片機的在線硬件仿真器教程(pdf、視頻),因為我最熟希的就是51。②不要僅僅只有keil軟件單仿真那種,因為軟件仿真我也會些簡單
    發表于 05-29 05:36

    C6747 FLASH燒寫程序后,仿真器連接不上的原因?

    原先在線調試仿真器的連接直都是沒有問題的,燒寫FLASH后,也提示燒寫成功,但是上電重啟后,沒有工作,再連接仿真器怎么都連接不上,
    發表于 07-27 14:04

    JTAG仿真器連接不上的原因及解決辦法?

    誰遇到過類似問題?另外進步討論下:1 使用ti dsp芯片時,經常碰到連不上仿真器的情況(自己設計的電路板),ti提供的開發板這方面還是比較穩定的;2 仿真器通過jtag連接dsp芯片時,是
    發表于 07-29 11:22

    編程仿真器的區別

    對于51系統來說,很容易理解編程仿真器。通俗的說,仿真器是用來調試仿真的,編程是用來批量生產時對M
    發表于 07-19 07:21

    介紹一種嵌入式系統仿真方法

    /計數等功能。本文介紹一種嵌入式系統仿真方法,通過一種特殊設計的指令集仿真器ISS將軟件調試
    發表于 11-08 06:16

    利用DAP仿真器和串口ISP鍵下載程序

    KEIL集成開發環境安裝過程必須安裝MCU庫,路徑不能含中文可利用DAP仿真器和串口ISP鍵下載程序,配置BOOT0和BOOT1引腳可選擇啟動方式三啟動方式:
    發表于 02-10 07:33

    關于Flash MCU仿真器的幾種設計方法詳解

    中,由額外的硬件邏輯來模擬Flash的這些特性是費時低效的;同時將FlashMCU內嵌的其他類型存儲器如SRAM、ROM等區分開來也是十分重要的。如果在程序的調試階段就可以反映出這特性,有且于實現程序從
    發表于 08-05 09:58 ?3512次閱讀

    QB-788061 在線仿真器

    QB-788061 在線仿真器
    發表于 04-20 19:07 ?0次下載
    QB-788061 <b class='flag-5'>在線</b><b class='flag-5'>仿真器</b>

    QB-V850ERS2在線仿真器

    QB-V850ERS2 在線仿真器
    發表于 05-04 20:00 ?0次下載
    QB-V850ERS2<b class='flag-5'>在線</b><b class='flag-5'>仿真器</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>