本發(fā)明屬于數(shù)字集成電路領(lǐng)域,尤其涉及一種基于可編程器件的日志系統(tǒng)及日志配置方法。
背景技術(shù):
FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)為主的可編程器件,其調(diào)試過程比軟件要困難得多。所以,需要通過日志模塊采集可編程器件在運(yùn)行過程中生成的日志數(shù)據(jù)以記錄其運(yùn)行狀態(tài),類似于軟件的Printf功能。
現(xiàn)有技術(shù)中的日志數(shù)據(jù)采集方法,往往都是針對某一個應(yīng)用邏輯而設(shè)計(jì)的,該日志數(shù)據(jù)在設(shè)計(jì)完成后與日志采集模塊的連接是固定的,不能根據(jù)軟件的配置采集其它應(yīng)用邏輯的日志數(shù)據(jù),同時也不能支持對多路并行應(yīng)用邏輯同時采集日志數(shù)據(jù),更不能處理不同時鐘域的應(yīng)用邏輯并行調(diào)試的需要。因而不能滿足“在不用改變邏輯代碼的情況下,根據(jù)開發(fā)者的參數(shù)配置,同時抓取多路不同應(yīng)用邏輯的日志信息”的需要。
即,現(xiàn)有技術(shù)中的日志數(shù)據(jù)采集方法的可重用性以及靈活性比較低。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于可編程器件的日志配置方法及日志系統(tǒng),可以解決現(xiàn)有技術(shù)中由于無法支持不同時鐘域、或不同應(yīng)用邏輯而導(dǎo)致的可重用性以及靈活性較低的技術(shù)問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種日志系統(tǒng),包括:
參數(shù)配置模塊,用于接收指定指令,并從多個應(yīng)用程序中指定若干應(yīng)用程序;
日志管理模塊,用于接收來自所述多個應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號,將所述日志數(shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,并對其中指定應(yīng)用程序的日志數(shù)據(jù)信號進(jìn)行輪詢,以輸出所述指定應(yīng)用程序的日志幀;以及
日志存儲模塊,用于存儲所述日志幀,以形成日志數(shù)據(jù)。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種日志配置方法,包括:
接收指定指令,并從多個應(yīng)用程序中指定若干應(yīng)用程序;
接收來自所述多個應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號;
將所述日志數(shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,并對其中的指定應(yīng)用程序的日志數(shù)據(jù)信號進(jìn)行輪詢,以輸出所述指定的若干應(yīng)用程序的日志幀;以及
存儲所述日志幀,以形成日志數(shù)據(jù)。
相對于現(xiàn)有技術(shù),本發(fā)明的日志系統(tǒng)及日志配置方法,通過對多個應(yīng)用程序的時鐘信號進(jìn)行同步,并對其對應(yīng)的日志數(shù)據(jù)信號進(jìn)行輪詢,可以支持不同時鐘域、或不同應(yīng)用邏輯,具有可重用性和靈活性。
附圖說明
圖1是本發(fā)明實(shí)施例一提供的日志系統(tǒng)的模塊示意圖;
圖2是本發(fā)明實(shí)施例一提供的日志管理模塊的細(xì)化示意圖;
圖3是本發(fā)明實(shí)施例二提供的日志系統(tǒng)的模塊示意圖;
圖4是本發(fā)明實(shí)施例三提供的日志配置方法的流程示意圖;
圖5是本發(fā)明實(shí)施例四提供的日志配置方法的流程示意圖。
具體實(shí)施方式
請參照附圖中的圖式,其中相同的組件符號代表相同的組件,本發(fā)明的原 理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來舉例說明。以下的說明是基于所示例的本發(fā)明的具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
本發(fā)明原理以上述文字來說明,其并不代表為一種限制,本領(lǐng)域技術(shù)人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。本發(fā)明的原理使用許多其它泛用性或特定目的運(yùn)算、通信環(huán)境或組態(tài)來進(jìn)行操作。
本案可應(yīng)用于基于FPGA等可編程器件的日志系統(tǒng)及日志配置方法。請參照以下實(shí)施例,實(shí)施例一側(cè)重于日志系統(tǒng)的基本模塊,實(shí)施例二側(cè)重于日志系統(tǒng)的優(yōu)化模塊,實(shí)施例三側(cè)重于日志配置方法的基本流程;而實(shí)施例四側(cè)重于日志配置方法的優(yōu)化流程??梢岳斫獾氖牵弘m然各實(shí)施例的側(cè)重不同,但其設(shè)計(jì)思想是一致的。且,在某個實(shí)施例中沒有詳述的部分,可以參見說明書全文的詳細(xì)描述,不再贅述。
實(shí)施例一
請參閱圖1,所示為本發(fā)明實(shí)施例所提供的日志系統(tǒng)的模塊示意圖。所述日志系統(tǒng)1,連接于多個應(yīng)用程序2,并生成所述應(yīng)用程序2的日志數(shù)據(jù)。
所述日志系統(tǒng)1,包括:參數(shù)配置模塊11、日志管理模塊12、以及日志存儲模塊13。
所述參數(shù)配置模塊11,用于接收指定指令,并從多個應(yīng)用程序2中指定若干應(yīng)用程序,以形成指定應(yīng)用程序。
可以理解的是,所述應(yīng)用程序2,包括但不限于基于FPGA的應(yīng)用程序。所述應(yīng)用程序中設(shè)置一日志組織單元(未標(biāo)示),用于定義所述應(yīng)用程序2輸出的日志數(shù)據(jù)的內(nèi)容和格式,并依據(jù)所述定義獲取所述應(yīng)用程序2中的時鐘信號(CLK)和日志數(shù)據(jù)信號(LOG)。其中,所述時鐘信號可以是基于相同的或不同時鐘域。所述日志數(shù)據(jù)信號也可以是基于相同的或不同的應(yīng)用邏輯。
所述參數(shù)配置模塊11,還用于設(shè)置日志管理模塊12中的日志通道的個數(shù)、以及分配所述日志通道與指定應(yīng)用程序2之間的對應(yīng)關(guān)系。
日志管理模塊12,用于接收來自所述多個應(yīng)用程序2的時鐘信號和日志數(shù)據(jù)信號,將所述日志數(shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,并對其中指定應(yīng)用程序的所述日志數(shù)據(jù)信號進(jìn)行輪詢,以輸出所述指定應(yīng)用程序的日志幀。
請參閱圖2,所示為日志管理模塊的細(xì)化示意圖。所述日志管理模塊12,通信連接于所述多個應(yīng)用程序2、參數(shù)配置模塊11、以及日志存儲模塊13。所述日志管理模塊12具體包括:時鐘同步單元121、通道選擇單元122、多個日志通道123、以及數(shù)據(jù)輪詢單元124。
其中,假設(shè)從圖1的n個應(yīng)用程序2中,指定m個應(yīng)用程序21。在圖2中,以m=3為例進(jìn)行闡述。可以理解的是,所述m的個數(shù)僅是作為示例,而不應(yīng)視為對日志通道123的個數(shù)或日志管理模塊12的處理能力的限制,盡管當(dāng)前m的數(shù)量通常小于等于4。
具體而言,所述時鐘同步單元121,用于接收來自所述多個應(yīng)用程序2的時鐘信號和日志數(shù)據(jù)信號,根據(jù)預(yù)設(shè)時鐘域?qū)⑺鋈罩緮?shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,以生成同步的日志數(shù)據(jù)信號。
其中,所述時鐘同步單元121將所接收的來自于時鐘信號clk1、clk2、和clk3并按照預(yù)設(shè)時鐘域進(jìn)行同步,其中,所述預(yù)設(shè)時鐘域的時鐘信號為clk_syn。也就是說把多個應(yīng)用程序的來自不同時鐘頻率的日志數(shù)據(jù)都統(tǒng)一到clk_syn這一個時鐘頻率來,便于后面對日志數(shù)據(jù)的處理。
所述通道選擇單元122,連接于所述時鐘同步單元121與所述多個日志通道123之間。所述通道選擇單元122用于根據(jù)參數(shù)配置模塊11的指定,接收來自指定應(yīng)用程序21的日志數(shù)據(jù)信號,并按照所述參數(shù)配置模塊11的分配,將 所述指定應(yīng)用程序21中的日志數(shù)據(jù)信號log1、log2、和log3分配給對應(yīng)的日志通道123。
所述多個日志通道123,連接于所述通道選擇單元122與所述數(shù)據(jù)輪詢單元124之間。其中,將所述日志通道123與所述指定的若干應(yīng)用程序21一一對應(yīng)。所述日志通道123用于接收對應(yīng)的指定應(yīng)用程序21的日志數(shù)據(jù)信號log1、log2、log3,并生成緩存數(shù)據(jù)fifo_log1、fifo_log2、和fifo_log3,以供所述數(shù)據(jù)輪詢單元124進(jìn)行輪詢。
具體而言,所述日志通道123,包括:標(biāo)記單元1231、和緩沖單元1232。所述標(biāo)記單元1231,用于接收日志通道123對應(yīng)的指定應(yīng)用程序21的日志數(shù)據(jù)信號,并根據(jù)預(yù)設(shè)的幀格式對所述日志數(shù)據(jù)信號log1、log2、log3進(jìn)行標(biāo)記,以生成標(biāo)記數(shù)據(jù)index_log1、index_log2、和index_log3。所述緩沖單元1232,用于將所述標(biāo)記數(shù)據(jù)進(jìn)行緩存,以生成緩存數(shù)據(jù)fifo_log1、fifo_log2、和fifo_log3以供后續(xù)輪詢??梢岳斫獾氖牵鰳?biāo)記數(shù)據(jù),即是帶有標(biāo)記的日志數(shù)據(jù)。
其中,日志幀的幀格式,如每幀包括:日志通道號、幀序號、以及幀數(shù)據(jù)。其中,幀數(shù)據(jù)由所述日志數(shù)據(jù)信號構(gòu)成。
數(shù)據(jù)輪詢單元124,用于按照預(yù)設(shè)時鐘域的時鐘信號clk_syn,將對應(yīng)的指定應(yīng)用程序21的日志數(shù)據(jù)信號進(jìn)行輪詢,即將所述緩存數(shù)據(jù)按時序進(jìn)行輸出以形成所述日志幀。
日志存儲模塊13,用于存儲所述日志幀,以形成日志數(shù)據(jù)。
本發(fā)明的日志系統(tǒng),通過對多個應(yīng)用程序的時鐘信號進(jìn)行同步,并對其對應(yīng)的日志數(shù)據(jù)信號進(jìn)行輪詢,可以支持不同時鐘域、或不同應(yīng)用邏輯,具有可重用性和靈活性。
實(shí)施例二
請參閱圖3,所示為本發(fā)明實(shí)施例所提供的日志系統(tǒng)的模塊示意圖。所述日志系統(tǒng)3,連接于應(yīng)用程序2,并生成所述應(yīng)用程序2的日志數(shù)據(jù)。
其中,連接的多個應(yīng)用程序2的個數(shù)為n,指定應(yīng)用程序21的個數(shù)為m。
所述日志系統(tǒng)3,包括:參數(shù)配置模塊11、數(shù)據(jù)通信模塊32、上位機(jī)接口模塊33、日志管理模塊12、以及日志存儲模塊13。其中,為體現(xiàn)與基礎(chǔ)的日志系統(tǒng)的差別,所述以1開頭的模塊或單元,其作用與圖1的日志系統(tǒng)1中相同或相近似;以3開頭的模塊或單元,為本實(shí)施例中進(jìn)行優(yōu)化而增加或改進(jìn)的。
其中,所述日志組織單元30,用于通過日志管理模塊12接收所述參數(shù)配置模塊11的指定指令,獲取所述多個應(yīng)用程序2中的時鐘信號和日志數(shù)據(jù)信號,并發(fā)送給所述日志管理模塊12;以及定義所述多個應(yīng)用程序2輸出的日志數(shù)據(jù)的內(nèi)容和格式,并依據(jù)所述定義獲取所對應(yīng)的多個應(yīng)用程序2的時鐘信號和日志數(shù)據(jù)信號。
可以理解的是,所述日志組織模塊30,可以視為是應(yīng)用程序2與日志系統(tǒng)1之間的接口。通過日志組織模塊30定義、輸出或選擇所述應(yīng)用程序2所輸出的內(nèi)容、及輸出的格式。當(dāng)增加新的應(yīng)用程序、新的應(yīng)用邏輯時,僅僅需要為其增加一個日志組織單元30,即可完成其日志數(shù)據(jù)信號的獲取;在需要改變?nèi)罩緝?nèi)容時,僅僅需要改變應(yīng)用邏輯中的日志組織單元30,其余部分均可以重用。
其中,所述日志數(shù)據(jù)信號logm,包括:有效數(shù)據(jù)信號logm_data和信號位寬logm_vld。
參數(shù)配置模塊11,通過數(shù)據(jù)通信模塊32接收上位機(jī)接口模塊33所輸出的用戶指令。所述用戶指令,包括:指定指令、設(shè)置指令、讀信號、以及寫信號。其中,指定指令用于多個應(yīng)用程序中指定若干應(yīng)用程序;設(shè)置指令用于設(shè)置日 志管理模塊12中的日志通道123的個數(shù)、以及分配所述日志通道123與指定應(yīng)用程序21之間的對應(yīng)關(guān)系;讀信號和寫信號,用于對日志存儲模塊13進(jìn)行讀、寫(存儲)操作。
具體而言,參數(shù)配置模塊11,接收數(shù)據(jù)通信模塊32的寫信號,以寫寄存器的形式將指定應(yīng)用程序21中的日志數(shù)據(jù)信號配置給日志管理模塊12。同時可以接收數(shù)據(jù)通信模塊32的讀信號,接收日志的總數(shù)目寄存器數(shù)據(jù)以及多路應(yīng)用程序21的選擇寄存器。同時,參數(shù)配置模塊11也可用于配置日志數(shù)據(jù)存儲模塊13中存儲空間的起始地址start_addr以及結(jié)束地址end_addr,便于對寫日志存儲模塊13的地址進(jìn)行控制。
參數(shù)配置模塊11,可以在不用改變FPGA代碼的情況下,根據(jù)軟件的參數(shù)配置,同時抓取多路不同F(xiàn)PGA應(yīng)用邏輯的日志信息,具有較高的通用性及靈活性。
上位機(jī)接口模塊33,可以通過軟件界面接收用戶的指令,也可以通過默認(rèn)進(jìn)行設(shè)置。所述上位機(jī)接口33,通過數(shù)據(jù)通信模塊32連接于所示日志存儲模塊13的存儲單元131,用于讀取日志幀,以進(jìn)行日志解析。
數(shù)據(jù)通信模塊32,連接于所述上位機(jī)接口模塊33、日志存儲模塊13、以及參數(shù)配置模塊11。可以理解的是,所述數(shù)據(jù)通信模塊32,主要用于對各層數(shù)據(jù)鏈路之間的協(xié)議進(jìn)行轉(zhuǎn)換,比如,將上位機(jī)接口模塊33所發(fā)出的讀指令或?qū)懼噶睿D(zhuǎn)換成所述日志存儲模塊13可執(zhí)行的讀信號或?qū)懶盘枴?/p>
日志管理模塊12,日志管理模塊12具體包括:時鐘同步單元121、通道選擇單元122、多個日志通道123、以及數(shù)據(jù)輪詢單元124。其中,日志管理模塊12,可以通過并行處理技術(shù)同時處理多路應(yīng)用邏輯的日志信息。
其中,日志通道123的數(shù)量可由所述參數(shù)配置模塊11進(jìn)行設(shè)置,也可以默 認(rèn)而成,其中,所述日志通道123與所述指定的若干應(yīng)用程序21一一對應(yīng)。
時鐘同步單元121可以接收來自多個應(yīng)用程序2的不同時鐘域的時鐘信號和日志數(shù)據(jù)信號,并根據(jù)預(yù)設(shè)時鐘域?qū)⑺鋈罩緮?shù)據(jù)信號基于對應(yīng)的時鐘信號進(jìn)行同步,以生成同步的日志數(shù)據(jù)信號。
可以理解的是,時鐘同步單元121,針對不同時鐘域的FPGA應(yīng)用邏輯的日志信號在輸入給日志管理單元時進(jìn)行了跨時鐘域同步處理,使該系統(tǒng)能夠完成對不同時鐘域的FPGA應(yīng)用邏輯的日志處理。同步的方法可以采用獨(dú)立讀寫時鐘的FIFO緩沖器隔離讀寫數(shù)據(jù),也可以采用高頻率采集低頻率信號變化的方法來實(shí)現(xiàn)。
通道選擇單元122,用于根據(jù)參數(shù)配置模塊11的選擇,將指定應(yīng)用程序21中的日志數(shù)據(jù)信號輸出至對應(yīng)的日志通道123。
所述日志通道123,包括:標(biāo)記單元1231、和緩沖單元1232。
所述標(biāo)記單元1231,用于對每個日志通道123中的日志數(shù)據(jù)信號進(jìn)行計(jì)數(shù),計(jì)數(shù)信息作為幀序號。其中,幀序號、通道號以及幀數(shù)據(jù)組合起來形成所述日志通道123的一個日志幀。當(dāng)上位機(jī)接口單元33通過數(shù)據(jù)通信模塊32收到該日志幀的數(shù)據(jù)后會根據(jù)應(yīng)用邏輯的日志組織方法進(jìn)行同樣的解析即可,做到最大限度地通用性。
根據(jù)預(yù)設(shè)的幀格式對接收的日志數(shù)據(jù)信號log1、log2、log3進(jìn)行標(biāo)記,以生成標(biāo)記數(shù)據(jù)index_log1、index_log2、和index_log3。
可以理解的是,所述標(biāo)記單元1231,能夠?qū)γ織l日志信息進(jìn)行自動打標(biāo)簽,使得后續(xù)的日志解析軟件能夠有效區(qū)分來自不同應(yīng)用邏輯的日志數(shù)據(jù)信號及其產(chǎn)生的順序。
所述緩沖單元1232,用于將所述標(biāo)記單元1231所生成的標(biāo)記數(shù)據(jù)進(jìn)行緩 存,以生成緩存數(shù)據(jù)fifo_log1、fifo_log2、和fifo_log3以供后續(xù)輪詢。
所述日志通道123,根據(jù)軟件配置信息進(jìn)行多路數(shù)據(jù)的復(fù)用,使得所述日志系統(tǒng)3能夠使用較少的資源完成對多路應(yīng)用程序21的應(yīng)用邏輯進(jìn)行日志處理。
數(shù)據(jù)輪詢單元124,該單元周期性地檢測m個緩沖單元1232的狀態(tài)信號,當(dāng)發(fā)現(xiàn)緩沖單元1232中有待接收的緩存數(shù)據(jù)時,則逐個日志通道123接收被緩存數(shù)據(jù),我們這里可以通過提高接收數(shù)據(jù)位寬、或者提高數(shù)據(jù)接收時鐘頻率的方式提高數(shù)據(jù)接收的速度,確保數(shù)據(jù)接收的速度大于m個指定應(yīng)用程序中日志數(shù)據(jù)的產(chǎn)生的速度,避免產(chǎn)生日志數(shù)據(jù)溢出導(dǎo)致數(shù)據(jù)丟失。同時,數(shù)據(jù)輪詢單元124負(fù)責(zé)控制日志的讀寫地址信號,當(dāng)日志存儲空間mem_size被寫滿時,則改變寫地址信號從日志存儲模塊的最初位置,依次替換掉最舊的日志幀,保留較新的日志幀,在日志存儲模塊13形成一個環(huán)形的存儲空間,可以在滿足日志存儲需要的基礎(chǔ)上節(jié)約存儲空間。
可以理解的是,數(shù)據(jù)輪詢單元124,采用了時分復(fù)用的技術(shù),使得多路應(yīng)用程序的日志數(shù)據(jù)信號可以共享同一個存儲讀寫控制器、同一個日志數(shù)據(jù)存儲單元。
所述日志存儲模塊13,具體包括:存儲單元131和存儲器控制單元132。其中,存儲單元131,用于存儲所述日志幀,以形成日志數(shù)據(jù)。存儲器控制單元132,用于接收讀信號和/或?qū)懶盘枺鶕?jù)所述寫信號將所述日志幀寫入所述存儲單元,以及根據(jù)所述讀信號從所述日志存儲單元13中接收所述日志幀。
本發(fā)明的日志系統(tǒng),通過對多個應(yīng)用程序的時鐘信號進(jìn)行同步,并對其對應(yīng)的日志數(shù)據(jù)信號進(jìn)行輪詢,可以支持不同時鐘域、或不同應(yīng)用邏輯,具有可重用性和靈活性。
實(shí)施例三
請參閱圖4,所示為本發(fā)明實(shí)施例所提供的日志配置方法的流程示意圖。
所述日志配置方法,包括:
在步驟S401中,接收指定指令,并從多個應(yīng)用程序中指定若干應(yīng)用程序。
在步驟S402中,接收來自所述多個應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號。
在步驟S403中,將所述日志數(shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,并對其中的指定應(yīng)用程序進(jìn)行所述日志數(shù)據(jù)信號的輪詢,以輸出所述指定應(yīng)用程序的日志數(shù)據(jù)。
即,將日志數(shù)據(jù)信號從應(yīng)用邏輯的時鐘域同步到日志系統(tǒng)的時鐘域。其中,上述同步與輪詢的步驟,具體包括:
(1)接收來自所述多個應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號,根據(jù)預(yù)設(shè)時鐘域?qū)⑺鋈罩緮?shù)據(jù)信號基于所述時鐘信號進(jìn)行同步,以生成同步的日志數(shù)據(jù)信號;
(2)將日志通道與所述指定應(yīng)用程序一一對應(yīng),并對日志通道中的同步的日志數(shù)據(jù)信號進(jìn)行標(biāo)記,并在對應(yīng)日志通道中對所述標(biāo)記后的日志數(shù)據(jù)進(jìn)行緩存;以及
(3)按照預(yù)設(shè)時鐘域的時鐘信號對緩存的日志數(shù)據(jù)進(jìn)行輪詢,以輸出所述日志幀。
其中步驟(2)還可以細(xì)化為:
(21)接收日志通道對應(yīng)的應(yīng)用程序的日志數(shù)據(jù)信號,并根據(jù)預(yù)設(shè)的幀格式對所述日志數(shù)據(jù)信號進(jìn)行標(biāo)記,以生成標(biāo)記數(shù)據(jù);以及
(22)將所述標(biāo)記數(shù)據(jù)進(jìn)行緩存,以生成緩存數(shù)據(jù),以配合所述預(yù)設(shè)時鐘域的時鐘信號進(jìn)行輪詢。
在步驟S404中,存儲所述日志幀,以形成日志數(shù)據(jù)。
本發(fā)明的日志配置方法,通過對多個應(yīng)用程序的時鐘信號進(jìn)行同步,并對其對應(yīng)的日志數(shù)據(jù)信號進(jìn)行輪詢,可以采集不同應(yīng)用邏輯的日志數(shù)據(jù)、支持通過軟件界面或命令行進(jìn)行配置的更改、以及自行兼容不同時鐘域中的應(yīng)用程序。
實(shí)施例四
請參閱圖5,所示為本發(fā)明實(shí)施例所提供的日志配置方法的流程示意圖。
可以理解的是,所述以S4開頭的步驟,與圖4的日志配置方法中相同或相近似,作為實(shí)現(xiàn)本發(fā)明的基礎(chǔ)步驟;以S5開頭的步驟,為本實(shí)施例中進(jìn)行優(yōu)化而增加或改進(jìn)的。其中,各步驟的執(zhí)行,以出現(xiàn)的順序?yàn)闇?zhǔn),除非另有指定。
所述日志配置方法,包括:
在步驟S501中,設(shè)置日志通道的個數(shù),并依據(jù)所述定義獲取所對應(yīng)的應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號。
可以理解的是,所述日志通道可以是固定的,也可以是通過日志系統(tǒng)或配置方法進(jìn)行修改的。
在步驟S401中,接收指定指令,并從多個應(yīng)用程序中指定若干應(yīng)用程序。
其中,具體包括:(1)將每個應(yīng)用程序與日志組織單元一一對應(yīng);以及(2)接收所述指定指令,獲取所述指定應(yīng)用程序中的時鐘信號和日志數(shù)據(jù)信號。
在步驟S402中,接收來自所述多個應(yīng)用程序的時鐘信號和日志數(shù)據(jù)信號。
在步驟S502中,將所接收的時鐘信號進(jìn)行同步,以生成同步的日志數(shù)據(jù)信號。
在步驟S503中,在每一日志通道中,接收所述日志通道對應(yīng)的指定應(yīng)用程序的日志數(shù)據(jù)信號,并根據(jù)預(yù)設(shè)的幀格式對所述日志數(shù)據(jù)信號進(jìn)行標(biāo)記,以生成標(biāo)記數(shù)據(jù)。
在步驟S504中,將所述標(biāo)記數(shù)據(jù)進(jìn)行緩存,以生成緩存數(shù)據(jù)。
在步驟S505中,按照預(yù)設(shè)的時鐘域的時鐘信號對各日志通道中的緩存數(shù)據(jù)進(jìn)行輪詢,以形成日志幀。
在步驟S506中,接收寫信號,并根據(jù)所述寫信號將所述日志幀寫入存儲單元進(jìn)行存儲,以形成日志數(shù)據(jù)。
在步驟S507中,接收讀信號,并根據(jù)所述讀信號從所述存儲單元中接收所述日志數(shù)據(jù)。
本發(fā)明的日志配置方法,通過對多個應(yīng)用程序的時鐘信號進(jìn)行同步,并對其對應(yīng)的日志數(shù)據(jù)信號進(jìn)行輪詢,可以支持不同時鐘域、或不同應(yīng)用邏輯,具有可重用性和靈活性。
本發(fā)明實(shí)施例提供的日志系統(tǒng)及日志配置方法屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見說明書全文,此處不再贅述。
綜上所述,雖然本發(fā)明已以優(yōu)選實(shí)施例揭露如上,但上述優(yōu)選實(shí)施例并非用以限制本發(fā)明,本領(lǐng)域的普通測試人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動與潤飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求界定的范圍為準(zhǔn)。