TW202127234A - 微控制器 - Google Patents

微控制器 Download PDF

Info

Publication number
TW202127234A
TW202127234A TW108148541A TW108148541A TW202127234A TW 202127234 A TW202127234 A TW 202127234A TW 108148541 A TW108148541 A TW 108148541A TW 108148541 A TW108148541 A TW 108148541A TW 202127234 A TW202127234 A TW 202127234A
Authority
TW
Taiwan
Prior art keywords
microcontroller
access
slave
item
patent application
Prior art date
Application number
TW108148541A
Other languages
English (en)
Other versions
TWI709907B (zh
Inventor
馬紀哲
Original Assignee
新唐科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW108148541A priority Critical patent/TWI709907B/zh
Application granted granted Critical
Publication of TWI709907B publication Critical patent/TWI709907B/zh
Priority to CN202011560867.4A priority patent/CN113127291B/zh
Publication of TW202127234A publication Critical patent/TW202127234A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種微控制器,包括一從裝置、一主裝置以及一匯流排。從裝置根據一存取指令,存取一儲存裝置。主裝置執行一程式碼,用以提供存取指令。匯流排耦接於從裝置與主裝置之間,用以傳送存取指令予從裝置。當一觸發事件發生時,主裝置監控儲存裝置的存取狀態,用以產生一監控結果予一外部裝置。

Description

微控制器
本發明係有關於一種微控制器,特別是有關於一種監控本身的儲存裝置的存取狀態的微控制器。
隨著科技的進步,電子裝置的種類及功能愈來愈多。一般電子裝置內部具有一微控制器。該微控制器係根據本身內部的程式碼而動作。當程式碼具有錯誤(bug)時,微控制器將無法正常工作。
本發明提供一種微控制器,包括一從裝置、一主裝置以及一匯流排。從裝置根據一存取指令,存取一儲存裝置。主裝置執行一程式碼,用以提供存取指令。匯流排耦接於從裝置與主裝置之間,用以傳送存取指令予從裝置。當一觸發事件發生時,主裝置監控儲存裝置的存取狀態,用以產生一監控結果予一外部裝置。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之操作系統的示意圖。如圖所示,操作系統100包括一外部裝置110、一連接器120以及一微控制器130。外部裝置110透過連接器120與微控制器130溝通。在本實施例中,外部裝置110分析微控制器130所提供的參數組,用以供使用者判斷微控制器130內部的程式碼的流程是否正確。本發明並不限定外部裝置110的種類。在一可能實施例中,外部裝置110係為一電腦設備。在此例中,外部裝置110可能安裝一監控應用程式。當使用者開啟監控應用程式時,外部裝置110便根據微控制器130所提供的參數組,呈現一分析畫面供使用者參考。
連接器120耦接於外部裝置110與微控制器130之間。在本實施例中,連接器120具有傳輸介面121與122。傳輸介面121用以耦接外部裝置110。傳輸介面122用以耦接微控制器130。本發明並不限定傳輸介面121及122的種類。在一可能實施例中,傳輸介面121係為一USB介面。在其它實施例中,傳輸介面121的種類可能相同或不同於傳輸介面122的種類。
在一可能實施例中,連接器120係作為一金鑰(key)。透過連接器120,外部裝置110才能對微控制器130進行存取。同樣地,透過連接器120,微控制器130才會提供相關參數組予外部裝置110。在其它實施例中,連接器120可能整合於外部裝置110或微控制器130之中。在一些實施例中,連接器120可省略。在此例中,外部裝置110及微控制器130具有加密及解密功能,以提高安全性。
微控制器130透過連接器120與外部裝置110溝通。當一觸發事件發生時,微控制器130監控本身內部的儲存裝置的存取狀態,並提供一監控結果予外部裝置110。在一可能實施例中,觸發事件係指一按鈕(未顯示)被按下。該按鈕可能設置於微控制器130之中。當使用者按下按鈕時,微控制器130便進行一監控操作。在另一可能實施例中,觸發事件係指外部裝置110發出一監控觸發。在此例中,當使用者開啟外部裝置110的一監控應用程式時,外部裝置110發出該監控觸發,用以命令微控制器130進行一監控操作。
由於使用者根據微控制器130的監控結果,得知微控制器130內部的儲存裝置的存取狀態,故當微控制器130內部的儲存裝置的存取狀態不符合預設值時,使用者可快速地找出異常之處,並進行除錯(debug)。再者,由於微控制器130只監控儲存裝置的存取狀態,故只需二進位格式檔(binary file),便可得知資料流(data flow),並且外部裝置110並不需具有來源碼(source code),便可重建出微控制器130所執行的程式流程,因而簡化除錯的過程。
第2圖為本發明之微控制器的示意圖。如圖所示,微控制器200包括一主裝置210、從裝置220、230、匯流排240及250。主裝置210執行一程式碼PRC,用以發出存取指令CM1 及CM2 。本發明並不限定主裝置210的架構。任何可發出存取指令的裝置,均可作為主裝置210。在一可能實施例中,主裝置210係為一中央處理器(CPU)或是一週邊記憶體直接存取控制器(Peripheral Direct Memory Access controller;PDMA controller)。
從裝置220根據存取指令CM1 ,存取一儲存裝置221。本發明並不限定儲存裝置的數量。在其它實施例中,從裝置220具有更多的儲存裝置。另外,在本實施例中,儲存裝置221係整合於從裝置220中,但並非用以限制本發明。在其它實施例中,儲存裝置221可能獨立於從裝置220之外。在一可能實施例中,儲存裝置221包括至少一暫存器(register)。
從裝置230根據存取指令CM2 ,存取儲存裝置231及232之至少一者。在其它實施例中,從裝置230具有更多或更少的儲存裝置。另外,在本實施例中,儲存裝置231及232係整合於從裝置230中,但並非用以限制本發明。在其它實施例中,儲存裝置231及232之至少一者獨立於從裝置230之外。在一可能實施例中,儲存裝置231及232均包括至少一暫存器(register)。
本發明並不限定從裝置220及230的種類。從裝置220的種類可能相同或不同於從裝置230的種類。在一可能實施例中,從裝置220係為一積體電路間 (Inter-Integrated Circuit;I2C)電路,從裝置220係為一通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter;UART)。
匯流排240耦接於從裝置220與主裝置210之間,用以傳送存取指令CM1 。匯流排250耦接於從裝置230與主裝置210之間,用以傳送存取指令CM2 。本發明並不限定匯流排240及250的種類。匯流排240及250的種類分別對應於從裝置220及230的傳輸介面。舉例而言,假設,從裝置220係為一I2C電路,並且從裝置220係為一UART。在此例中,匯流排240為一I2C匯流排,並且匯流排250為一UART匯流排。
本發明並不限定微控制器200的從裝置的數量。在其它實施例中,微控制器200可能具有更多或更少的從裝置。在此例中,匯流排的數量也會隨著從裝置的數量而變化。舉例而言,當微控制器200具有更多的從裝置時,微控制器200需要利用更多的匯流排傳送指令予從裝置。
在其它實施例中,微控制器200更包括一記憶體260。記憶體260用以儲存程式碼PRC。在主裝置210執行程式碼PRC時,主裝置210產生存取指令CM1 及CM2 ,用以存取儲存裝置221、231及232。當一第一觸發事件發生時,主裝置210監控儲存裝置221、231及232的存取狀態,用以產生一監控結果SM 。在一可能實施例中,主裝置210直接輸出監控結果SM 予外部裝置110。在另一可能實施例中,微控制器200更包括一記憶體270。記憶體270用以儲存監控結果SM 。在此例中,主裝置210先將監控結果SM 儲存於記憶體270中,並在一特定時間,讀取記憶體270的監控結果SM ,並輸出監控結果SM 予外部裝置110。本發明並不限定記憶體270的種類。記憶體270可能是一揮發性記憶體或是一非揮發性記憶體。在一可能實施例中,記憶體270係為一靜態隨機存取記憶體(SRAM)。
在其它實施例中,當一第二觸發事件發生時,主裝置210停止監控儲存裝置221、231及232的存取狀態。在此例中,主裝置210可能讀取記憶體270所儲存的監控結果SM ,並提供監控結果SM 予外部裝置110。外部裝置110分析監控結果SM ,用以產生一分析畫面。在此例中,使用者根據外部裝置110的分析畫面,判斷程式碼PRC的流程是否正確。
本發明並不限定第一及第二觸發事件的種類。在一可能實施例中,主裝置210判斷一第一按鈕(未顯示)以及一第二按鈕(未顯示)是否被按下。當第一按鈕被按下時,表示發生第一觸發事件。因此,主裝置210進行監控操作。當第二按鈕被按下時,表示發生第二觸發事件。因此,主裝置210停止監控操作。
在另一可能實施例中,當使用者開啟外部裝置110的一監控應用程式(未顯示),並點選一監控選項時,外部裝置110發出一第一觸發信號予主裝置210。主裝置210根據第一觸發信號開始監控儲存裝置221、231及232的存取狀態。當使用者點選一停止選項時,外部裝置110發出一第二觸發信號予主裝置210。主裝置210根據第二觸發信號停止監控儲存裝置221、231及232的存取狀態。在此例中,當使用者點選一傳送選項時,外部裝置110發出一第三觸發信號予主裝置210。主裝置210根據第三觸發信號回報監控結果SM 。在其它實施例中,當主裝置210執行程式碼,並執行到一斷點時,表示第二觸發事件發生。因此,主裝置210停止監控。
第3圖為本發明之微控制器的另一示意圖。第3圖相似第2圖,不同之處在於第3圖的存取指令CM1 及CM2 係由不同的主裝置(如310及320)所提供。在本實施例中,主裝置310透過匯流排350傳送存取指令CM1 予從裝置330。從裝置330根據存取指令CM1 存取儲存裝置331。另外,主裝置320透過匯流排360傳送存取指令CM2 予從裝置340。從裝置340根據存取指令CM2 存取儲存裝置341。
在一可能實施例中,主裝置310係為一中央處理器,並且主裝置320係為一PDMA控制器。當一第一觸發事件發生時,主裝置310監控從裝置330的存取操作,用以產生一監控結果SMA 。當一第二觸發事件發生時,主裝置310停止監控從裝置330的存取操作。當一第三觸發事件發生時,主裝置320監控從裝置340的存取操作,用以產生一監控結果SMB 。當一第四觸發事件發生時,主裝置320停止監控從裝置340的存取操作。
在一可能實施例中,主裝置310及320可能分別儲存監控結果SMA 及SMB 於記憶模組370中。在其它實施例中,主裝置310及320之至少一者係直接輸出監控結果(SMA 及/或SMB )予一外部裝置。在本實施例中,記憶模組370具有至少一記憶體(未顯示),用以儲存程式碼及監控結果SMA 及SMB 。由於從裝置330、340、匯流排350、360的特性與第2圖的從裝置220、230、匯流排240、250的特性相似,故不再贅述。
在一些實施例中,主裝置310執行記憶模組370所儲存的一程式碼,用以產生一控制指令CM3 。主裝置320根據控制指令CM3 ,產生存取指令CM2 ,用以存取從裝置340。在其它實施例中,主裝置320係直接執行記憶模組370所儲存的程式碼,用以產生存取指令CM2 。在一可能實施例中,記憶模組370具有一非揮發性記憶體,用以儲存程式碼。在此例中,記憶模組370更具有一揮發性記憶體,用以儲存監控結果SMA 及SMB 。在其它實施例中,監控結果SMA 及SMB 係儲存於非揮發性記憶體中。
第4圖為本發明之記憶模組370的內部示意圖。如圖所示,記憶模組370包括記憶庫(bank)411~418,但並非用以限制本發明。在其它實施例中,記憶模組370具有更多或更少的記憶庫。在本實施例中,記憶庫411~414用以儲存監控結果SMA ,而記憶庫415~418用以儲存監控結果SMB
記憶庫411用以儲存監控結果SMA 裡的位址參數組addr_A。舉例而言,當主裝置310針對儲存裝置331的位址0x4007003x及0x4007000c的資料進行存取時,主裝置310記錄位址0x4007003x及0x4007000c於記憶庫411中。
記憶庫412用以儲存監控結果SMA 裡的資料參數組DA_A。在一可能實施例中,資料參數組DA_A用以表示主裝置310寫入位址0x4007003x及0x4007000c的資料數值,或是主裝置310從位址0x4007003x及0x4007000c所得到的資料數值。
記憶庫413用以儲存監控結果SMA 裡的時間參數組TMS_A。舉例而言,主裝置310可能在一操作頻率的第五個週期及第六個週期存取儲存裝置331。在此例中,主裝置310將週期cycle5及cycle6記錄於記憶庫413中。
記憶庫414用以儲存監控結果SMA 裡的存取參數組RorW_A。舉例而言,主裝置310可能寫入兩資料分別寫入儲存裝置331中。因此,記憶庫414記錄兩次的寫入操作Write。
記憶庫415~418分別記錄監控結果SMB 裡的位址參數組addr_B、資料參數組DA_B、時間參數組TMS_B及存取參數組RorW_B。由於位址參數組addr_B、資料參數組DA_B、時間參數組TMS_B及存取參數組RorW_B的特性與位址參數組addr_A、資料參數組DA_A、時間參數組TMS_A及存取參數組RorW_A的特性相同,故不再贅述。在其它實施例中,位址參數組addr_B、資料參數組DA_B、時間參數組TMS_B及存取參數組RorW_B可能分別儲存於記憶庫411~414中。
由於主裝置僅監控儲存裝置(如暫存器)的存取狀態,故監控結果SMA 及SMB 只是單純的二進制格式檔。外部裝置(如電腦設備)分析監控結果SMA 及SMB ,用以產生易讀的格式(如波形)供使用者參考,以便使用者快速地得知程式碼的流程是否正確。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:操作系統 110:外部裝置 120:連接器 130、200、300:微控制器 121、122:傳輸介面 210、310、320:主裝置 220、230、330、340:從裝置 240、250、350、60:匯流排 CM1 、CM2 :存取指令 CM3 :控制指令 221、231、232、331、341:儲存裝置 260、270:記憶體 370:記憶模組 PRC:程式碼 SM 、SMA 、SMB :監控結果 411~418:記憶庫 addr_A、addr_B:位址參數組 DA_A、DA_B:資料參數組 TMS_A、TMS_B:時間參數組 RorW_A、RorW_B:存取參數組
第1圖為本發明之操作系統的示意圖。 第2圖為本發明之微控制器的示意圖。 第3圖為本發明之微控制器的另一示意圖。 第4圖為本發明之記憶模組的內部示意圖。
200:微控制器
210:主裝置
220、230:從裝置
240、250:匯流排
CM1 、CM2 :存取指令
221、231、232:儲存裝置
260、270:記憶體
PRC:程式碼
SM :監控結果

Claims (10)

  1. 一種微控制器,包括: 一第一從裝置,根據一第一存取指令,存取一第一儲存裝置; 一主裝置,執行一程式碼,用以提供該第一存取指令;以及 一第一匯流排,耦接於該第一從裝置與該主裝置之間,用以傳送該第一存取指令予該第一從裝置; 其中,當一第一觸發事件發生時,該主裝置監控該第一儲存裝置的存取狀態,用以產生一監控結果予一外部裝置。
  2. 如申請專利範圍第1項所述之微控制器,更包括: 一第二從裝置,根據一第二存取指令,存取一第二儲存裝置;以及 一第二匯流排,耦接於該第二從裝置與該主裝置之間,用以傳送該第二存取指令予該第二從裝置,其中該主裝置執行該程式碼,用以提供該第二存取指令。
  3. 如申請專利範圍第2項所述之微控制器,其中該第一從裝置係為一通用非同步收發傳輸器(UART),該第二匯流排係為一積體電路間匯流排(I2C bus)。
  4. 如申請專利範圍第1項所述之微控制器,其中該主裝置係為一中央處理器(CPU)或是一週邊記憶體直接存取器(PDMA)。
  5. 如申請專利範圍第1項所述之微控制器,更包括: 一記憶體,用以儲存該監控結果。
  6. 如申請專利範圍第1項所述之微控制器,其中該主裝置直接輸出該監控結果予該外部裝置。
  7. 如申請專利範圍第1項所述之微控制器,更包括: 一按鈕,當該按鈕被按下時,表示發生該第一觸發事件。
  8. 如申請專利範圍第1項所述之微控制器,其中當一第二觸發事件發生時,該主裝置停止監控該第一儲存裝置的存取狀態。
  9. 如申請專利範圍第8項所述之微控制器,其中該程式碼具有一斷點,當該主裝置執行到該斷點時,表示該第二觸發事件發生。
  10. 如申請專利範圍第8項所述之微控制器,其中該第一及第二觸發事件係由該外部裝置所引起。
TW108148541A 2019-12-31 2019-12-31 微控制器 TWI709907B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108148541A TWI709907B (zh) 2019-12-31 2019-12-31 微控制器
CN202011560867.4A CN113127291B (zh) 2019-12-31 2020-12-25 微控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108148541A TWI709907B (zh) 2019-12-31 2019-12-31 微控制器

Publications (2)

Publication Number Publication Date
TWI709907B TWI709907B (zh) 2020-11-11
TW202127234A true TW202127234A (zh) 2021-07-16

Family

ID=74202347

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108148541A TWI709907B (zh) 2019-12-31 2019-12-31 微控制器

Country Status (2)

Country Link
CN (1) CN113127291B (zh)
TW (1) TWI709907B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818659B (zh) * 2022-08-04 2023-10-11 新唐科技股份有限公司 微控制器、操作系統及控制方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI761917B (zh) * 2020-08-19 2022-04-21 鴻海精密工業股份有限公司 程式調試方法、裝置及可讀存儲介質

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5772491A (en) * 1980-10-23 1982-05-06 Meisei Electric Co Ltd Control system for terminal equipment
JPS6295647A (ja) * 1985-10-22 1987-05-02 Nec Corp 走行監視機能付マイクロプログラム制御装置
US5819108A (en) * 1996-10-17 1998-10-06 Acer Peripherals, Inc. Programming of software into programmable memory within a peripheral device
KR20050095981A (ko) * 2004-03-29 2005-10-05 매그나칩 반도체 유한회사 내부동작 모니터링 기능을 갖는 마이크로 컨트롤러 및 그방법
TWI533160B (zh) * 2014-11-26 2016-05-11 緯創資通股份有限公司 電子系統、電子裝置及其存取認證方法
US9703524B2 (en) * 2015-11-25 2017-07-11 Doppler Labs, Inc. Privacy protection in collective feedforward
WO2019220221A1 (en) * 2018-05-14 2019-11-21 Terrence Keith Ashwin An emergency controller unit having a wifi authentication sensor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818659B (zh) * 2022-08-04 2023-10-11 新唐科技股份有限公司 微控制器、操作系統及控制方法

Also Published As

Publication number Publication date
CN113127291B (zh) 2024-04-05
TWI709907B (zh) 2020-11-11
CN113127291A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
TWI709907B (zh) 微控制器
KR102229024B1 (ko) 스스로 에러를 검출하고 로그를 저장할 수 있는 데이터 저장 장치와 이를 포함하는 시스템
US8205095B2 (en) Method and system for remotely debugging a failed computer machine
CN103003799A (zh) 用于验证存储器器件完整性的方法和系统
TW201643888A (zh) 具除錯控制器的系統單晶片及其操作方法
CN106909327B (zh) 一种用于工控设备的显示控制装置
US9633196B2 (en) Electronic system, electronic apparatus and access authentication method thereof
CN111191214B (zh) 一种嵌入式处理器及数据保护方法
TWI546660B (zh) 除錯系統與方法
CN103026342A (zh) 用于验证存储器器件完整性的方法和系统
TWI606362B (zh) 存取系統及方法
US9176821B2 (en) Watchpoint support system for functional simulator
CN111666236B (zh) 服务器和通信方法
US20200363971A1 (en) Portable storage device that is self-convertible from being a removable disk to a fixed disk and from being a fixed disk to a removable disk
KR101029074B1 (ko) 호스트 컨트롤러에서의 디스크립터 추적 장치 및 그 추적방법
KR102133806B1 (ko) 영구적인 락아웃 공격 검지
TWI420318B (zh) A non-intrusive general-purpose common busbar switching device
TW200415461A (en) Program debugging method
TWI463501B (zh) 快閃記憶體發展系統
CN113177388B (zh) 用于ip核测试与验证的装置、系统及方法
US10922023B2 (en) Method for accessing code SRAM and electronic device
Mihailowitsch Detecting hardware keyloggers
CN204965436U (zh) 一种用于集成电路片上系统的防故障攻击电路
CN104484299B (zh) 一种松耦合的Lockstep处理器系统
CN104536932B (zh) 专用低速usb设备的通用通讯方法