




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
μC/OS-II在DSPFlash儲存器中運轉的要點問題朱愛軍,戴群亮(1.桂林電子科技大學電子工程學院,廣西壯族自治區桂林市541004;2.廣西柳工機械股份有限企業,廣西壯族自治區柳州市545007)0引言在作為國家863計劃子項目發掘機智能化控制系統的開發中,出現了智能化發掘機軌跡控制系統不依據早先設定好的軌跡運轉和嵌入式及時多任務操作系統μC/OS-Ⅱ調動雜亂等失控問題。該智能化系統中采納了μC/OS-Ⅱ,經過位移傳感器及時收集發掘機的鏟斗、斗桿和動臂等3路角度信號,經過朱愛軍,戴群亮(1.桂林電子科技大學電子工程學院,廣西壯族自治區桂林市541004;2.廣西柳工機械股份有限企業,廣西壯族自治區柳州市545007)前言在作為國家863計劃子項目發掘機智能化控制系統的開發中,出現了智能化發掘機軌跡控制系統不依據早先設定好的軌跡運轉和嵌入式及時多任務操作系統C/OS-Ⅱ調動雜亂等失控問題。該智能化系統中采納了μC/OS-Ⅱ,經過位移傳感器及時收集發掘機的鏟斗、斗桿和動臂等3路角度信號,經過算法例劃路徑驅動液壓比率閥實現平行推動、鏟斗發掘等典型作業。本文主要針對課題碰到的問題,要點論述μC/OS-Ⅱ在芯片內Flash儲存器運轉時要點問題的剖析與解決方法。1μC/OS-Ⅱ在Flash儲存器中的運轉1.1μC/OS-Ⅱ的特色與功能C/OS-Ⅱ是一個及時多任務的嵌入式操作系統,它采納可剝奪型內核。全部的任務都有優先級,多任務之間優先級高的能夠中止履行中的低優先級任務而優先履行。它的特色主要有:公然源代碼、可移植性、可固化、可裁汰、支持多任務、擁有可確立性等。μC/OS-Ⅱ是鑒于優先級搶占式的及時多任務操作系統,包括了及時內核、任務管理、時間管理、任務間通訊同步(信號量、郵箱、信息行列)和內存管理等功能。1.2要點問題在達成了智能控制軟件后,就是將之嵌入到μC/OS-Ⅱ系統中。碰到的主要問題是移植好的μC/OS-Ⅱ源代碼在聞亭的目標板上在線仿真時,把.out文件下載到RAM中能正常履行,可是用CCS燒寫到Flash儲存器中就不可以正常履行,出現智能化發掘機軌跡控制系統不依據早先設定好的軌跡運轉和μC/OS-Ⅱ及時多任務調動雜亂等失控問題,特別是在課題的后期查收階段問題尤其棘手。1.3原由剖析程序固化的要點問題是怎樣在程序儲存器中分派儲存空間給常量和用const要點字定義的靜態、全局變量。經過認真研究,發現與TI的C編譯器功能有關。CCS的編譯器依據標準C,沒有對FlashROM中常數數據進行直接接見的功能。所以一定讓const段的常量數據在RAM中。實現這一條件的方法有3種:方法1:解決μC/OS-Ⅱ在Flash中運轉的方法,采納去除const要點字,在程序中賦初值使用,并且需要在.cmd文件中將.cinit段分派到程序區Flash儲存空間,而后在編譯器的編譯選項中選中“-C”,即ROM初始化(C編譯器默認就是這樣的)。方法2:不對定義作改正,.const段保存在Flash儲存器中,數據不向數據儲存器挪動,程序運轉時直接在程序儲存空間中接見這些量。因為c語言缺少接見程序區數據的有效手段,所以這些語句只好使用匯編語言編寫。因為在每一處接見這些常量時都一定使用這些語句,所以這樣編寫程序變動量較大。方法3:不需要改正常量定義,也不用編寫特意的程序,主要的工作是改正.cmd文件并對工程中使用的庫文件作簡單的改正,改正工作量小并且集中,極大地方便了程序的編寫。較以前兩種方法,這類方法運用起來要方便得多。要點問題的解決與實現以下分別介紹方法1和方法3的詳細實現。2.1方法1解決μC/OS-Ⅱ在Flash儲存器中運轉的方法,即去除const要點字,在程序中賦初值使用,以μC/OS-Ⅱ的改正為例:問題的發現C/OS-Ⅱ的程序燒寫到Flash中的問題,剛開始思疑是分派儲存器的cmd文件有問題,而后有關的又想到程序的大小問題,特別是在咨詢聞亭的技術人員見告大于1kB的程序要分開燒后,甚至思疑聞亭的仿真器和開發板。此后實驗使用合眾達的板子是相同的成效,并且發現不帶μC/OS的大小程序都能正常履行,基本清除了程序大小的問題以及硬件問題。此后經過對μC/OS系統任務調動前加LED函數,發現:直到多任務調動前都能正常履行,開始多任務調度后就出了問題。到這里確立問題出在μC/OS-Ⅱ上,可是μC/OS-Ⅱ的移植是其余人員做的,其余自己沒有做過嚴格測試,也沒有燒到Flash儲存器中運行過,對整個課題產生致命的影響。最后課題組剖析了程序在Flash儲存器中運轉與在RAM中運轉的實質差別,提出一個重要的建議:可能有系統需要的常量定義在擴展RAM區了,當掉電后,RAM區的內容沒有了,常量也就沒有了,影響了系統的運轉。經過查察工程的cmd文件和編譯輸出的map文件,發現的確有系統內核的常量放在8000h此后的擴展RAM區。見下邊map文件引用:而后在OS_CORE.C中找到了常量的地點,分別是掩碼表:INT8UconstOSMapTbl[]和任務優先級判斷表:INT8UconstOSUnMapTbl[]經過實驗發現,燒寫程序到Flash儲存器中以后,假如不關電源,而直接拔掉USB,從Flash儲存器指引,復位后程序能正常履行,可是關電后就不可以了。經查察,Flash儲存器燒寫過程是先將程序裝載到RAM,再搬移到Flash儲存器中,所以不掉電全部程序都在RAM中有保存,可是程序確能從Flash儲存器指引。這樣,就確立了的確是這些常量放在RAM中惹起的。可是其實不像開始想象的那樣,把常量直接定義在Flash儲存器區就能解決,但能夠經過程序賦值來初始化這些常量,而不經過編譯來初始化,這是一個不必定最好但很有效的辦法。改正方法依據上邊的思路,對μC/OS作了以下3處改正:a)OS_CORE.C文件中上邊兩個數組的上邊的初始化定義改為下邊兩個初始化函數:對μC/OS-Ⅱ.H函數進行改正:將外面變量弓用的定義在主程序的main( )函數中的多任務調動函數履行前調用前面的兩個初始化函數,以下:此方法用一句話總結,就是將常量定義成變量,以賦值語句的方式初始化到RAM中。2.2方法3:改正數據段的定位方式和庫函數這類方式除了要改正.const段的裝載地點和運轉地點外,還要對CCS自帶的初始化函數進行改正。可是這類方法是一勞久逸的。對.const段的改正以下:即采納了裝載地點與運轉地點分別的方式,將.const載入ROM段,而運轉時在RAM區。為了使程序正常運轉,在初始化時,需要將.const段的內容從裝載地點拷貝到運轉地點內。這段程序能夠在編譯時由編譯器自動生成。這還需要對軟件所使用的庫文件作簡單的改正。該庫名稱即是rts.lib(表示不一樣種類的DSP,有2xx、25、50等)。改正該庫的方法是將源文件從庫中提拿出來進行改正,編譯后再代替原有的文件。詳細操作以下:將庫函數rts2xx.lib、源文件rts.src、兩個工具函數dspar.exe和dspa.exe找到,放在贊同個目錄下,翻開ms_dos命令窗。履行DOS命令:這句的功能是從rts.src文件中提拿出boot.asm文件。這個rts.src即是rts.lib的源文件。在boot.asm文件中能找到CONST_COPY這個標記量,為了實現所需要的功能,它應被賦值為1。對boot.asm文件的編寫達成以后,就能夠將其編譯生成目標文件,履行語句:此中關于不一樣的DSP需要使用不一樣的參數,關于240xA來說,應當使用2xx來取代“”。語句履行完后會生成boot.obj文件。再履行語句:這時它就代替了庫里的同名文件。在編譯時編譯器就會自動增添拷貝.const段到數據空間的語句。這類方法不用改正程序,代價是犧牲了必定的數據儲存空間,時間開支主要出此刻初始化中。這應當是最經濟適用的方法。結束語對常量辦理的3種方法中,第方法1和方法3相對較簡單實現。此中方法1對于自己編寫的少許代碼改正起來比較方便,可是假如碰到庫函數頂用到.const的狀況,就需要像第方法3相同提取庫函數中的代碼,來改正這個庫函數,在發掘機軌跡控制程序頂用到atan函數就是這類狀況。這類做法對每個這樣的函數都要履行相同的操作,明顯不是最正確解決方法。方法3固然一定改正cmd文件和庫文件,可是它
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河工團員考試題及答案
- 人社政策課件
- T/CAEPI 41-2022在線水質熒光指紋污染預警溯源儀技術要求
- ecfhnAAA一年級下冊美術教學工作總結模版
- 幼兒園第33個愛國衛生月實施綱要
- 中通物流承包合同范本
- 創業類項目合伙人協議書
- 房屋遺產繼承合同范本
- 單位公用車輛出租協議書
- 家庭兄弟財產管理協議書
- 中班語言學習活動優化計劃
- 2025年下半年華電金沙江上游水電開發限公司校園招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 玻璃體積血的治療
- 2025年貨物購銷合同范本
- 2025年教育管理與政策研究考試試題及答案
- 2025屆北京市北京一零一中學生物七下期末質量檢測試題含解析
- 2025Q1 BrandOS出海品牌社媒影響力榜單-OneSight
- 2025陜西延安通和電業有限責任公司供電服務用工招聘103人筆試參考題庫附帶答案詳解
- 《生成式人工智能職業技能評估規范》
- 頒獎禮儀隊培訓體系
- 2025年新媒體運營專員面試題及答案
評論
0/150
提交評論