• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>浙江大學專利>正文

    基于TC1767平臺的CSA節點管理器的實現方法技術

    技術編號:8593829 閱讀:275 留言:0更新日期:2013-04-18 06:58
    本發明專利技術涉及微控制器的操作系統,公開了一種基于TC1767平臺的CSA節點管理器的實現方法,包括以下具體步驟:為每個任務分別建立CSA鏈表,所述任務與所述CSA鏈表之間一一對應,所述CSA鏈表包括FCL和PCL;切換所述CSA鏈表為當前CSA鏈表以實現任務切換。本發明專利技術的優點在于,通過建立和引入CSA節點管理器,在TC1767芯片上實現了多任務切換和處理,任務切換迅速,具有較高的應用價值。

    【技術實現步驟摘要】

    本專利技術涉及微控制器的操作系統,特別涉及一種基于TC1767平臺的CSA節點管理器的實現方法
    技術介紹
    TC1767型芯片為英飛凌公司開發的一款基于TriCore架構的汽車用32位微控制器(MCU),TC1767可作為汽車的核心CPU使用。TriCore架構使用鏈表結構的CSA(ContextSave Area,上下文保存區域)作為保存上下文的區域,以實現中斷、陷阱以及函數調用時產生的上下文切換。由于芯片本身的限制,現有的運行于TC1767芯片上的操作系統,還無法實現任務的切換,以及多任務的處理。
    技術實現思路
    本專利技術針對現有基于TC1767芯片的操作系統無法進行任務切換和多任務處理的缺點,提供了一種通過在現有操作系統中建立和引入一個全新的CSA節點管理器的方法來實現任務切換功能的基于TC1767平臺的CSA節點管理器的實現方法。為實現上述目的,本專利技術可采取下述技術方案 基于TC1767平臺的CSA節點管理器的實現方法,包括以下具體步驟為每個任務分別建立CSA鏈表,所述任務與所述CSA鏈表之間——對應,所述CSA鏈表包括FCL和PCL ;切換所述CSA鏈表為當前CSA鏈表以實現任務切換。作為優選,所述為每個任務分別建立CSA鏈表的步驟在TC1767上電后,第一個任務啟動之前立即執行。作為優選,在所述建立CSA鏈表的過程中,保留一定數目的節點,所述保留的節點數目由SYS_START_USED確定。作為優選,還包括,在所述任務第一次執行前對所述CSA鏈表進行初始化,具體步驟為1)將所述任務的PCL的所有節點插入所述任務的FCL中;2)從FCL中取出兩個節點分別為第一節點和第二節點,所述第一節點作為上部上下文儲存區域,將所述任務的堆棧指針的值寫入所述第一節點的SP子域,所述第二節點作為下部上下文儲存區域,將所述任務的入口地址寫入所述第二節點的RA子域;3)將所述第一節點以頭插法插入所述PCL ;4)將所述第二節點以頭插法插入所述PCL。作為優選,所述CSA鏈表的節點數目為預設值。作為優選,還包括,在所述任務的FCL耗盡后,增加所述CSA鏈表的節點數目。作為優選,所述任務包括IDLE任務。作為優選,所述任務的TCB包括以下成員變量TPcxCur、TFcxCur> TPcxOrig、TFcxOrig、TLcxOrig,所述成員變量用于保存所述CSA鏈表的句柄,其中,TPcxCur用于保存當前PCL的首節點地址,TFcxCur用于保存當前FCL的首節點地址,TPcxOrig用于保存初始PCL的首節點地址,TFcxOrig用于保存初始FCL的首節點地址,TLcxOrig用于保存初始FCL的尾節點地址。本專利技術由于采用了以上技術方案,具有顯著的技術效果 引入了一個新的CSA節點管理器,該CSA節點管理器是由每一個任務的CSA鏈表以及對這些CSA鏈表的切換或者其他處理步驟所組成的,由于CSA節點管理器的引入,在基于TC1767平臺的操作系統上實現了任務切換。任務切換的功能是通過切換與任務相對應的CSA鏈表所實現的,而切換CSA鏈表只需要修改TC1767芯片中的上下文寄存器即可實現,因此切換過程所消耗的CPU周期較少,CSA鏈表切換十分迅速。附圖說明圖1為所述CSA鏈表的結構示意圖。具體實施例方式下面結合實施例對本專利技術作進一步的詳細描述。實施例1 基于TC1767平臺的CSA節點管理器的實現方法,使用基于TriCore架構的TC1767芯片,TriCore架構使用鏈表結構的CSA節點。每個CSA節點都是16字的內存區域,16字對齊。每個CSA節點剛好可以保存一個上部或者下部上下文。CSA節點通過一個鏈接字首尾鏈接形成CSA鏈表。鏈接字有2個域4位的段索引和16位的偏移量,可以通過這兩個域來生成下一個CSA的EA。每個段可以用作CSA的區域是4MB,所以可有216個CSA節點。CSA鏈表的結構如圖1所示,此外,TC1767芯片還包括3個上下文管理寄存器,分別為FCX、PCX和LCX,其中,FCX寄存器指向可用的空閑上下文鏈表(FCL :Free Context List),即保存FCL首節點的地址,PCX寄存器指向已使用的非空閑上下文鏈表(PCL Previous ContextList),即保存PCL的首節點的地址,LCX寄存器保存FCL尾節點的地址。所述的CSA節點管理器通過以下具體步驟實現為每個任務分別建立CSA鏈表,更進一步的,所述任務也包括IDLE任務,即系統的空閑任務,所述任務與所述CSA鏈表之間一一對應,所述CSA鏈表包括FCL和PCL ;切換所述CSA鏈表為當前CSA鏈表以實現任務切換。為每個任務分別建立CSA鏈表的代碼實現如下,函數initAlITaskCSAs O負責為包括IDLE任務在內的所有任務建立CSA鏈表,以下代碼也可以在TC1767啟動后,第一個任務之前立即執行。此時,在執行時,需要保留一部分的CSA節點,這部分保留的CSA節點即可以用于FCL的節點耗盡后,增加FCL的節點數目,同時,由于在第一個任務被執行之前,也會隨機執行代碼,需要為這些代碼保留一部分的CSA節點。保留的CSA節點的數目由SYS_START_USED確定,SYS_START_USED的值可以在源代碼中設定或者在操作系統啟動時從相應的配置文件中讀取boolean initAllTaskCSAs O{ int csaldx, taskldx; TaskType curTask; unsignedint cfcx, clcx;unsignedint tCsaCnt; cfcx = _mfcr (FCX) ; /* 獲得 CPU 的 FCX 句柄 */ clcx = _mfcr (LCX) ; /* 獲得 CPU 的 LCX 句柄 */ /*預留一些CSA節點,用于當前代碼到第一個任務啟動的過程*/for(csaIdx = O; csaldx< SYS_START_USED ; csaldx++)/*SYS_START_USED為當前代碼到第一個任務啟動過程中所需要的CSA節點的數目*/{ if (EquelUint32 (cfcx, clcx)) /* 這里會發生 Trap,不會執行到 */ { return FALSE; } cfcx = getCsaLink( getEffectiveAddress ( cfcx ) );/* 獲得下一個CSA節點的有效地址RA,作為當前FCL的句柄*/}curTask = OSTCBTbl; /*獲得任務TCB數組的句柄*/ for (taskldx = O; taskldx< TASK_NUM; taskldx++)/* 為 TCB 數組中的每個TCB循環執行以下代碼,TASK_NUM為TCB的數目*/{ tCsaCnt = curTask->CsaCnt; /*從任務TCB中獲得當前任務配置的CSA節點的數目*/ curTask->TFcxOrig = cfcx; /*初始化這個任務的FCL的句柄*/ curTask->TPcxOrig = 0;/*初始化這個任務的PCL的句柄*/ /*為這個任務分配C本文檔來自技高網...

    【技術保護點】
    一種基于TC1767平臺的CSA節點管理器的實現方法,其特征在于,包括以下具體步驟:為每個任務分別建立CSA鏈表,所述任務與所述CSA鏈表之間一一對應,所述CSA鏈表包括FCL和PCL;切換所述CSA鏈表為當前CSA鏈表以實現任務切換。

    【技術特征摘要】
    1.一種基于TC1767平臺的CSA節點管理器的實現方法,其特征在于,包括以下具體步驟為每個任務分別建立CSA鏈表,所述任務與所述CSA鏈表之間對應,所述CSA鏈表包括FCL和PCL ;切換所述CSA鏈表為當前CSA鏈表以實現任務切換。2.根據權利要求1所述的基于TC1767平臺的CSA節點管理器的實現方法,其特征在于,所述為每個任務分別建立CSA鏈表的步驟在TC1767上電后,第一個任務啟動之前立即執行。3.根據權利要求2所述的基于TC1767平臺的CSA節點管理器的實現方法,其特征在于,在所述建立CSA鏈表的過程中,保留一定數目的節點,所述保留的節點數目由SYS_START_USED 確定。4.根據權利要求1所述的基于TC1767平臺的CSA節點管理器的實現方法,其特征在于,還包括,在所述任務第一次執行前對所述CSA鏈表進行初始化,具體步驟為1)將所述任務的PCL的所有節點插入所述任務的FCL中;2)從FCL中取出兩個節點分別為第一節點和第二節點,所述第一節點作為上部上下文儲存區域,將所述任務的堆棧指針的值寫入所述第一節點的SP子域,所述第二節點作為下部上下文儲存區域,將所述任務的入口地址...

    【專利技術屬性】
    技術研發人員:李紅吳朝暉王旭陽陳浩杰顧宗華
    申請(專利權)人:浙江大學
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV无码一区二区二三区软件| 精品久久久无码人妻字幂| 中文字幕无码视频专区| 无码精品黑人一区二区三区| 人妻少妇乱子伦无码视频专区| 国产精品无码一本二本三本色| 无码内射中文字幕岛国片| 亚洲国产精品无码久久久久久曰| 亚洲中文字幕无码久久精品1| 激情射精爆插热吻无码视频| 日韩一区二区三区无码影院| 国产av无码专区亚洲国产精品| 亚洲一区无码中文字幕乱码| 亚洲精品无码乱码成人| 无码色偷偷亚洲国内自拍| 亚洲va成无码人在线观看| 国产爆乳无码一区二区麻豆| 日韩乱码人妻无码中文字幕视频| 亚洲国产AV无码一区二区三区 | 东京热无码一区二区三区av| 亚洲精品久久无码| 精品欧洲av无码一区二区三区| 亚洲av无码一区二区乱子伦as | 亚洲韩国精品无码一区二区三区 | 免费无码婬片aaa直播表情| 无码精品尤物一区二区三区| 久久亚洲AV无码精品色午夜| 亚洲国产精品成人精品无码区| yy111111电影院少妇影院无码| 国产精品无码久久av不卡 | 成人无码区免费A∨直播| 无码任你躁久久久久久久| 日产无码1区2区在线观看| 五月婷婷无码观看| 一本色道无码道在线| 变态SM天堂无码专区| 一本加勒比hezyo无码专区| 亚洲情XO亚洲色XO无码| 国精品无码一区二区三区在线 | 日韩免费无码一区二区三区| 少妇人妻偷人精品无码视频|