13.8 Modbus TCP Server程序開發
源碼為:
解壓后,源碼為“modbus_server_tcp.c”,它模擬一個Modbus TCP傳感器。源碼的講解請參考《11.7 Modbus TCP編程與實驗》。
當前臺程序、MQTT程序使用RPC接口讀寫Modbus TCP傳感器時,后臺程序(控制中心)發出的Modbus TCP請求將到達“modbus_server_tcp”。
第14章 系統構建
14.1 Yocto系統簡述
14.1.1 Yocto框架介紹
THE YOCTO PROJECT. IT'S NOT AN EMBEDDED LINUX DISTRIBUTION,IT CREATES A CUSTOM ONE FOR YOU.(YOCTO項目:他不是一個嵌入式Linux發行版,是一個專門創建屬于你的自定義系統?。?/p>
Yocto項目(YP)是一個開源協作項目,可幫助開發人員創建基于Linux的定制系統,無論硬件架構如何。該項目提供了一套靈活的工具和空間,全世界的嵌入式開發人員可以共享技術、軟件堆棧、配置和最佳實踐,這些技術、軟件堆棧、配置和最佳實踐可用于為嵌入式和物聯網設備或任何需要定制Linux操作系統的地方創建定制的Linux映像。
?Poky:Poky有兩個含義。第一個含義是用來構建Linux的構建系統,值得注意的該Poky僅僅是一個概念,而非一個實體:它包含了BitBake工具、編譯工具鏈、BSP、諸多程序包或層,可以認為Poky即是Yocto的本質;此外Poky還有另外一層意思,使用Poky系統得到的默認參考Linux發行版也叫Poky(當然,我們可以對此發行版隨意命名)。Poky的兩個含義千萬不能混淆。
?Metadata:元數據集,所謂元數據集就是發行版內各基本元素的描述與來源。
Recipes:.bb/.bbappend文件,配方文件,描述了從哪獲取軟件源碼,如何配置,如何編譯。bbappend和bb的區別主要在于bbappend是基于bb的,功能是對相應的bb文件作補充和覆蓋,有點類似于“重寫”的概念。
Class:.bbclass文件。
Configuration:.conf文件,即配置文件,我們可以用它來改變構建方式。
?Layers:即各種meta-xxx目錄,將Metadata按層進行分類,有助于項目的維護。
?Bitbake:一個任務執行引擎,用來解析并執行Metadata。
?Output:即各種輸出image。
總結:
假如用烹飪一桌酒席來形容構建發行版,則Yocto就是飯店名,Poky就是廚房(以及提供作為參考的菜的搭配套餐),Metadata就是烹飪資源(.bb/.bbappend表示配方/配方上的貼士,.conf表示廚房里的管事的小組長),Layers就是菜譜的分類(如川菜譜、粵菜譜),Bitbake就是廚師,Output就是得到的一桌酒席。
下圖介紹了Yocto POKY參考示例的整個框架,其中POKY是一個YoctoProject的參考發行版。它包含OpenEmbedded構建系統(BitBake和OpenEmbedded Core)以及一組meta,可幫助您開始構建自己的發行版。要使用Yocto項目工具,您可以下載Poky并使用它來引導您自己的發行版。請注意,Poky不包含二進制文件。
14.1.2 Yocto構建流程
下圖是Yocto-Project項目的一個完整的構建嵌入式工作流,以右上角顏色說明塊來閱讀此圖,分別從各種Metadata元數據(系統源碼配置軟件包配置板級包支持等)以及上面黃色區域是專門的針對于各個構建工程部分所需的源碼獲取,包含了各種協議下載方式,把下載下來所需的源碼保存起來,之后通過淡藍色Build System來分別處理不同的源碼和元層軟件包同時進行構建,最后輸出不同鏡像以及多種格式軟件包,SDK系統鏡像等。為了方便理解,我這里專門使用紅字和紅色箭頭進行簡單說明。
如果您對yocto很感興趣,想深入學習使用可以直接訪問官方提供的使用教程(您可復制下方鏈接至瀏覽器,或掃描二維碼查看),在這個頁面內,官方針對于整個yocto做了非常詳細的圖文教程,可以參考下圖Manuals手冊下不同章節后面紅字描述來選擇合適的篇幅進行閱讀學習。
-
傳感器
+關注
關注
2567文章
53026瀏覽量
767789 -
嵌入式
+關注
關注
5152文章
19678瀏覽量
317779 -
MODBUS
+關注
關注
28文章
2127瀏覽量
79630 -
TCP
+關注
關注
8文章
1402瀏覽量
81106
原文標題:Modbus TCP Server程序開發與Yocto系統構建——RZ MPU工業控制教程連載(56)
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
飛凌全志T527開發板modbus移植使用教程
特別著急:modbus i/o server failed to connect to the modbus ethernet slave
Modbus TCP轉Modbus RTU的實現
Modbus庫開發筆記之九:利用協議棧開發Modbus TCP Server應用
如何快速實現Modbus RTU和Modbus TCP協議轉換?
使用Yocto映像構建synaptics 4375驅動程序失敗怎么解決?
Zybo board 開發記錄: 使用Yocto建立系統
利用Yocto構建嵌入式Linux教程01--第一個Yocto項目構建

嵌入式Linux系統移植開發-(1)基于Yocto構建嵌入式u-boot,內核,文件系統

基于Yocto的openEuler Embedded構建實踐

Yocto三大關鍵組件及優缺點
S7-300/400集成PN口 MODBUS TCP通訊(TIA)
AT32講堂023 | AT32 MCU TCP client與TCP server如何與PC端通信

【EsDA 應用】Modbus RTU Master 轉 TCP Server

淺談S7-300 CPU集成PN口配置的Modbus TCP通訊技術

評論