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

嵌入式Linux系統(tǒng)移植開發(fā)-(1)基于Yocto構(gòu)建嵌入式u-boot,內(nèi)核,文件系統(tǒng)

基于Yocto的openEuler Embedded構(gòu)建實(shí)踐

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

【EsDA 應(yīng)用】Modbus RTU Master 轉(zhuǎn) TCP Server

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

評論