老熟妇,老熟女chese老熟女,亚洲AV中文无码字幕色三,超碰欧美

淺談Marlin2.0 

2020-08-17 15:54
簡介:
marlin固件發(fā)展至今已經(jīng)形成了三個(gè)比較重大的版本:1.0版,1.1版,2.0版。
我接觸marlin固件已經(jīng)有一段時(shí)間了,原來一直對于marlin固件的結(jié)構(gòu)和應(yīng)用平臺(tái)一直不是很理解:為什么marlin固件要做的這么臃腫(包含許多單片機(jī)平臺(tái)并包含許多機(jī)器結(jié)構(gòu)),而且要用在arduino的8位單片機(jī)平臺(tái)?
  • 對于第一個(gè)問題我從marlin源代碼頁面下的說明中找到了答案:保持兼容性和單一代碼庫對我們很重要,因?yàn)槲覀円_保功能和補(bǔ)丁得到盡可能多的測試和關(guān)注,并且所有平臺(tái)都始終受益于最新改進(jìn)。如果要建立多套代碼維護(hù)便會(huì)變得異常不方便。(對于這個(gè)問題的產(chǎn)生的緣由可能是我一直想深入學(xué)習(xí)marlin固件的內(nèi)部代碼機(jī)制,又苦于看不懂源碼產(chǎn)生的吧!)。
  • 對于第二個(gè)問題我想一直在使用arduino的人一定會(huì)深有感觸:Arduino建立的一個(gè)很完善的生態(tài)非常便利于開發(fā)。
最初marlin1.0,1.1固件主要應(yīng)用在基于arduino的單片機(jī)上,主要工作在于修復(fù)bug添加新功能,工程結(jié)構(gòu)不是很清晰。marlin1.0,1.1版本雖然已經(jīng)成為了歷史,但還是很有學(xué)習(xí)的價(jià)值的。如果想深入研究marlin工作機(jī)制又沒有很深的C++基礎(chǔ),marlin1.0版本的固件便是一個(gè)很不錯(cuò)的選擇,雖然部分代碼也是用C++寫的,但大多數(shù)代碼都符合C語言寫代碼的思維習(xí)慣。
marlin2.0版本固件經(jīng)歷了bug修復(fù),已經(jīng)有正式版發(fā)布了。官方對2.0版本的固件的介紹很到位:Marlin 2.0通過增加對更快的32位和基于ARM的板的支持,同時(shí)改善了對8位AVR板的支持,將這種流行的RepRap固件提升到了一個(gè)新的水平。
從代碼學(xué)習(xí)者的思維來看marlin2.0固件(for me):真的看不懂!我想看某一塊代碼的實(shí)現(xiàn),各種跳轉(zhuǎn)理不清這塊代碼的思路。
從使用者的角度:太方便了,只需要簡單的配置便可以切換不同的開發(fā)板。
總而言之,marlin2.0固件代碼更抽象了結(jié)構(gòu)更清晰了。大一統(tǒng)的固件雖會(huì)犧牲一些單片機(jī)的性能但既方便了開發(fā)者開發(fā)維護(hù)又方便了用戶配置使用,這點(diǎn)犧牲還是很值得的。

marlin2.0 工程結(jié)構(gòu):
marlin2.0版本通過platformIO IDE更方便使用,我們首先要了解platformIO IDE 這款新的開發(fā)環(huán)境:https://docs.platformio.org/en/latest/what-is-platformio.html
(將這篇文檔過一遍可以對platformIO有整體的認(rèn)識(shí)了解,在后面配置開發(fā)板編譯下載等方面會(huì)有很大的幫助)
marlin2.0版本固件工程結(jié)構(gòu):(platformIO推薦的工程結(jié)構(gòu))
淺談Marlin2.0 (1).webp

src文件夾內(nèi)便是固件的主體內(nèi)容:
淺談Marlin2.0 (2).webp

Marlin 2.0引入了一個(gè)抽象層(HAL),以便可以在32位平臺(tái)上構(gòu)建所有現(xiàn)有的高級(jí)代碼,同時(shí)仍保留完整的8位AVR兼容性。它屏蔽的底層硬件的差異使得marlin固件可以在不用修改底層配置的情況下支持各種類型的開發(fā)板,例如只需在Configuration.h文件中修改主板配置即可完成不同開發(fā)板之間的切換。(當(dāng)然底層還需要有其他庫支持,不過不用擔(dān)心這些都已經(jīng)有現(xiàn)成庫。)
pins文件夾存放了不同開發(fā)板的引腳配置。
core文件夾下的boards.h文件中存放了可選擇的開發(fā)板的類型。
后面如果想自己制作3D打印機(jī)開發(fā)板,針對你的硬件對于固件本身只需修改上述這3個(gè)位置即可(工程配置也需要適當(dāng)?shù)男薷模?br /> 其他文件夾就類似于操作系統(tǒng)上的應(yīng)用層,主要實(shí)現(xiàn)的便是具體的針對不同類型打印機(jī)的3D打印功能。

安裝簡介:
這里簡要介紹marlin的安裝,在后續(xù)的文章中會(huì)有詳細(xì)的配置、編譯、下載教程。要構(gòu)建Marlin 2.0,您需要Arduino IDE 1.8.8或更高版本或PlatformIO。 詳細(xì)的建立安裝說明:

本文系轉(zhuǎn)載,版權(quán)歸原作者所有;旨在傳遞信息,不代表3D打印資源庫的觀點(diǎn)和立場。如需轉(zhuǎn)載請聯(lián)系原作者,如有任何疑問,請聯(lián)系kefu@3dzyk.cn
聲明:3D打印資源庫(3dzyk)內(nèi)網(wǎng)友所發(fā)表的所有內(nèi)容及言論僅代表其本人,并不代表3D打印資源庫(3dzyk)觀點(diǎn)和立場;如對文章有異議或投訴,請联系kefu@3dzyk.cn。
標(biāo)簽:
淺談Marlin2.0 
快速回復(fù) 返回頂部 返回列表
久久久久久久久久久| 欧美啊v| 欧美亚洲日韩另累一区二区三区黑 | h视频在线免费观看| 97黄色网| 亚洲熟女性hd| 国产精品久久久久久久久久网曝门| 00XX视频| 午夜五级生活片| 青青草原视频在线导航| 在线亚洲AV一级毛片| 91香蕉嫩草| 无码精品视频一区| 天堂√在线中文网新版地址在线| 宝贝把腿张开让我爽视频| 欧美精品网站| 亚洲无码精品一区二区三区| 一级大黄片| 亚洲欧美另类一区| 芮城县| 中文字幕欧美精品一区二区三区| 久久精品一区二区三区不卡牛牛| 午夜精品久久18免费观看| 国产男女无遮挡猛进猛出| 国产精品视频二区三区| 人人超碰人人| av天堂婷婷| 亚洲精品国产精品制服丝袜| 欧美玖玖玖玖| 国产精品久久久久精品性色古装 | 乱伦熟女一区二区三区| 午夜av无码| 国产三级在线| 色婷婷国产熟妇人妻露脸| 精品国产色欲无码| 涩爱AV网| 在线亚洲人成电影网站色www| 四虎香蕉| 在线视频波多| 国产一二三视频| 一级国产黄片|