TWI489268B - 作業系統除錯裝置和方法 - Google Patents

作業系統除錯裝置和方法 Download PDF

Info

Publication number
TWI489268B
TWI489268B TW102112464A TW102112464A TWI489268B TW I489268 B TWI489268 B TW I489268B TW 102112464 A TW102112464 A TW 102112464A TW 102112464 A TW102112464 A TW 102112464A TW I489268 B TWI489268 B TW I489268B
Authority
TW
Taiwan
Prior art keywords
processor
operating system
message
core
debugging
Prior art date
Application number
TW102112464A
Other languages
English (en)
Other versions
TW201439747A (zh
Inventor
Wen Cheng Huang
Original Assignee
Wistron Corp
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 Wistron Corp filed Critical Wistron Corp
Priority to TW102112464A priority Critical patent/TWI489268B/zh
Priority to CN201310130034.8A priority patent/CN104102553A/zh
Publication of TW201439747A publication Critical patent/TW201439747A/zh
Application granted granted Critical
Publication of TWI489268B publication Critical patent/TWI489268B/zh

Links

Description

作業系統除錯裝置和方法
本發明主要係關於作業系統除錯技術,特別係有關於利用共享記憶體通道傳送除錯訊息至處理器之作業系統除錯。
核心錯誤(Kernel panic)是指作業系統在監測到內部的致命錯誤,並無法安全處理此錯誤時採取的動作。目前開發Linux作業系統時,處理器經常無法立即得知核心錯誤(Kernel panic)發生時所發出除錯信息的問題,而立即進行除錯之工作。
有鑑於上述先前技術之問題,本發明提供了一種作業系統除錯技術,可經由共享記憶體通道傳送除錯訊息至處理器之作業系統除錯技術。
根據本發明之一實施例提供了一種作業系統除錯裝置,包括:一共享記憶體通道;一第一處理器,用以執行一作業系統,並建立一個核心執行緒以傳送一核心訊息至上述共享記憶體通道;以及一第二處理器,由上述共享記憶體通道接收上述核心訊息,並存在一訊息緩衝器,其中當所接收之上述核心訊息包含一除錯訊息時,上述第二處理器即進行上述作業 系統之除錯。
根據本發明之一實施例提供了一種作業系統除錯方法,包括:藉由一第一處理器執行一作業系統,並建立一個核心執行緒以傳送一核心訊息至一共享記憶體通道;藉由一第二處理器,由上述共享記憶體通道接收上述核心訊息,並存在一訊息緩衝器;以及當所接收之上述核心訊息包含一除錯訊息時,上述第二處理器即進行上述作業系統之除錯。
100‧‧‧作業系統除錯裝置
110‧‧‧第一處理器
111‧‧‧核心執行緒
112‧‧‧第一連結層
120‧‧‧共享記憶體通道
130‧‧‧第二處理器
131‧‧‧訊息緩衝器
132‧‧‧串列控制台
133‧‧‧第二連結層
S1‧‧‧核心訊息
200‧‧‧流程圖
第1圖係顯示根據本發明一實施例所述之作業系統除錯裝置100之架構圖。
第2圖係顯示根據本發明一實施例所述之作業系統除錯方法之流程圖200。
第1圖係顯示根據本發明一實施例所述之作業系統除錯裝置100之架構圖,其中作業系統除錯裝置100適用於具有雙核心處理器之系統。如圖所示,根據本發明一實施例所述之作業系統除錯裝置100,包括,一第一處理器110、一共享記憶體通道120、一第二處理器130。
根據本發明一實施例,第一處理器110係用以執行一作業系統,例如:Linux作業系統(以下說明都將以Linux作業系統為例),當第一處理器110在執行Linux作業系統時,第一處理器110會在Linux核心(kernel)建立一個核心執行緒(thread kernel)111以連續傳送核心訊息S1至共享記憶體通道 120,並隨時更新共享記憶體通道120中所儲存之核心訊息S1。第二處理器130經由共享記憶體通道120即可接收來自第一處理器110之核心訊息S1,並將核心訊息S1暫存在一訊息緩衝器(buffer)131中,其中當所接收之核心訊息S1包含除錯訊息時,也就是Linux作業系統發生核心錯誤(kernel panic)時,第二處理器130即進行Linux作業系統之除錯。根據本發明一實施例,第一處理器110係指一應用中央處理器(Application CPU),第二處理器130係指一數據中央處理器(Modem CPU),且第一處理器110和第二處理器130可一起封裝在一積體電路(integrated circuit,IC)中。根據本發明一實施例,共享記憶體通道120係包含在一實體記憶體中,由一實體記憶體特別規劃一塊適當之區塊作為第一處理器110和第二處理器130溝通訊息之用。
根據本發明一實施例,第二處理器130包含一串列控制台(serial console)132,用以處理Linux作業系統之除錯工作,當第二處理器130從記憶體通道120接收核心訊息S1,若所接收之核心訊息S1包含除錯訊息時,也就是Linux作業系統發生核心錯誤時,第二處理器130就會將除錯訊息傳送給串列控制台132,以告知串列控制台132,Linux作業系統發生核心錯誤需進行除錯之工作。
根據本發明一實施例,第一處理器110和第二處理器130中分別包含一第一連結層(link layer)112和一第二連結層133,第一連結層112和第二連結層133分別用以處理第一處理器110和第二處理器130中資料之傳輸。
第2圖係顯示根據本發明一實施例所述之作業系 統除錯方法之流程圖200。首先,在步驟S210,藉由一第一處理器執行一作業系統,並建立一個核心執行緒以傳送一核心訊息至一共享記憶體通道。在步驟S220,藉由一第二處理器,由上述共享記憶體通道接收上述核心訊息,並存在一訊息緩衝器。在步驟S230,當所接收之上述核心訊息包含一除錯訊息時,上述第二處理器即進行上述作業系統之除錯。
目前開發Linux作業系統時,處理器經常無法立即得知核心錯誤發生時所發出除錯信息的問題,而立即進行除錯之工作,藉由本案提出之作業系統除錯方法,處理器可由共享記憶體通道接收到核心訊息,並在發生核心錯誤時,立即進行除錯之處理。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可以透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
本說明書中所提到的「一實施例」或「實施例」所提到的特定的特徵、結構或性質,可包括在本說明書的至少一實施例中。因此,在不同地方出現的語句「在一個實施例 中」,可能不是都指同一個實施例。另外,此特定的特徵、結構或性質,也可以任何適合的方式與一個或一個以上的實施例結合。
本說明書所揭露之實施例,對於任何在本領域熟悉此技藝者,將很快可以理解上述之優點。在閱讀完說明書內容後,任何在本領域熟悉此技藝者,在不脫離本發明之精神和範圍內,可以廣義之方式作適當的更動和替換。因此,本說明書所揭露之實施例,是用以保護本發明之專利要求範圍,並非用以限定本發明之範圍,此外,在不同實施例中,本發明可能會重複使用相同的索引標號和/或文字。使用這些索引標號和/或文字的目的是為了簡化和闡明本發明,但並非用以表示在不同實施例和/或所揭露之結構必須具有相同之特徵。
100‧‧‧作業系統除錯裝置
110‧‧‧第一處理器
111‧‧‧核心執行緒
112‧‧‧第一連結層
120‧‧‧共享記憶體通道
130‧‧‧第二處理器
131‧‧‧訊息緩衝器
132‧‧‧串列控制台
133‧‧‧第二連結層
S1‧‧‧核心訊息

Claims (4)

  1. 一種作業系統除錯裝置,包括:一共享記憶體通道;一第一處理器,用以執行一作業系統,並建立一個核心執行緒以傳送一核心訊息至上述共享記憶體通道;以及一第二處理器,由上述共享記憶體通道接收上述核心訊息,並存在一訊息緩衝器,其中當所接收之上述核心訊息包含一除錯訊息時,上述第二處理器即進行上述作業系統之除錯,其中上述第二處理器包含一串列控制台,用以處理上述作業系統之除錯。
  2. 如申請專利範圍第1項所述之作業系統除錯裝置,其中共享記憶體通道係包含在一實體記憶體中。
  3. 一種作業系統除錯方法,包括:藉由一第一處理器執行一作業系統,並建立一個核心執行緒以傳送一核心訊息至一共享記憶體通道;藉由一第二處理器,由上述共享記憶體通道接收上述核心訊息,並存在一訊息緩衝器;以及當所接收之上述核心訊息包含一除錯訊息時,上述第二處理器即進行上述作業系統之除錯,其中上述第二處理器包含一串列控制台,用以處理上述作業系統之除錯。
  4. 如申請專利範圍第3項所述之作業系統除錯方法,其中共享記憶體通道係包含在一實體記憶體中。
TW102112464A 2013-04-09 2013-04-09 作業系統除錯裝置和方法 TWI489268B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW102112464A TWI489268B (zh) 2013-04-09 2013-04-09 作業系統除錯裝置和方法
CN201310130034.8A CN104102553A (zh) 2013-04-09 2013-04-15 操作系统除错装置和操作系统除错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102112464A TWI489268B (zh) 2013-04-09 2013-04-09 作業系統除錯裝置和方法

Publications (2)

Publication Number Publication Date
TW201439747A TW201439747A (zh) 2014-10-16
TWI489268B true TWI489268B (zh) 2015-06-21

Family

ID=51670724

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102112464A TWI489268B (zh) 2013-04-09 2013-04-09 作業系統除錯裝置和方法

Country Status (2)

Country Link
CN (1) CN104102553A (zh)
TW (1) TWI489268B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124556A1 (en) * 2010-11-16 2012-05-17 Hon Hai Precision Industry Co., Ltd. Computing device and device driver debugging method
CN102662785A (zh) * 2012-04-12 2012-09-12 青岛海信移动通信技术股份有限公司 一种Android系统内核错误信息获取方法及装置
TW201241622A (en) * 2011-04-13 2012-10-16 Hon Hai Prec Ind Co Ltd System and method for debugging programs
TW201243576A (en) * 2011-04-27 2012-11-01 Wistron Corp Debugging method and computer system using the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000596A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法
US9081694B2 (en) * 2008-01-14 2015-07-14 Bivio Networks, Inc. Systems and methods for asymmetric multiprocessing
CN101493807A (zh) * 2008-01-25 2009-07-29 松翰科技股份有限公司 双核心微控制器
KR20100041309A (ko) * 2008-10-14 2010-04-22 삼성전자주식회사 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템
CN202534008U (zh) * 2012-03-28 2012-11-14 中国电子科技集团公司第五十八研究所 一种面向图像处理的基于同构双核结构的SoC

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124556A1 (en) * 2010-11-16 2012-05-17 Hon Hai Precision Industry Co., Ltd. Computing device and device driver debugging method
TW201241622A (en) * 2011-04-13 2012-10-16 Hon Hai Prec Ind Co Ltd System and method for debugging programs
TW201243576A (en) * 2011-04-27 2012-11-01 Wistron Corp Debugging method and computer system using the same
CN102662785A (zh) * 2012-04-12 2012-09-12 青岛海信移动通信技术股份有限公司 一种Android系统内核错误信息获取方法及装置

Also Published As

Publication number Publication date
TW201439747A (zh) 2014-10-16
CN104102553A (zh) 2014-10-15

Similar Documents

Publication Publication Date Title
US11782866B2 (en) Techniques to support mulitple interconnect protocols for an interconnect
JP2017069966A (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び不正検知方法
EP3230861B1 (en) Technologies for fast synchronization barriers for many-core processing
JP6382446B2 (ja) デッドロック回避のための方法及び回路
CN106502935A (zh) Fpga异构加速系统、数据传输方法及fpga
CN105074656B (zh) 管理并发谓词表达式的方法和装置
US9971643B2 (en) Processing an input/output operation request
US10198378B2 (en) Faster data transfer with simultaneous alternative remote direct memory access communications
US11061840B2 (en) Managing network interface controller-generated interrupts
US10656952B2 (en) System on chip (SOC) and method for handling interrupts while executing multiple store instructions
CN104346306B (zh) 高完整性dma操作的系统和方法
TWI489268B (zh) 作業系統除錯裝置和方法
JP5830042B2 (ja) 二重更新防止システム及び二重更新防止方法
US7861104B2 (en) Methods and apparatus for collapsing interrupts
CN105229622B (zh) 应用和硬件设备之间的通信系统和方法
CN116610623A (zh) 一种数据读取方法、装置、电子设备及存储介质
TWI650703B (zh) 在記憶體內之資料的非同步複製
CN107590100A (zh) 一种多核处理器的核间数据交互方法
JP2008503833A (ja) 並列通信バスに連結された装置内で割込みメッセージを待ち行列に入れるためのコンピュータシステム及び方法
US20140101355A1 (en) Virtualized communication sockets for multi-flow access to message channel infrastructure within cpu
CN108345471B (zh) 检测装置处理异步事件的方法及检测装置
JP6217386B2 (ja) マルチプロセッサ用プログラム生成方法
US20120311202A1 (en) Fast cancellation of input-output requests
JP2009169511A (ja) 情報処理装置
CN108011972A (zh) 数据处理方法及系统