西門子三明PLC模塊總代理
μC/OS-II核心代碼很小,程序開發人員要把它移植到自己的目標板中只需做少量的工作。圖1是μC/OS-II硬件和軟件的體系結構。 雖然μC/OS-II大部分源代碼是用C語言寫的,但是完成和處理器一些有關的代碼時,還是必須要用匯編語言來實現的。寄存器的讀、寫只能通過匯編語言的存儲和加載指令來實現。要使μC/OS-II能夠正常工作, 處理器必須滿足以下要求: ① 處理器的C編譯器能產生可重入代碼; ?、?用C語言可以打開和關閉中斷; ?、?處理器支持中斷,并且能夠產生定時中斷(通常在10~100Hz之間); ?、?處理器能夠支持容納一定量數據的硬件堆棧; ?、?處理器有將堆棧指針和其它寄存器讀出和存儲到堆?;騼却嬷械闹噶?。 μC/OS-II的移植包括以下幾個部分。 (1)設置與編譯器有關的代碼[OS_CPU.H]
{ mrs r0, CPSR; stmfd sp!, ; orr r0, r0, #NOINT; msr CPSR_c, r0; } #define OS_EXIT_CRITICAL() IRQFIQRE #define IRQFIQRE __asm { ldmfd sp!, ; msr CPSR_c, r0; } #Endif (2)編寫4個匯編語言函數[OS_CPU_A.S] μC/OS-II的移植實例要求用戶編寫4個簡單的匯編語言函數: OSStartHighRdy() OSCtxSw() [NextPage] OSTaskDelHook() OSTaskSwHook() OSTaskStatHook() OSTaskTickHook() 這6個函數只對OSTaskStkInit()編寫代碼,后5個函數必須聲明,但是內部并沒有代碼。OSTaskCreate()和OSTaskCreateExt()通過調用OSTaskStkInit()來初始化任務的堆棧結構。這個函數的移植代碼,可參考文獻[3]。 3 測試、編寫驅動和應用程序 做完以上工作以后,就要測試移植的是否正確。測試一個μC/OS-II實時內核并不復雜,就是讓這個實時內核在自己的目標板上跑起來。開始時,可以運行一些簡單的任務和時鐘節拍中斷任務,如果調試成功就可以在上面添加應用程序。 μC/OS-II移植完成以后,就要在這個實時內核之上編寫接口驅動程序。由于嵌入式操作系統體積更小,功能更強,且快速、穩定,更具有針對性,因此不像其它操作系統那樣,對系統的所有接口設備都需要驅動、管理、調度和監視。由于嵌入式產品是針對特殊的用途而設計的,有很強的專一性,因此,在編寫驅動程序時內容更精簡,更具有穩定性,編寫出的驅動模塊更小。編寫驅動程序應完成以下基本功能:①對設備初始化和釋放;②把數據從內核傳送到硬件和從硬件讀取數據;③讀取應用程序傳送給設備文件的數據和回送應用程序請求的數據;④檢測和處理設備出現的錯誤。實現了以上功能以后,一個嵌入式操作系統就基本構成了。 完成了μC/OS-II的移植和驅動程序的編寫以后,利用操作系統提供的API函數編寫應用程序,調用μC/OS-II中與應用程序相關的系統服務。調試通過后,固化到目標板上,這個嵌入式應用軟件就完成了 西門子CP 5611 A2 可在不同的軟件包下進行操作,并允許用戶通過 PROFI-BUS 和多點接口(MPI)執行編程設備的功能和 PC 函數。 每臺編程器或PC上只能使用一個通訊處理器。 每個CP 只能使用一個相同的協議 (PROFIBUS DP, S7 通訊或者 FDL)。 下面的軟件包支持 CP 5611 A2: STEP 7 V3.2 及以上; CP 5611 A2 驅動程序在供貨 STEP 7 范圍之內 。 SOFTNET-S7 V3.2 及以上 使用該軟件包,S7 編程接口 SOFTNET-DP V3.2 及以上 CP 5611 可用作帶這種軟件包的 Class 1 或 2 PROFIBUS DP主站。 SOFTNET DP V3.2 及以上 用于使用 CP 5611 作為 PROFIBUS DP 從站。 COM PROFIBUS V3.3 及以上; 使用本軟件包,CP 5611 A2 可用于PROFIBUS DP系統的調試或診斷(DP在線功能。) STEP 7-Micro/WIN V2.1 及以上; 用作 SIMATIC S7-200 的編程軟件的硬件基礎。 ProTool,ProTool/Pro; CP 5611 A2 可用作所有 SIMATIC 操作員面板,觸摸屏和文件顯示等組態工具的硬件基礎 NCM PC; RS485總線連接器 用于將 PROFIBUS 節點連接到 PROFIBUS 總線電纜 安裝方便 FastConnect 插頭采用絕緣刺破連接技術,可確保極短的組裝時間 集成端接電阻 (6ES7 972-0BA30-0XA0 中不具有) 通過帶 Sub-D 接口的連接器可以連接編程器,無需額外安裝網絡節點 用于 PROFIBUS 的 RS485 總線連接器,可用于連接 PROFIBUS 節點或 PROFIBUS 網絡部件到 PROFIBUS 總線電纜。 提供有各種類型的總線連接器,可優化用于連接的設備:
|