两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種嵌入式系統(tǒng)日志收集裝置、記錄系統(tǒng)及方法_3

文檔序號:9432449閱讀:來源:國知局
GM與UART模塊的配置與初始化。RTC模塊為LGM提供時(shí)間戳信息。Log DataRAM為LGM緩存日志數(shù)據(jù)的內(nèi)部緩存空間。Buffer為保存日志數(shù)據(jù)外置buffer。
[0039]Atribute Table,屬性表,記錄了不同屬性日志的處理策略,由CPU_1配置(運(yùn)行過程中可動(dòng)態(tài)改變)。屬性表由多個(gè)相同大小、格式的元素組成。每個(gè)元素與一種日志類別
--對應(yīng)。每個(gè)元素大小為lByte,目前其值有兩種,O或I。為0,表示繼續(xù)處理對應(yīng)的日志,為1,表示直接丟棄對應(yīng)的日志。元素的個(gè)數(shù)為日志類別的個(gè)數(shù)。對于當(dāng)前實(shí)施例,兩種屬性,共4種類別。為每種類別的日志編號,分別為1、2、3與4。
[0040]Map Table,映射表,記錄了每個(gè)類別的日志需要寫到內(nèi)部緩存空間與外置buffer的哪個(gè)子空間。當(dāng)前實(shí)施例中,每個(gè)子空間僅保存一種類別的日志。則內(nèi)部緩存空間與外置buffer被劃分別被分成4個(gè)子空間(子空間依次編號為1、2、3、4)。映射表由多個(gè)元素組成。每個(gè)元素與一種類別的日志(一個(gè)日志類別編號)一一對應(yīng)。每個(gè)元素的取值為某個(gè)子空間的編號。
[0041]LGM的預(yù)處理模塊主要由圖中的ARB (仲裁器)、FIF0及Gather Controller (收集控制器)組成。FIFO用于緩存CPU向LGM發(fā)送的日志數(shù)據(jù)。共兩組FIFO,每個(gè)CPU使用一種FIFO。為每一組FIFO分配一個(gè)FIFO ID。預(yù)處理模塊使用FIFO ID來管理每一組FIFO。ARB為Gather Controller從哪一組FIFO里取數(shù)據(jù)提供仲裁。仲裁策略由CPU_1配置??墒褂米詈唵蔚膔ound-robin策略,即Gather Controller循環(huán)輪流的從FIFO里取數(shù)據(jù)。
[0042]Gather Controller為整個(gè)預(yù)處理模塊的核心模塊,其主要功能為:
從FIFO里獲取日志數(shù)據(jù);
對于不同屬性日志,根據(jù)屬性表的值來確定是否丟棄;
對于需要處理的日志,向日志中插入時(shí)間戳;
將插入時(shí)間戳后的日志數(shù)據(jù)寫到對應(yīng)的Log Data RAM的子空間中;
負(fù)責(zé)Log Data RAM各子空間的管理;
負(fù)責(zé)FIFO狀態(tài)(空或滿)的管理;
LGM的后處理模塊主要由上圖中的BE Controller、SRAM Controller組成。SRAMController負(fù)責(zé)外置Buffer (用SRAM實(shí)現(xiàn))數(shù)據(jù)的讀寫控制。BE Controller為后處理模塊的核心模塊。其主要功能為:
通過SRAM Controller將Log Data RAM的日志數(shù)據(jù)寫到外置buffer中;
通過SRAM Controller將外置Buffer的日志數(shù)據(jù)讀出并送到給UART輸出;
負(fù)責(zé)外置Buffer空間的管理。
[0043]Log Data RAM,用于緩存日志數(shù)據(jù)。按照日志的類別被劃分成多個(gè)子空間。這些子空間被循環(huán)使用,其起始地址、大小信息由CPU_1配給LGM。Gather Controller管理每個(gè)子空間的寫指針,BE Controller管理每個(gè)子空間的讀指針。
[0044]Buffer,用于保存日志數(shù)據(jù)。按照日志的類別被劃分成多個(gè)子空間。這些子空間被循環(huán)使用,其起始地址、大小信息由CPU_1配給LGM。BE Controller管理每個(gè)子空間的讀指針與寫指針。
[0045]具體實(shí)施時(shí),產(chǎn)生日志的CPU需要按照一定的格式構(gòu)造日志數(shù)據(jù)。本發(fā)明將構(gòu)造后的日志數(shù)據(jù)稱為日志消息。日志消息的格式如圖5所示。
[0046]圖5顯示了一條日志消息的內(nèi)容。包含多個(gè)Dword,分為兩部分:Message Head與Message Data。Message Head 包含了如下字段:
Tag:為一條日志消息的唯一標(biāo)記,方便調(diào)試。
[0047]Cnt:指示Message Data總共有多少Dword的數(shù)據(jù)。
[0048]CPU ID:系統(tǒng)為每個(gè)CPU分配了唯一的ID。為日志的一種屬性,用于表示一條日志消息屬于哪個(gè)CPU。每個(gè)CPU ID對應(yīng)一組LGM預(yù)處理模塊的FIFO。一個(gè)CPU ID對應(yīng)一個(gè) FIFO ID0
[0049]Pr1rity:表示日志的優(yōu)先級。為日志的另一種屬性。共有兩種取值:0表示高優(yōu)先級;I表示低優(yōu)先級。具體取值以產(chǎn)生日志的需求定。
[0050]Message Data:為CPU真正需要保存或輸出的日志信息,由多個(gè)Dword組成。
[0051]具體實(shí)施時(shí),ARB采用Round-Robin的方式,為Gather Controller輸出這次要處理的FIFO ID0其運(yùn)行可使用圖6所示的流程說明。
[0052]復(fù)位(包括上電復(fù)位、硬復(fù)位與軟件復(fù)位)時(shí),整個(gè)ARB模塊進(jìn)入初始狀態(tài),模塊內(nèi)各寄存器值被賦成默認(rèn)值。Gather Controller需要去處理FIFO中的日志消息時(shí),會發(fā)獲取此次要處理的FIFO ID的請求給ARB。ARB收到該請求后,計(jì)算所需的FIFO ID。模塊內(nèi)使用寄存器REG_FIF0_ID保存上一次返回給Gather Controller的FIFO ID。計(jì)算FIFO ID的公式為FIFO ID = (REG_FIF0_ID + I) % Mo其中M為系統(tǒng)內(nèi)CPU的個(gè)數(shù)(等于2)。接著,ARB將計(jì)算后得到的FIFO ID返回給Gather Controller,進(jìn)入初始狀態(tài)等待響應(yīng)下一次 Gather Controller 的請求。
[0053]具體實(shí)施時(shí),F(xiàn)IFO可用現(xiàn)成的IP實(shí)現(xiàn)。LGM使用的專門的寄存器來保存FIFO的狀態(tài),以供CPU查詢。
[0054]具體實(shí)施時(shí),RTC為LGM提供時(shí)間戳信息??芍苯訌?fù)用嵌入式系統(tǒng)內(nèi)的timer模塊。
[0055]具體實(shí)施時(shí),Gather Controller可使用FSM實(shí)現(xiàn)圖7所示流程的功能。
[0056]在整個(gè)模塊開始工作時(shí),CPU_1需要完成屬性表與映射表,Log Data RAM各子空間的配置(包括大小、起始地址)。復(fù)位時(shí),整個(gè)模塊進(jìn)入初始狀態(tài)。該模塊首先向ARB發(fā)送請求以獲得本次需要處理的FIFO ID0得到FIFO ID后,判斷對應(yīng)的FIFO是否有日志消息。若無,貝lJ回到初始狀態(tài),開始下一次處理。若有,貝lJ讀取日志消息的Head,根據(jù)Message Head中Cnt字段的值從FIFO讀完整個(gè)日志消息。根據(jù)Message Head中的屬性字段,訪問屬性表得到該日志消息的處理策略。假設(shè)屬性字段值為2,則訪問屬性表的第二個(gè)元素的值。若值為1,即需要丟棄,則回到初始狀態(tài)開始下一次處理。若值為0,需繼續(xù)處理,根據(jù)RTC的值在日志消息后面添加時(shí)間戳(SBytes),如圖8所示。
[0057]再根據(jù)屬性,訪問映射表獲得與該條日志數(shù)據(jù)對應(yīng)的Log Data RAM子空間的編號,進(jìn)而或取對應(yīng)子空間的狀態(tài)。若空間不足(不能保存整條日志數(shù)據(jù)),則等待有足夠的空間可用。若足夠,則將日志數(shù)據(jù)寫到子空間,同時(shí)更新子空間的寫指針。至此,預(yù)處理模塊完成了一條日志消息的處理,進(jìn)入初始狀態(tài),開始下一次處理。
[0058]對于后處理模塊,具體實(shí)施時(shí),SRAM Controller可使用現(xiàn)有的IP。
[0059]具體實(shí)施時(shí),BE Controller使用FSM實(shí)現(xiàn)圖9 (a)和圖9 (b)所示流程的功能。
[0060]對于BE Controller,主要功能是完成日志數(shù)據(jù)的保存(將
當(dāng)前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
新沂市| 和田县| 安宁市| 盈江县| 琼海市| 枣阳市| 如东县| 克拉玛依市| 都安| 桑植县| 正阳县| 长治县| 临桂县| 青冈县| 荃湾区| 新邵县| 法库县| 新津县| 沛县| 龙井市| 乐至县| 上虞市| 息烽县| 鸡西市| 德令哈市| 颍上县| 民权县| 常德市| 乃东县| 会昌县| 苏州市| 榕江县| 安丘市| 东源县| 石城县| 温州市| 宣化县| 于都县| 凉山| 东阳市| 申扎县|